如何配置電子郵件服務以提供(接近)零知識?
免責聲明 - 我正在尋找想法,所以我可以看到有些人會開始反對並將其標記為不適合 SF,但是嘿,如果你知道一個更好的地方來問這個問題,那裡有一個評論框,不要只是躲在你的點擊後面。
我有一個與同事和親密客戶共享的小型生產伺服器。我被要求提供電子郵件服務。我想我從來沒有想過這一點,但我驚恐地發現,各種郵箱格式都以明文形式儲存郵件,而且似乎幾乎沒有人非常關心。所以我想,那些花哨的供應商一定在幕後做些什麼。我不一定會想到 ProtonMail,但我猜 Google 確實使用某種形式的加密儲存消息——是的,我意識到這些服務可能已經開發了自己的軟體,但是嘿。所以我開始閱讀,我得到的最接近的是一個相對複雜的 Exim4 設置,涉及一個
transport_filter
帶有每個使用者密鑰對的 GPG。事實是,可能會在伺服器上傳播的消息不會非常機密,而且我的同事和客戶足夠精明,可以在需要時自己使用 GPG。相反,我主要擔心的是這些消息對於任何人都可以以明文形式提供——只要我不是唯一管理伺服器的人,我就會看到這種情況發生,偶爾
cat /var/mail/username
(或其他)會發生。最糟糕的是,消息將以明文形式備份——沒錯,我可以加密備份。正如我所說,我不想提供類似質子郵件的服務,我只是在尋找能夠為粗心的管理員提供某種形式的煙幕的東西。特別是,在傳輸過程中需要某種形式的明文,例如防病毒和反垃圾郵件。但是,如果您對更安全的事情有令人信服且簡單的解決方案,我願意接受所有建議。
我只是在尋找能夠為粗心的管理員提供某種形式的煙幕的東西。
簡短的回答:不,你不能。
如果您與管理員打交道,第一個、最後一個也是唯一一個防禦就是端到端加密。所以GPG就是答案。
誰擁有伺服器的 root 訪問權限(應該)擁有它,因為他們需要它,並且可能知道如何配置服務(以便在出現問題時維護它們或修復它們)。
因此,如果您設置了一些具有 root 權限的混淆,可能知道這種混淆是如何進行的並且知道如何解碼消息,所以:
- 它沒有添加任何有效的安全層
- 營造虛假的安全感
安全系統的安全性取決於其秘密。謹防偽秘密。
(埃里克雷蒙德 -大教堂和集市)
相反,您應該明智地選擇 WHO 擁有管理員憑據:
- 他們真的需要他們嗎?
- 對某些特定命令的適當有限 sudo 訪問就足夠了?
其他解決方案:
所有傳入郵件的自動 GPG 加密
親:
- 讓 IMAP 郵箱受到窺視者的保護
- 即使被盜,數據也是安全的
缺點:
- 需要正確配置的客戶端來閱讀郵件(無網路郵件訪問權限)
- 客戶必須同意,提供他們的公共 GPG 密鑰並配置他們的郵件客戶端(需要技術技能)
- 發件人、收件人、主題和所有標頭均未加密(客戶必須注意)
- 需要一些工作伺服器端和驗證客戶公鑰的正確方法
- 消息以明文形式出現在您的伺服器上,因此可以在 GPG 加密之前被竊聽
伺服器上的全盤加密
親:
- 如果伺服器或磁碟被盜/沒收,可以確保數據安全
- 完全透明,無需特別配置郵件伺服器或其他服務
缺點:
- 沒有管理員保護或伺服器被黑客入侵
- 每次啟動時都需要輸入密碼(如果只有數據分區被加密,則通過 SSH 或通過 KVM),並且您必須信任該通道。
- 您將獲得較低的 i/o 性能
端對端加密的使用
親:
- 最安全的方式,即使您無法訪問這些數據
缺點:
- 客戶必須這樣做,客戶聯繫的人必須是正確的
- 為了安全起見,必須對所有進出郵件進行處理,關於所有線上服務發送未加密的郵件(歡迎郵件、密碼更改郵件、通知等)