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

all*_*llo 6 security postfix chroot

随着compatibility_level = 2,最近后缀的版本,为后缀守护程序默认的chroot从改为非chroot环境。虽然该页面描述了它发生了变化以及您可以采取什么措施来继续使用 chroot 或停止使用它,但没有给出任何理由。

他们为什么要更改默认值?在没有 chroot 的情况下运行它有什么优势吗?

Ant*_*gan 5

如果您下载 Postfix 源代码并检查该HISTORY文件,您可以看到此更改是在 2014 年 10 月 1 日进行的(快照 20141001):

master.cf chroot(n)、append_dot_mydomain(no) 和smtputf8_enable(yes) 的新默认值。

相应git的承诺显示,此时被到源代码和文档的所有更改。不幸的是,几乎没有解释更改此默认设置的原因。

正如您已经注意到的,Postfix Backwards-Compatibility Safety Net指出

新的默认设置避免了 Postfix 队列目录下的系统文件副本的需要。

Postfix 基本配置

如果您的机器有不寻常的安全要求,您可能希望在 chroot 环境中运行 Postfix 守护进程。


一些互联网搜索发现了一些关于这种变化背后的基本原理的线索:

2008 年关于 chroot 使用的讨论中,Wietse 说

我认为默认 chroot Postfix 是不合适的。Chroot 在专用防火墙上有意义。通用桌面运行 Web 浏览器,并且具有比 Postfix 更大的攻击面。

2011 年晚些时候

Chroot 支持对于访问策略非常受限的站点很有意义。


我还在SASL_READMEPostfix 2.6 中阅读了以下内容:

运行带有 SASL 支持的 chroot 软件是一项有趣的练习。这不值得麻烦。

此文件的文本在最近的版本中已更改,但这表明在 chroot jail 中运行邮件服务器会导致问题。扫描postfix-users邮件列表的档案显示这导致了一些用户的问题。

我个人在 chroot jail 中运行 Postfix,虽然我不使用saslauthd.