Iptables防火墙***测试



<1>iptables来防止web服务器被CC***

#NEW:这个包是我们看到的第一个包;

#以下是控制一定时间内的新连接的数量,用到recent这个模块。每个IP地址1秒中只能刷新浏览器100次,超过100次TCP重置

iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name apache_server --update --seconds 1 --hitcount 100 -j REJECT --reject-with tcp-reset

iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name apache_server --set -j ACCEPT



<2>为了增强iptables防止CC***的能力,可以调整一下ipt_recent的参数如下:

cat/etc/modprobe.conf

options ipt_recent ip_list_tot=1000 ip_pkt_list_tot=60

#记录1000个IP地址,每个地址记录60个数据包

modprobe ipt_recent



<3>防止SYN*** 轻量级预防

iptables -N syn-flood

iptables -A INPUT -p tcp --syn -j syn-flood

iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN

iptables -A syn-flood -j REJECT






测试域名:monitor.xxxxxx.com:10000/logion.php

测试工具:CC***器

测试前系统状态,内存使用率、CPU使用率、TCP连接数、进程数,取当前值状态

测试结果统计:

参数

内存使用率

CPU使用率

TCP连接数

进程数

防火墙状态

备注

测试前系统信息

1133MB

1%~3%

TIME_WAIT 2

238

开启未使用策略


测试中系统信息

3113MB

85%~90%

TIME_WAIT 1052

475

开启未使用策略


防火墙开启系统信息

1637MB

1%~13%

TIME_WAIT  7

254

开启并使用策略









***测试(拒绝服务***)

1.测试IP地址:192.168.1.222 测试端口 22

2.测试工具:syn_flood.c

3.测试前系统状态,内存使用率、CPU使用率、TCP连接数、进程数,取当前值状态

参数

内存使用率

CPU使用率

TCP连接数

系统进程

系统现象

网络流量

测试状态

359MB

1%~%2

正常

141

正常

正常

***测试22端口

303MB

35%~57%

正常

141

无法连接SSH,机器反应迟钝

大量垃圾流量

防火墙测试

302MB

2%~4%

正常

141

正常

拦截59G流量









总结:使用防火墙规则可以减轻对应***对服务器压力,可根据当前生产环境灵活调整当前参数。