我担心在我的Linux服务器上发送垃圾邮件的恶意PHP脚本或其他恶意软件。 或者,也许我留下了一个开放的中继
有什么方法来检查我没有发送任何垃圾邮件?
最简单的方法之一是检查你的/ var / log / maillog(默认位置),看它是否发送你不期望的邮件。
我过去曾经使用abuse.net来检查我的服务器是不是一个开放的中继。
虽然没有使用它,但是如果你担心/不确定,那么就应该快速testing一下。
你的服务器上有使用电子邮件的PHP脚本吗? 确保那些不允许访问者指定邮件发送到的地址。 这意味着无需创build电子邮件的表单中的字段。
单靠这一点是不够的,因为垃圾邮件发送者可以将邮件头插入写得不好的邮件程序脚本中。 请查阅http://www.alt-php-faq.org/local/115/进行讨论。
您可能无法控制服务器上的所有脚本,因此您可能需要阅读http://ilia.ws/archives/149-mail-logging-for-PHP.html ,其中提供了PHP扩展的详细信息,其中logging了所有脚本使用邮件function。 这将给你一个特定的地方寻找PHP相关的邮件活动,这可能是有用的,如果你也从这个服务器合法地发送邮件。
最好的方法是监视机器产生的stream量。 这可能会显示是否有可疑的事情发生,不pipe是什么来源的垃圾邮件(是configuration错误的邮件服务器,configuration错误的代理或一些恶意软件)。 特别要注意传出连接到端口25.如果你能看到更多的连接,而不是机器应该发送的邮件,那么机器可能是滥用。 但仔细观察,您还可以find许多'MX'查询(发送给受害者名称服务器)或可疑的传入连接(用于控制“特洛伊木马”软件)。
下一步是find滥用的服务并修复它。
你需要检查你的邮件日志 –
在/ var /日志/ exim_mainlog。
并且有很多方法可以确定是否有垃圾邮件。 如果你的IP被列入黑名单 – 很可能你的服务器发送了大量的垃圾邮件。 如果邮件队列非常大 – 也
无论如何,这里有点检查:
这些都是定期通知,如果一些脚本发送太多电子邮件的一些点。
如果你不确定这一切,那么我可以看看并修复这些东西。
怎么样这个脚本,这也会发现PHP脚本发送垃圾邮件
find/ -type f -name“ .php ”| xargs grep -l'mail'| xargs grep -in'mail'>〜/ mail.scripts.log
打印从您的服务器发送的所有电子邮件的目的地:
grep 'to=<[a-z0-9_\.-]\+@[\da-z\.-]\+\.[az\.]\{2,6\}>' -o /var/log/maillog