netstat 无法检测到的 TCP 攻击

netstat 无法检测到的 TCP 攻击

我们遭受了一次奇怪的攻击,攻击者甚至通过电子邮件向我们发起挑战。

netstat -n 的输出一般只有几个“ESTABLISHED”和“TIME_WAIT”,但外部却无法访问服务器的网站。在 Console 窗口输入“ssh 127.0.0.1”时,需要将近一分钟才能收到输入密码的提示。CPU 和内存占用很低。

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

并且这种症状(延迟 ssh 到 127.0.0.1)甚至在我完全断开服务器与网络的连接后仍会持续。大约 10 分钟后,症状才会突然消失。并且这种行为可以重复。

该服务器位于硬件防火墙后面,仅允许通过 TCP 连接到此 Web 服务器。是否有我不知道的事情,即是否有某种方法可以让服务器记住一些 TCP 请求,这些请求不会通过 netstat 显示,但会占用服务器资源,因此它几乎无法处理任何后续 TCP 请求?

答案1

Network Computing 有一篇文章TCP SYN 洪水攻击以及如何处理它们。

答案2

我不知道是什么原因造成的 - 但我有问题想澄清一下情况。您没有说服务器负载是否很高?如果答案是肯定的 - 是什么原因导致了这种负载 - 使用 top 命令检查。您可以尝试运行 tcpdump -ntuap 吗?似乎只有选项 -n 是不够的。它是否运行任何其他服务,如 DNS、FTP?您的 ssh 延迟是否可能是由 DNS 解析问题或高负载引起的?如果断开连接,您如何使用 ssh 连接到服务器?如果断开连接(无解析 = ssh 连接缓慢),服务器是否可以访问 DNS 服务器?您可以检查 apache 的选项“keepalive”是否打开并将其设置为关闭以降低其间隔。

答案3

不谈细节,你所描述的症状组合很容易诊断为“rootkit”,因为以任何其他方式生成它们都很困难(尽管几乎不可能)。

答案4

使用以下方法检查接口上的数据包速率:

netstat -bdh 1

检查系统正在做什么:

systat -v 1

使用以下命令检查一些 bsd 限制:(LIMIT/USED)

vmstat -z

附言:你正在使用阿帕奇? 检查一下统计数据

PPS。尝试输入nginx在它之前。

PPPS。您正在使用 accf_http 内核模块吗?

相关内容