在被利用的 php 网络服务器上强化 postfix 空客户端的最佳方法是什么?

在被利用的 php 网络服务器上强化 postfix 空客户端的最佳方法是什么?

我们使用 postfix 作为空客户端,通过 sendmail 从 php 网络服务器发送邮件。我们将传入邮件服务器托管在其他地方,并使用 SPF 记录授权服务器从我们的域发送电子邮件。这一切都有效。

现在我想强化 postfix,特别是针对发送垃圾邮件的被利用的 PHP 脚本。但问题是我想允许将电子邮件发送到任何有效地址,因为我有客户 Web 表单需要能够接收确认电子邮件。我意识到这是损害限制,而且可能性是有限的。

人们建议做些什么来检测/预防这种情况?或者我应该把精力集中在其他地方。

我想到过但还未尝试的事情是:

  1. 阻止任何电子邮件以“发件人:”的形式发送,我无权从这些域发送。我找到了如何使用它来配置它。smtpd_recipient_restrictions = check_sender_access这可以与 localhost sendmail 一起使用吗?如果攻击者知道邮件只能通过正确的发件人地址发送,这是否值得?

  2. 检测本地主机是否正在发送大量电子邮件,然后将其关闭并通过电子邮件提醒我。不知道如何做到这一点,也不知道是否可行。

答案1

我建议你将邮件服务器移到另一台机器上,并阻止实际的 Web 服务器通过端口 25 与邮件服务器以外的任何设备进行通信。这意味着即使是自定义的垃圾邮件机器人(不依赖任何邮件功能并使用普通套接字)也无法工作。

在您的邮件服务器上,为您的每一个托管客户创建(虚拟)用户帐户,这样您就可以唯一地识别他们,应用速率限制,并在他们发送垃圾邮件时阻止他们,而不会阻止同一服务器上的其他用户。

最后安装政策D并应用每个客户的速率限制和发送邮件的垃圾邮件检查,以减缓潜在的垃圾邮件发送者的速度,并在发送的邮件看起来是垃圾邮件时提醒您。

当然,没有什么是完美的,但这种设置至少会在外发邮件看起来像垃圾邮件时提醒您,并且由于速率限制,垃圾邮件的发送速度会相对较慢,直到您调查并(希望)清除整个托管帐户。

相关内容