为什么 postfix 默认改为非 chroot 进程?

为什么 postfix 默认改为非 chroot 进程?

兼容性级别=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 队列目录下的系统文件。

还有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 守护进程进行通信。

相关内容