AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1158072
Accepted
Ilya Ordin
Ilya Ordin
Asked: 2024-04-17 17:29:42 +0800 CST2024-04-17 17:29:42 +0800 CST 2024-04-17 17:29:42 +0800 CST

为什么建议在 chroot 监狱中运行 Postfix?

  • 772

我知道 chroot 允许隔离 Postfix,因此如果攻击者授予对 Postfix 程序之一的访问权限,他就无法恶意更改 chroot 目录之外的内容。

在 chroot 监狱中运行 Postfix 似乎是一种常见的做法。例如,Debian 默认将 Postfix 安装在 chroot 中。

我对此有几个疑问:

  1. 当外部只有 25 和 587 端口可用时,攻击者如何授予对文件系统的访问权限?怎么可能通过SMTP协议呢?它有漏洞吗?
  2. 为什么强烈建议将 Postfix 安装在 chroot 中,但发布 POP3/IMAP 端口并将电子邮件存储在文件系统中的 Dovecot 则不然?
  3. ProtectSystem在 Postfix 的 systemd 单元中使用与 chroot 监狱一样安全吗?
security
  • 3 3 个回答
  • 82 Views

3 个回答

  • Voted
  1. Best Answer
    u1686_grawity
    2024-04-19T13:35:12+08:002024-04-19T13:35:12+08:00

    当外部只有 25 和 587 端口可用时,攻击者如何授予对文件系统的访问权限?怎么可能通过SMTP协议呢?它有漏洞吗?

    协议通常不会,但某些实现可能会;具体来说,Sendmail SMTP 套件1(曾经一度是主要的 Unix SMTP 实现)存在一些安全漏洞,其中一些是非常著名的例子。

    事实上,我认为 Postfix 的大部分设计——chroot 的使用和任务之间强分离的多进程架构——都是直接响应 Sendmail 过去存在的安全问题。(Sendmail 曾经以 root 身份运行!)


    1不要与 /usr/lib 中的“sendmail”程序混淆,当时它确实是 Sendmail,但您系统上的程序仍然是 Postfix,只是沿用了原始 Sendmail 的界面。

    为什么强烈建议将 Postfix 安装在 chroot 中,但发布 POP3/IMAP 端口并将电子邮件存储在文件系统中的 Dovecot 则不然?

    Dovecot确实使用chroot。它的体系结构(实际上以及 Postfix 的体系结构)允许以更细粒度的方式完成,例如,高度公开的“登录”进程可以自动执行此操作,因此执行相同操作变得不那么重要服务范围。但 POP/IMAP 也使其比 SMTP 更复杂,因为它需要访问存储在用户主目录(这是传统布局)中的邮箱,因此单个 chroot 不适用于此类设置。

    • 2
  2. ARZ Lab
    2024-04-17T19:26:04+08:002024-04-17T19:26:04+08:00

    事实上,建议运行所有内容在监狱里))至少在互联网上收听的所有内容。另一方面,“100%安全的系统是100%无用的”))安全始终是一种权衡。我认为 Postfix 协议 (SMTP) 并不比 POP 或 IMAP 更安全,只是较少有安全考虑的公司将 POP/IMAP 端口暴露在公司网络之外,而 SMTP 的暴露情况则更为常见。对暴露端口的众所周知的利用是“代码注入” - 提交带有一段文本的有效负载,该文本可能以某种方式被侦听程序解释为可执行代码。此类漏洞究竟是如何构建和提交的,远远超出了本次讨论的范围。))我个人的观点是,SMTP 的另一种实现 - sendmail - 具有比 postfix 更具安全意识的代码,这可能是宗教性的))

    • 0
  3. Nikita Kipriyanov
    2024-04-17T19:26:17+08:002024-04-17T19:26:17+08:00
    1. 通过未知的漏洞。这不应该是不可能的,但是糟糕的事情发生了,鬼祟的后门库甚至被包含到最重要的工具中,人们犯了编程错误,等等。Postfix 经常因其非常干净的代码风格而受到称赞,但它使用的其他软件库并不那么好。

    2. 从技术上讲,你无法完全 chroot 安装它。Postfix 由许多相互依赖的服务组成,其中一些确实受益于 chroot,另一些则无法在 chroot 中运行。例如,proxymap服务专门设计用于为其他 chroot 服务提供对 chroot 之外的项目的受控访问,因此它本身不得被 chroot。Postfix 服务是否在 chroot 中运行是通过文件中的相应标志master.cf(第 5 列中的标志)设置的。Dovecot 的作者可能认为它不需要这样的保护。

    3. Postfix 在其自己的进程的监督下运行master,使用master.cf. 它不被设计为以任何其他方式运行,包括 systemd 的 ProtectSystem Jail。Postfix 的主要开发人员支持是通过其“用户”邮件列表提供的;如果你在这样的监狱里运行,他们不会支持你。

    • 0

相关问题

  • OpenSSH 漏洞 [重复]

  • 选择什么安全套件?

  • 安全地授予对 SQL 2005 复制监视器的访问权限以创建快照

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • 如何将安全组添加到正在运行的 EC2 实例?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve