我正在管理一个 Win Server 2008 系统,其中包含许多托管网站。最近我发现有东西通过我们的 SMTP 服务器发送垃圾邮件。日志表明,这些连接正在连接到我们的本地主机端口 25 SMTP 服务器……该服务器配置为允许未经身份验证的中继。我们现在甚至在 127.0.0.1:25 上也要求身份验证,因此外发垃圾邮件被阻止,但连接尝试仍在继续。
我的猜测是,我们的一个客户的网络脚本已被黑客入侵,并被用来通过我们的 SMTP 服务器转发垃圾邮件。
是否有任何工具可用于确定哪个进程,或者更好的是,哪个可执行文件正在与特定的 Web 端口建立连接?
我已经查看了 Windows 防火墙日志,正如本文所建议的那样服务器故障问题,但是没有列出正在建立连接的进程 ID。
当然,我可能在这里误解了主题,因此如果能得到任何其他建议我将不胜感激。
答案1
netstat -b -o
列出网络连接、进程和 PID - 您应该能够找出哪个 IIS 工作进程正在执行所有端口 25 连接。
答案2
您确定您的服务器不再转发垃圾邮件吗?如果您确定没有,那么问题可能只是因为它是开放转发。但是,如果您觉得某些网站可能允许通过其他方式发送垃圾邮件,请继续阅读。
您可能需要考虑您的服务器是否受到了损害,在这种情况下,请按照上面标记为可能重复的文章中的建议进行操作。
但是,您觉得很可能是某个用户的脚本导致了此问题,要么是因为该脚本遭到了黑客攻击,要么是因为脚本编写不当,导致电子邮件注入型攻击。
为了防止您的服务器被列入黑名单并影响所有客户,您应该尽快阻止端口 25 上的所有传出流量,以防止垃圾邮件传出。
然后你将必须审核服务器上的所有脚本,以确保它们没有易受伤害的针对此类攻击 有关如何保护 PHP 脚本的详细信息,请参阅有关安全性的问题。
答案3
你可以使用一些网络嗅探工具,这些工具可以精确地定位到进程级别,即哪个进程正在发送什么。你也可以根据需要进行过滤。
some examples:
network monitor 3.4 (microsoft) outdated, but works well.
fiddler
... (other most probably)
尝试一下网络监视器,15 分钟内您就会知道下一步该查看哪里。