![使用postfix配置邮件通知时有没有办法加密邮件密码?](https://linux22.com/image/1580000/%E4%BD%BF%E7%94%A8postfix%E9%85%8D%E7%BD%AE%E9%82%AE%E4%BB%B6%E9%80%9A%E7%9F%A5%E6%97%B6%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%8A%A0%E5%AF%86%E9%82%AE%E4%BB%B6%E5%AF%86%E7%A0%81%EF%BC%9F.png)
我能够使用 ubuntu 中的 postfix 配置邮件。我按照下面的链接进行操作。 https://documentation.wazuh.com/current/user-manual/manager/manual-email-report/smtp_authentication.html 但是出于安全原因,我想加密 /etc/postfix/sasl_passwd 中的密码。我该如何实现?
答案1
由于 Postfix 充当向另一台服务器进行身份验证的 SMTP 客户端,因此它无法哈希密码——存储必须是可逆的,因为大多数邮件服务器都希望您提供原始的纯文本密码(用于 SASL PLAIN 机制)。
而且由于该过程是可逆的,因此 Postfix 如何加密/解密存储的密码并不重要,任何人都可以根特权用户只需手动重复即可。Root 还可以附加调试器并从 Postfix 内存中提取原始密码。事实上,root 可以简单地让 Postfix 连接到伪造的 SMTP 服务器并让其记录收到的密码。
其他身份验证机制(例如 TLS 客户端证书或 SASL SCRAM)受到大多数相同问题的影响:Postfix 需要访问凭据,因此 root 可以诱骗 Postfix 透露它们。(尽管如果您真的必须这样做,可能可以使用存储在 TPM 或 USB 令牌/智能卡上的客户端证书,这些证书不允许私钥导出,只允许签名。)
因此尽管你能将文件放在加密存储(例如 LUKS 或 EncFS 卷)上,它只会对离线攻击(有人窃取硬盘)有所帮助,但对同一系统上的 root 没有任何帮助。
如果这是服务器,您应该研究如何强化它(例如使用 AppArmor/SELinux),这样其他人就更难获得无限制的 root 访问权限。