和兼容性级别=2在最近的 Postfix 版本中,Postfix 守护进程的默认设置从 chroot 更改为 non-chroot。虽然该页面描述了它的变化以及您可以采取哪些措施来继续使用 chroot 或停止使用它,但没有给出原因。
他们为什么要更改默认值?不使用 chroot 运行它有什么好处吗?
答案1
如果你下载 Postfix 源代码并检查文件HISTORY
,你会看到这个更改是在 2014 年 10 月 1 日进行的(快照 20141001):
master.cf 的新默认值为
chroot
(n)、append_dot_mydomain
(no) 和smtputf8_enable
(yes)。
这对应的 git commit显示了当时对源代码和文档所做的所有更改。遗憾的是,几乎没有解释更改此默认设置的原因。
正如你已经注意到的,Postfix 向后兼容安全网指出
新的默认设置避免了复制 Postfix 队列目录下的系统文件。
如果您的机器有不寻常的安全要求,您可能希望在 chroot 环境中运行 Postfix 守护进程。
通过互联网搜索,我们找到了一些有关这一变化背后原因的线索:
在一个2008 年关于使用 chroot 的讨论,Wietse说
我认为默认 chroot Postfix 是不合适的。Chroot 在专用防火墙上是有意义的。通用桌面运行 Web 浏览器,其攻击面比 Postfix 要大得多。
后来2011
对于访问策略非常严格的网站来说,Chroot 支持很有意义。
SASL_README
我还在Postfix 2.6中读到了以下内容:
运行支持 SASL 的 chrooted 软件是一项有趣的练习。但不值得这么麻烦。
此文件的文本在较新的版本中已更改,但这表明在 chroot jail 中运行邮件服务器会导致出现问题。扫描postfix 用户邮件列表表明这给一些用户带来了问题。
我个人在 chroot jail 中运行 Postfix,虽然我不使用saslauthd
,但我确实需要采取一些额外步骤来配置 milters,以便它们可以通过 Unix 套接字与 chrooted Postfix 守护进程进行通信。