我在运行 Debian 的专用服务器上有 2 个域。
其中一个链接到wordpress网站mydomain.com。
我注意到最近我的两个网站的表现都很糟糕所以我开始寻找原因。
我注意到,在过去的几天里,我每天的系统日志多达 800MB,其中充斥着来自类似以下电子邮件的延期电子邮件通知[电子邮件保护],显然是由程序生成的。
我更新了我的 wordpress,删除了 postfix 的延迟队列(所有 130 000 封延迟邮件),然后等待了 10 分钟。
10 分钟后,队列中已堆满了 4000 封邮件,并且还在不断增加,而且无法在任何地方找到任何可疑脚本。
我找不到有关此类漏洞的任何信息,所以我想知道该怎么做才能摆脱那些正在毁掉我的服务器的垃圾邮件。
如果这有帮助的话,似乎每个地址都会发送 20 封电子邮件。
答案1
好吧,经过多次失败的尝试,我终于找到了解决问题的方法。对于遇到相同或类似问题的人,我采取了以下方法:
- 更新你的 WordPress
- 如果可以,请连接到您的 wordpress 管理面板并卸载所有未使用的主题和插件,如果不能,请从您的服务器中删除它们(默认路径是
[your web dir]/web/wp-content/themes
) - 访问您的服务器(最好使用 ssh),如果您处于图形模式,请打开一个终端。
- 导航到前面提到的网站目录并运行命令
grep -rHn eval . > ~/audit.tmp
。它将在目录中的文件中找到“eval”的每个实例,这将找到大多数(如果不是全部)常见的混淆代码,并将它们写入审计文件中,并在包含该文件的文件和行号前面加上它们。(这可能需要一些时间) - 现在到了最棘手的部分。您需要查看该文件的每个条目,并尝试查找 eval 的异常用法。它们通常看起来像
eval(very_long_string)
php 文件的一部分。 - 删除所有可疑文件,如果您不确定它们是否恶意,请备份它们。
- 运行以下命令检查延迟邮件的数量
find /var/spool/postfix/deferred -type f | wc -l
- 如果延迟邮件包含的邮件太多(例如,我的邮件有 120 000 封),则通过运行以下命令删除延迟邮件(这将永久删除邮件)
postsuper -d ALL deferred
- 多次检查步骤 7,看看延迟队列是否仍在异常增长。现在它应该可以正常运行。
- 可选:如果 ISP 将您归类为垃圾邮件,请联系您的 ISP 解除对您的 smtp 端口的阻止