欺骗性DDoS防护策略,过滤窗口大小==0?

欺骗性DDoS防护策略,过滤窗口大小==0?

我遭遇了一次 SYN 洪水攻击,几乎摧毁了我的 ipvs 负载均衡器的网络堆栈(每秒 80K 个数据包)。“ksoftirqd”进程占用了 100% 的 CPU,机器几乎没有网络响应。tcpdump 显示了如下数据包:

21:24:40.994920 IP 193.41.136.187.17435 > MY-IP.80: Flags [S], seq 3387555840, win 0, length 0
21:24:40.994940 IP 46.159.109.102.63863 > MY-IP.80: Flags [S], seq 4209573888, win 0, length 0
21:24:40.994961 IP 32.199.104.48.30346 > MY-IP.80: Flags [S], seq 512360448, win 0, length 0

除了零窗口大小(这可能是一个过滤钩子)之外,我找不到洪水中的共同点。

  1. ksoftirqd 确实是瓶颈吗?
  2. 有没有办法在 Linux 机器到达 ksoftirqd 瓶颈之前对其进行过滤?
  3. 如果不是,我如何在 Cisco 6509 上过滤窗口大小 == 0?

谢谢!

答案1

好的,所以瓶颈在于 iptables 规则/nat/连接跟踪。

-A INPUT -p tcp -m tcp --tcp-flags SYN -m u32 --u32 0x6&0xff=0x6&&0x4&0x1fff=0x0&&0x0>>0x16&0x3c@0xc&0xffff=0x0 -j DROP 

以此作为第一条规则,机器的负载显著下降。

相关内容