youzhengchuan 发表于 2012-08-31 11:33

如何用iptables防止ACK攻击



今天早上来看到服务器的连接数突然增加了很多,通过分析发现是有一个ip连接非常猛。
   1799 60.29.31.2 ESTABLISHED
    733 60.29.31.2 FIN_WAIT1
正常情况下服务器的连接中“ESTABLISHED”的连接一般就200个左右,平均每个ip就1到2个“ESTABLISHED”状态的连接,这个很明显就是有人搞连接数攻击。
查看服务器访问日志,没有发现有该ip的访问记录,因此判断有可能是利用三次握手协议缺陷进行的ACK包攻击。
通过tcpdump分析,果然如此,只看到有进行三次握手的网络通信,看不到有进行http内容传送的数据包。
http > 60.29.31.2.4832: Flags , seq 3639449274, ack 2319507391, win 91, length 0

想通过iptables进行屏蔽
/sbin/iptables -A INPUT -s 60.29.31.2 -j DROP
# iptables -nvxL|grep 60.29.31.2
       0      0 DROP       all--*      *       60.29.31.2         0.0.0.0/0   


发现iptables屏蔽不掉这样的连接,连接数依然很高。

不知道对于这样的连接,该如何用iptables屏蔽掉。

youzhengchuan 发表于 2012-08-31 11:58

SYN攻击的原理,攻击工具,以及防护手段/使用iptables应对SYN攻击、CC攻击、ACK攻击
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1627255&fromuid=20755462

刚看了这篇文章,用了几个里面提供的iptables例子,感觉都不太好,其中限制连接数对性能影响太大,有可能会导致正常用户也访问慢。

由于用了太多的iptables策略,在进行 iptables restart过程中,modprobe -r xt_connlimit 卡住不动了,把cpu一个核心占满,全是si%,等了十几分钟才执行完。
杯具

e66478 发表于 2012-08-31 15:47

收藏 期待答案

gototo 发表于 2012-11-23 00:13

   1799 60.29.31.2 ESTABLISHED
    733 60.29.31.2 FIN_WAIT1

请教这个命令要怎么写啊????
页: [1]
查看完整版本: 如何用iptables防止ACK攻击