使用 courier-esmtpd 阻止来自未经身份验证的发件人的本地发件人地址的邮件

使用 courier-esmtpd 阻止来自未经身份验证的发件人的本地发件人地址的邮件

我们运行一个小型快递邮件服务器 (courier-esmtpd)。它配置为接受来自经过身份验证的客户端的邮件,不受收件人限制,并接收来自任何地方到本地地址的邮件:*(at)mydomain.tld。现在我们收到一些垃圾邮件,其中发件人地址设置为类似info(at)mydomain.tld,收件人为另一个本地邮件地址。我想阻止这些邮件。是的,大多数时候 SpamAssassin 将它们标记为垃圾邮件,但我认为更好的方法是直接拒绝带有欺骗性发件人地址的邮件。

是否可以配置 courier-esmtpd 来阻止未经身份验证的客户端从外部 IP 地址和本地发件人地址发送的邮件?

重要的是,经过身份验证的(合法)用户能够使用任何发件人地址发送邮件,user(at)mydomain.tld甚至可以从外部 IP 地址(家里的电脑等)发送邮件。

badfrom (at)mydomain.tld编辑:我尝试在文件中设置配置选项/etc/courier/bofh,但所有具有相应返回地址的邮件都会被阻止,无论是否是经过身份验证的用户......

答案1

简短的回答是可以的。方法是启用esmtpd-msa

Courier 支持邮件提交代理 (MSA),它与邮件传输代理类似,但用于非本地邮件注入。MSA 服务器不仅监听不同的端口 (587),还能够纠正来自客户端邮件程序的 SMTP 数据中的小错误。另一个主要好处是,您可以轻松简单地禁用 MTA 上的外部主机中继,并在 MSA 上启用授权。这巧妙地避免了尝试从特定域进行身份验证,这几乎是不可能的,因为身份验证请求发生在提供发件人域之前。

最大的缺点是您必须将所有客户端更改为将邮件发送到端口 587 而不是端口 25。

答案2

SMTP 协议基本上是在互联网连接和使用之前设计的。指定您可能未经授权“中继”的网络。不幸的是,许多基于 Linux 的邮件服务器仍然有设置,当从内部 IP 源或私有 IP 发送邮件时,不需要预先身份验证。

大多数 Linux 邮件服务器使用名为“postfix”的服务来确定这些设置。安全设置(例如 TLS 和 SSL)在 master.cf 文件中设置并成为要求。在此文件中,您可以取消注释以下设置

'-o smtpd_enforce_tls =是-o smtpd_sasl_auth_enable =是'

要求身份验证

或者

'465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes'

发送安全邮件。

尽管这确实取决于该系统上使用的内容。

相关内容