我的系统上有一位用户似乎在发送大量邮件,但我很难识别他是谁。我不知道他的 IP 地址或他用来验证身份的用户名。
系统日志中的一个这样的条目是:
root@s2:~# zgrep '2EA87A0CDF' /var/log/syslog.2.gz | more
Jul 28 21:04:32 s2 postfix/pickup[10654]: 2EA87A0CDF: uid=33 from=<[email protected]>
Jul 28 21:04:32 s2 postfix/cleanup[11263]: 2EA87A0CDF: message-id=<[email protected]>
Jul 28 21:04:32 s2 postfix/qmgr[2545]: 2EA87A0CDF: from=<[email protected]>, size=4808, nrcpt=1 (queue active)
Jul 28 21:04:36 s2 postfix/smtp[11361]: 2EA87A0CDF: to=<[email protected]>, relay=mta5.am0.yahoodns.net[98.137.159.27]:25, delay=4.4, delays=0.01/0.01/1.2/3.2, dsn=2.0.0, status=sent (250 ok dirdel)
Jul 28 21:04:36 s2 postfix/qmgr[2545]: 2EA87A0CDF: removed
请注意以下事项:
- 我已将我们客户的域名替换为 ourCustomersDomain.com。
- bdo.com 域名是一个不由我们处理的外部域名,似乎被用作我们的用户提供的发件人地址。
- 因为我知道客户的域名,所以我要寻找的是用于获取访问权限的实际用户名。
我可以看到 UID,即“33”,但对我来说这没有任何意义。如何将其与使用的用户名匹配?
答案1
在您按照评论的要求编辑帖子之前,您已包含一条日志条目,其中表明相关用户的 UID 为“33”。正如评论中所述,此 UID 通常用于 www-data 服务(Web 服务器本身)。
您可能认为,由于系统上有许多用户使用 Webmail,因此这也许可以解释这种情况,但实际上,这些用户具有不同的 UID。如果您系统上的 www-data 服务的 UID 为“33”,则这可能表示您的某个用户的 Web 托管空间中有一个脚本正在发送电子邮件。
既然您提到您已经将范围缩小到实际客户的域,请尝试查看他们可能正在使用的任何邮件发送脚本(即联系我们) - 也许它存在安全漏洞。此外,如果 FTP 帐户被盗用,请仔细查看其 www 目录及其下方的文件,看看是否有黑客可能添加的内容。
另外,正如建议的那样这里, 要找出哪个脚本负责发送这些邮件,您可以设置指令
mail.add_x_header = On
在您的 php.ini 中。这将添加一个额外的邮件头
X-PHP-原始脚本
然后检查邮件队列中相关邮件的邮件头。
如果你发现他的账户被盗用,并且黑客在 www 目录中添加了脚本来利用邮件服务器的邮件发送权限,请不要忘记检查如何账户被盗用后,清理账户即可弥补损失。