iptables利用ipt_recent做防刷限制(1分钟内访问超过240次记录日志并丢弃)
1、iptables 需支持ipt_recent模块
2、修改 ip_list_tot、ip_pkt_list_tot 限制
1234
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 添加以下行
12345
kern.=debug
/var/log/firewall/http_access
.log
#新建日志目录
mkdir
/var/log/firewall/
#重启服务
/etc/init
.d
/syslog
restart
4、建立iptables策略
12345678910#建立记录表
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
原文地址:iptables利用ipt_recent做防刷限制, 感谢原作者分享。 人爱美,不仅需要服饰居室之美,还需要心灵品德之美。