我有一台运行多个 Web 主机(全部由内部管理)的服务器,昨晚它似乎遭受了一次 DoS 攻击。我在 IPTABLES 中为输入和输出链屏蔽了攻击 IP。这似乎解决了问题,然后我就回家了。
今天早上服务器又死机了——这次从 netstat 来看,它向攻击 IP 发送了多个 SYN。 明显地它们被 IPTABLES OUTPUT 链丢弃,但是堆栈中的数量太多,导致失败。
我担心服务器正在向攻击者发送 syn。据推测它正在尝试在端口 80 上建立与攻击者 IP 的新出站连接,但为什么呢?这是否意味着服务器已受到攻击?我如何才能找到导致这种情况的原因?我尝试过 netstat -p,但它只显示传出尝试的所有者为 httpd。
网络目录中有一些大型网站,因此我尝试在所有网络文件中查找攻击者的 IP,这需要几天的时间。
该怎么办?
提前谢谢了....
答案1
服务器/虚拟主机可能被攻陷,网站可能会尝试下载额外的 shell/后门/指令。很难说如何找出哪个虚拟主机是被攻陷的。
如果您无法在生产服务器上进行 grep,您可以尝试在备份服务器上进行 grep。日志也一样。
或者只查看过去 24-48 天修改的文件。
如果 httpd=Apache,您可能尝试从 netstat 获取 pid,然后尝试在服务器状态输出中进行匹配(如果 IP 被丢弃,那么该服务器线程可能会运行很长时间,直到 wget/curl/whatever 超时)。
您还可以尝试在 httpd 日志中查找响应时间非常长的请求(您必须修改日志格式,因为通常两个 Web 服务器都不会记录请求时间)