稍微说明一下情况吧。。
有两个网站托管在同一台服务器上,example1.com 和 example2.com。假设 Example2 被黑客入侵,攻击者编写了一个 PHP 函数来使用 PHP 邮件函数或 sendmail 发送电子邮件,并且他正在使用@example1.com 域地址发送电子邮件。SPF 和 DKIM 记录会将来自 example2.com 脚本的传出邮件识别为合法邮件,因为 SPF 记录指向正确的服务器地址,对吗?
那么.. 是否可以阻止托管在您自己的私人服务器中的网站使用其他托管域名发送电子邮件(通过 PHP 邮件或 sendmail)?
根据 MTA,可以使用多种选项。我最熟悉 Exim4,它允许多种选择:
上面没有处理脚本可以只查找目的地的 MX 并绕过您的邮件服务器的事实。这将缺少 DKIM 签名,但 DKIM 经常/通常配置不正确。因此,我距离使用 DKIM 进行电子邮件验证还有很长的路要走。DMARC 有助于那些发布策略但未广泛部署的域。
在 Linux 上,您可以使用防火墙规则防止邮件服务器被绕过。可以根据用户过滤流量,以便仅允许邮件服务器用户 ID 在端口 25 上发送流量。您可能希望允许端口 587 上的流量,因为这需要身份验证。