iptables利用ipt_recent作防刷限制(1分鐘內訪問超過240次記錄日誌並丟棄)bash
一、iptables 需支持ipt_recent模塊tcp
二、修改 ip_list_tot、ip_pkt_list_tot 限制ide
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
三、創建iptables syslog 日誌debug
#編輯/etc/syslog.conf 添加如下行rest
kern.=debug /var/log/firewall/http_access.log #新建日誌目錄 mkdir /var/log/firewall/ #重啓服務 /etc/init.d/syslog restart
四、創建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