垃圾邮件的来源

我正在使用POSTFIX运行Ubuntu,并且不断尝试发送垃圾邮件。 我已经阻止了他们所有的电子邮件服务器,现在他们只是不断地排队等候。 服务器正在运行php / mysql,其上有许多网站。 我怎么知道信息来自哪里? 即。 从正在执行的服务器上的PHP文件或在哪里?

mailq的例子

2A8CA2D447 444542 Wed Feb 29 09:07:27 [email protected] (delivery temporarily suspended: lost connection with emailserver[emailserverip] while receiving the initial server greeting) [email protected] 

任何帮助,将不胜感激

听起来就像你有人黑客的服务器。 有可能是rootkit,看不见的过程…如果你幸运,它只是一个脚本生成它。 如果从networking上断开计算机,它是否还在尝试发送更多新的邮件? 那么这是在生成邮件的服务器上的东西。

问题是,即使你清理了你所能做的,你也不能确定你完全清理了它。

最好的做法是擦拭机器并重build,然后返回到您的PHP代码和SQL(如果您使用的是数据库),并validation您是否拥有所有的修补程序,并且不需要SQL注入,则可以审查所有可能的内容。 然后确认你没有将Postfix设置为邮件中继,只允许你自己的机器或你自己的IP或自己的子网发送邮件。

您提供的单个日志消息不会明确告诉您任何这些信息。

事实上,发件人地址是[email protected],意味着它是通过apache拥有的进程发送的,可能是php mail()。

你不能轻易地禁止一个网站通过sendmail在本地提交邮件(1),但允许其他人同样的事情; 相反,考虑拒绝所有本地邮件提交,并要求网站通过本地SMTP提交邮件。

如果您想要防止任何apache拥有的进程发送邮件,请将以下内容添加到main.cf中:

authorized_submit_users = !www-data, static:all

并重新加载后缀:

# postfix reload

你可能应该检查这个问题的答案:

这将允许您缩小发送这些垃圾邮件的域名/网站。 如果没有,你可以看看你的邮件服务器日志,看看什么时候发送邮件 – 然后在那个时间之前,在你的Apache日志中查找相应的POST日志。 这可能会让你很幸运,并确定发送邮件的脚本。