什么是强化PHP Web服务器上的后缀空客户端的最佳方式?

我们使用postfix作为空客户端,通过sendmail从php web服务器发送邮件。 我们在其他地方托pipe我们的传入邮件服务器,并使用SPFlogging来授权服务器从我们的域发送电子邮件。 这一切工作。

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

人们build议如何检测/防止这种情况? 还是应该把我的努力集中在别的地方

我曾经想过但尚未尝试过的事情是:

  1. 要停止将任何电子邮件作为FROM:域发送,我无权发送。 我发现如何使用smtpd_recipient_restrictions = check_sender_accessconfiguration这将与本地sendmail的工作? 如果攻击者知道邮件只有用正确的FROM地址发送,这是否值得呢?

  2. 检测本地主机发送大量电子邮件并将其closures,并通过电子邮件提醒我。 不知道该怎么做,或者甚至有可能。

我build议你将邮件服务器移到不同的机器上,并且防止实际的Web服务器在端口25上与除你的邮件服务器以外的任何东西进行通信。 这意味着即使是一个自定义的垃圾邮件(不依赖于任何邮件function,并使用普通的套接字)将无法正常工作。

在您的邮件服务器上,为您的每个托pipe客户创build(虚拟)用户帐户,以便您可以唯一标识它们,应用速率限制,并阻止它们发送垃圾邮件而不阻止同一服务器上的其他用户。

最后,安装PolicyD并应用每个用户的费率限制和垃圾邮件检查外发邮件,以减慢潜在的垃圾邮件发送者,并在出站邮件看起来是垃圾邮件时提醒您。

当然没有什么是完美的,但是这个设置至less会提醒你,如果出站邮件看起来像垃圾邮件,并且会保持垃圾邮件相对缓慢的速度限制,直到你调查并(希望)核弹整个托pipe帐户。