我们有一台 CentOS 服务器,运行 Sendmail 和 ISPConfig 作为面板。我们最近注意到来自虚假雅虎帐户的流量大幅增加。日志显示短时间内发送了数百封电子邮件。
我们正在尝试隔离脚本,但是我们有多个站点正在运行,不知道首先要查看哪里。
有想法吗?
——由于没有结果,我认为要么人们不知道,要么这永远不会容易,要么我没有提供足够的信息。
我们尝试在服务器上的文件中搜索“@yahoo”等类似内容,但有可能它从外部网站或文件获取电子邮件地址。我们能轻松确定对外部文件的任何引用吗?我们对所有内容都使用内部 .js 文件,因此不应该有太多这样的文件。
或任何其他想法..
答案1
为什么您认为发送这些电子邮件的一定是您服务器上的脚本?您提到您的机器上运行着 sendmail - 也许它充当着开放中继,或者有人设置了另一个进程将邮件从它转发到您的真实 sendmail?
首先检查你的主机开放继电器测试仪,也许:http://www.abuse.net/relay.html
因此,至少我会从这个清单开始:
- 检查 sendmail 是否充当开放中继
- 停止 sendmail 发送所有邮件并检查队列中的内容 - 原始电子邮件本身的标题可以提供一些线索?
- 检查您打开了哪些端口,并验证每个打开的端口是否与您知道应该运行的应用程序相对应。
- 当大量电子邮件涌入你的服务器时,使用 netstat 和 lsof 检查发生了什么
答案2
您可以在垃圾邮件发送过程中运行 lsof 来查看服务器上哪些文件正在被访问。
此外,当垃圾邮件在队列中时,请在邮件发出之前尝试查看邮件内容,看看它是否提供了有关其来源的任何线索。例如,如果它来自服务器上托管的某个网站上的表单,它可能会显示表单上的唯一字段,然后您可以从网站文件中查找该字段。