我们有一个运行相当标准的 LAMP 堆栈的 Debian Squeeze 服务器(过去它是使用 Howtoforge 的 Perfect Server 指南设置的,所以我们使用 ISPConfig 作为我们的后端管理面板),它已经被很好地锁定了到 MTA(没有安装,没有后缀,没有 EXIM 等)并且完全禁用了 php mail() 功能,端口 25 防火墙。
我们经常从例如 MegaRBL 收到垃圾邮件警告,但是将我们的服务器 IP 标识为源
通常我们会追踪一个被黑的 Wordpress 网站,在那里我们会看到一堆加密/混淆的脚本和其他垃圾,然后我们会对其进行核对并希望获得最好的结果。
这种方法对我来说并不令人满意,因为我想弄清楚他们是如何设法从这个服务器发送垃圾邮件的。我猜测(这可能是完全错误的)他们设法放入被黑的 Wordpress 站点的脚本本身就是邮件传输代理。由于这些脚本被加密/混淆,我显然无法深入了解他们正在做什么。
我所有的谷歌搜索和研究总是指向 Postfix 或 mail() 函数以及有关如何追踪并减少来自这些来源的垃圾邮件的各种指南 - 但我确信所有这些东西都已从我们的服务器中删除。
所以我的问题有三个:
- 有没有可能我们发现的这些混淆脚本实际上是在没有安装在我的服务器上的任何二进制文件的帮助下发送邮件的?(例如 Postfix、sendmail 等)
- 有没有办法记录/检测从我们的服务器发出的这种类型的流量?
- 我错过了什么吗?后缀已被删除,我仔细检查了 PHP mail() 功能是否已禁用,我已经搜索了二进制文件以寻找任何可能与邮件相关的内容并将其删除,但我担心我可能只是迟钝并遗漏了一些东西明显的 ...
我们为此做了一些事情。
选项 1 如果您不希望任何电子邮件出站,请检查您的 OUTBOUND 防火墙是否设置为阻止 TCP/25,假设您不想发送电子邮件。
选项 2,安装 postfix,并添加 BCC 以获取已发送电子邮件的副本
选项 3,将所有出站流量重定向到一个包罗万象,有几个选项,所以搜索一下,我更喜欢使用 mailcatcher.me,还有一些其他的浮动,电子邮件包罗万象(域和子域)后缀
Mailcatcher.me 您需要将出站邮件重定向到它,以及可以运行 ruby 的系统。
选项 4,防火墙重定向,请与您的网络管理员联系并设置 NAT 规则,以将来自 Web 系统内部 IP 的出站 25 重定向到另一个系统或过滤器,例如https://www.spamexperts.com等出站过滤器/服务/传出过滤
最后作为额外信息,postfix 是一个 MTA,但是您不需要 MTA 来发送电子邮件,只需能够在 TCP/25 上打开连接。
如果您可以 telnet 到端口 25 上的 MX 记录,您可以发送电子邮件(没有 postfix/sendmail/etc)
如果您有一些应该允许使用 wordpress 发送电子邮件的客户端,建议他们使用 Sendgrid 或 Mailchimp 插件,他们可以通过 HTTPS 或客户端 SMTPS 端口使用 API 工具(提交 587)
在 var/log 中查看:maillog
制作自己的 php Mail 脚本,看看它是否有效。大多数情况下,邮件中发生的任何事情都会显示在邮件日志中