对netstat不可见的TCP攻击

我们被一个奇怪的攻击击中,攻击者甚至通过电子邮件来挑战我们。

“netstat -n”的输出通常只有一些“ESTABLISHED”和“TIME_WAIT”,但服务器的网站不能从外部访问。 当在控制台窗口input“ssh 127.0.0.1”时,获取提示input密码需要几分钟的时间。 CPU和内存使用率非常低。

“tcpdump -l”的输出平均每秒只有几行。 它们大部分都是TCP连接,从该Web服务器的端口80到某些远程ips的“S”或“R”标志。 奇怪的是,这些IP不显示在“netstat -n”的输出中! 这些IP与攻击者之前使用的其他IPS类似。

而且我完全从networking上拔下服务器后,症状(延迟到127.0.0.1的ssh)甚至会持续。 只有大约10分钟后,症状才会突然消失。 而这种行为可以重复。

服务器位于硬件防火墙之后,只允许TCP连接到此Web服务器。 有没有我不知道的东西,也就是说,有没有办法让服务器记住一些TCP请求,这些请求不会被netstat显示出来,而是会绑定服务器资源,所以很难处理任何后续的TCP请求。

networking计算有一篇关于TCP SYN Flooding Attack的文章,以及如何处理它们。

我没有回答是什么原因造成的,但是我有问题要澄清情况。 你没有告诉服务器负载是否高? 如果答案是肯定的 – 什么导致这个负载 – 检查顶部的命令。 你可以尝试运行tcpdump -ntuap? 似乎只有选项-n是不够的。 它运行任何其他服务,如DNS,FTP? 是否有可能你的SSH延迟是由DNS解决问题或高负载造成的? 你如何连接到服务器与SSH? 服务器是否有权访问DNS服务器,如果它断开连接(没有resolving =缓慢的SSH连接)? 你能检查apache的选项“keepalive”,并将其设置为closures较低的时间间隔。

在没有详细说明的情况下,所描述的症状组合很容易被诊断为“rootkit”,因为以任何其他方式产生它们将是困难的(尽pipe几乎是不可能的)。

事实certificate,攻击使用了一个没有被我们的网站使用的协议,所以被我们的边缘路由器阻塞。 因此,尽pipe我们的外部pipe道已经饱和,但合法的交通还是落入了我们的内部服务器。

检查接口上的数据包速率:

netstat -bdh 1 

检查系统在做什么:

 systat -v 1 

检查一些bsd限制:(限制/使用)

 vmstat -z 

PS。 你使用的是Apache吗? 检查它的统计

PPS。 尝试之前把nginx 。

购买力平价。 你使用accf_http内核模块?