如何找出神秘的垃圾邮件脚本来自哪里?

我是一个小型ISP的数据中心经理,我们一直有一个神秘的脚本在我们的服务器上发送垃圾邮件的问题。 这些PHP脚本将在/ tmp中以及有时在网站文件夹中神秘地出现。 我们安装了软件“画廊”,这需要危险的提升权限,并允许注入这些脚本。 我已经通过.htaccess限制了该网站的使用,而现在垃圾邮件已经停止显示在网站文件夹中,但仍然显示在/ tmp以及其他网站文件夹中。 我们的服务器在Debian 2.6.26-29上使用Directadmin运行。

要find我运行的垃圾邮件脚本:

server:/# grep cwd /var/log/exim/mainlog | grep -v /var/spool | awk -F"cwd=" '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -n 1 /home/xxx/domains/XXX/public_html/cgi-bin/formmail 2 / 2 /home/xxx/domains/xxx.com/public_html/wp 2 /home/xxx/domains/xxx.com/public_html 2 /home/xxx/domains/xxx.com/public_html 4 /usr/local/directadmin 11 /home/admin 303 /home/admin/domains/xxx/public_html/components 2947 /tmp 

有谁知道如何找出这些脚本来自哪里? Apache是​​SPAM脚本的所有者。 先谢谢你。

您的任何客户的网站都可能包含黑客利用并将这些脚本注入您的服务器的易受攻击的代码。

我希望你的新服务器设置有适当的设置,这样客户PHP脚本就无法访问系统范围/tmp 。 我个人更喜欢在chroot里面安装PHP-FPM,虽然这是一个不平凡的练习。

如果这些是位于/tmp中的标准shell脚本,则可以通过为/tmp创build单独的分区并使用noexec挂载选项将其挂载到/tmp来阻止其执行。

但是,Apache进程可写的任何其他目录仍然容易受到相同的问题影响。 黑客需要一些时间才能find新的可写目录,但最终会find这些目录。

唯一适当的解决scheme是安装一个安全的Web服务器,并在那里迁移数据。