我的服务器上的qmail队列(在CentOS 5.2上运行Plesk)一夜之间在队列中放大了120,000多条消息。 队列中的消息显然是垃圾邮件。
我已经使用qmHandle在最后一天清除了它们,但我无法确定它们是如何被发送的。 他们发送的电子邮件地址甚至已经被添加到qmail badmailfrom文件中(我已经通过Telnettesting过它确实阻止了来自该地址的电子邮件),但是电子邮件继续泛滥。
我几乎肯定的说,这种攻击是利用服务器上托pipe的一个域的Web表单。 我相当有信心,如果能够确定哪一个,我可以find一种保证表格的方法。 问题是,如何确定电子邮件的来源?
这是解决scheme! 每封垃圾邮件都会在标题中显示一个uid,表明服务器上的哪个帐户正在用来发送电子邮件。 通过查看服务器>邮件>邮件队列中的Plesk(8.6.0),我能够在qmail队列中看到电子邮件的标题。 当我点击这个主题时,我可以在第一行看到如下内容:
qmail 11850 invoked by uid 10059
uid 10059标识调用qmail的服务器上的用户。 要查看这是哪个用户,请以root身份login到您的服务器,然后从terminal运行以下命令:
grep 10059 /etc/passwd
这将search您的服务器上的密码文件的string10059,并返回结果文本。
当我发现这是哪个用户后,我能够禁用shell访问,将CAPTCHA添加到站点上的所有webforms,并更改FTP和其他相关的密码。 这样做帮助我阻止了已经获得控制权的垃圾邮件发送者。