我的服务器因参与 curtwail 垃圾邮件机器人而被 CBL 封锁。
最初我们怀疑它是来自 PC 而不是来自服务器,但是路由器阻止了 25 上除来自服务器的数据包之外的所有数据包。
我刚刚执行了 tcpdump 命令,每隔 5 分钟我就会看到端口 25 上出现一连串活动,这非常可疑,我确信服务器上正在运行某个进程:
13:02:30.027436 IP exprod5og110.obsmtp.com.53803 > ubuntu.local.smtp: Flags [S], seq 171708781, win 5744, options [mss 1436,sackOK,TS val 3046699707 ecr 0,nop,wscale 2], length 0
我已经停止了 postfix,但上面的 25 端口仍然有流量。
但是我如何才能找到实际上在端口 25 上进行通信的进程,因为它只运行了几秒钟,所以例如 lsof -i :25 永远不会捕获它。
我已经研究这个问题两天了,这是一个实时服务器,我无法简单地关闭它,有什么建议可以让我检测出这个电子邮件机器人进程的来源吗?
答案1
通常,当 postfix 没有发送垃圾邮件时,它就是网络服务器。
因此,我会使用 tcpdump 查看是否发送了一些垃圾邮件,然后停止 apache 并使用 tcpdump 检查是否仍有一些垃圾邮件发送。
现在还有另一个我喜欢的问题:“我如何监视哪个进程使用端口 TCP 号 12345?一种交互式 lsof 或 netstat -ntp”
我认为 iftop 不能解决问题。
我认为这是你的问题中真正有趣的部分,你应该将它作为一个独立的问题再次提出,因为它可能会引起很多读者的兴趣。
答案2
也许你应该使用类似 wireshark 的工具来分析来自服务器的流量?你应该能够识别未经批准的流量,例如垃圾邮件。
遵循本指南:http://www.doitscared.com/738/holy-cow-batman-my-linux-server-got-hacked/ 除了 rkhunter 和 chkrootkit,还可以使用 tiger 检查您的服务器。
如果此服务器是您依赖的生产系统,您一定得确保没有坏人可以再访问该服务器。如果您不确定系统是否再次干净整洁,则必须重新安装系统或获取干净的备份以确保安全。