我托管了一个面向公众的 Web 服务器,运行 Debian Wheezy,以及最新版本的 Postfix、Apache、PHP、Spamassassin、ClamAV、rootkit Hunter。Apache 配置了一些虚拟主机,每个虚拟主机都与一个用户绑定,并由 suExec 和 Suhosin 保护。这些网站运行 Wordpress 和 ModX,根据平均法则,考虑到这台服务器上的安装数量,至少 20% 的网站在任何给定时间都会存在某种漏洞,无论是来自 CMS 本身还是来自外部-of-date 插件。
我收到了来自优秀 MX Toolbox 网站的通知,该网站针对 100 多个黑名单监控 IP 地址。
当我听到我的 IP 地址再次被添加到给定的黑名单时,我立即 ssh 进入,暂停 Postfix
postfix stop
稍等几秒,查看邮件队列
mailq
由此我可以立即知道垃圾邮件的源用户/虚拟主机,因为所有邮件都来自“[email protected]”,其中“mywebsite.com”是托管在导致问题的虚拟主机上的域。
然后我使用出色的 maldet 运行手动恶意软件检测扫描,问题就消失了。如果我修补网站上所有已知的插件和软件,问题就会消失大约 6 个月。如果我不这样做,它会在大约一周内恢复。
出于测试目的,我已经让 Postfix 停止了几个月,但一些木马显然绕过了邮件服务器并直接发送邮件。(我从服务器资源监控、黑名单监视和退回到我域的垃圾邮件中知道这一点。更不用说 Postfix mailq 会填满例如 65,000 封未发送的邮件。)
由于我更关心邮件的真实性而不是通过我托管的网站发送电子邮件的能力,因此我采取了许多步骤,即确保我的每个域的 SPF 记录不会将我自己的服务器识别为该域的权威邮件来源. 至少这意味着我的域名不会被自动列入黑名单。
我的问题。有没有一种巧妙的方法可以简单地使用 IPTABLES 阻止所有外发电子邮件?我的意思不仅仅是阻止使用电子邮件服务器 Postfix 发送的邮件,而是所有可能最终导致我的服务器被列入黑名单的流量?
在我找到解决此问题的其他方法之前,我不介意禁止网站发送任何邮件。这并不理想,因为我使用一些来创建自己的业务,但同时我可以找到其他解决方案。
您可以使用简单的规则阻止所有传出 SMTP 流量:
您可以将此扩展为仅丢弃用户发送的数据包,该
www-data
用户将是运行网站的用户:什么将有助于解决您的主要问题(网站首先被感染)是阻止所有不需要的传入端口,以及传出端口,例如端口 80,通常用于下载额外的 rootkit 等。成立。
hazymat,我敢肯定你不想听到这个,但是......
你是问题,不是 Postfix
等到有人检测到垃圾邮件不是管理计算机系统的可行方法。如果您拥有一支步枪并将其留在您的 dront 家门口,您会在检查它是否丢失之前等待警察来打电话吗?
这不像设置自动补丁检查和安装,一个基本的 IDS 实际上需要您的任何持续承诺。
是的,您应该更加积极主动地管理外发电子邮件流量,但这是对基本安全实践的改进。