iptables利用ipt_recent做防刷限制(1分钟内访问超过240次记录日志并丢弃)
1、iptables 需支持ipt_recent模块
2、修改 ip_list_tot、ip_pkt_list_tot 限制
chmod 600 /sys/module/ipt_recent/parameters/ip_list_tot echo 10240 > /sys/module/ipt_recent/parameters/ip_list_tot chmod 600 /sys/module/ipt_recent/parameters/ip_pkt_list_tot echo 500 > /sys/module/ipt_recent/parameters/ip_pkt_list_tot
3、建立iptables syslog 日志
#编辑/etc/syslog.conf 添加以下行
kern.=debug /var/log/firewall/http_access.log #新建日志目录 mkdir /var/log/firewall/ #重启服务 /etc/init.d/syslog restart
4、建立iptables策略
#建立记录表 iptables -I INPUT -p tcp --dport 80 -d 192.168.160.44 \ -m state --state NEW -m recent --name httpuser --set #超过限制记录日志 iptables -A INPUT -m recent --update --name httpuser --seconds 60 \ --hitcount 240 -j LOG --log-level 5 --log-prefix 'HTTP attack: ' #超过限制DROP iptables -A INPUT -m recent --update --name httpuser --seconds 60 \ --hitcount 240 -j DROP #注:查看httpuser记录 /proc/net/ipt_recent/httpuser
转载于:https://blog.51cto.com/zhoufayong/1316881