我们运行一个小型快递邮件服务器(courier-esmtpd)。它被配置为接受来自经过身份验证的客户端的邮件,没有收件人限制,以及从任何地方到本地地址的邮件:*(at)mydomain.tld
. 现在我们收到一些垃圾邮件,其中发件人地址设置为类似的东西info(at)mydomain.tld
,另一个本地邮件地址作为收件人。我想阻止那些邮件。是的,大部分时间 SpamAssassin 将它们标记为垃圾邮件,但我认为更好的方法是直接拒绝带有欺骗性发件人地址的邮件。
是否可以配置 courier-esmtpd 以阻止未经身份验证的客户端从外部 IP 地址和本地发件人地址发送的邮件?
重要的是,经过身份验证的(合法)用户能够使用任何发件人地址发送邮件,user(at)mydomain.tld
甚至是来自外部 IP 地址(家里的 PC 等)。
编辑:我试图badfrom (at)mydomain.tld
在 file中设置配置选项/etc/courier/bofh
,但是所有具有相应返回地址的邮件都被阻止,是否经过身份验证的用户......
简短的回答是肯定的。方法是启用
esmtpd-msa
.Courier 支持邮件提交代理 (MSA),它类似于邮件传输代理,但用于非本地邮件注入。MSA 服务器不仅侦听不同的端口 (587),而且能够纠正来自客户端邮件程序的 SMTP 数据中的小错误。另一个主要好处是您可以轻松简单地在 MTA 上禁用来自外部主机的中继并在 MSA 上启用授权。这巧妙地绕过了尝试从特定域进行身份验证,这几乎是不可能的,因为身份验证请求发生在提供 from 域之前。
最大的缺点是您必须更改所有客户端以将邮件发送到端口 587 而不是端口 25。
SMTP 协议基本上是在互联网连接之前设计的,并以今天的方式使用。指定您可能在未经授权的情况下“中继”的网络。不幸的是,许多基于 linux 的邮件服务器仍然具有在从内部 IP 源或私有 IP 发送邮件时不需要预先身份验证的设置。
大多数 linux 邮件服务器使用一个名为“postfix”的服务来确定这些设置。TLS 和 SSL 等安全设置在 master.cf 文件中进行设置和要求。在此文件中,您取消注释设置,例如
' -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes'
要求认证
或者
'465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes'
发送安全邮件。
尽管这实际上取决于该系统上使用的内容。