用iptables自动封连接数较大的IP防止CC攻击的方法

发布时间:2020-06-05编辑:脚本学堂
本文介绍的这种方法用于被动统计IP连接数,对连接数较大的IP用iptables封掉,如需主动限制,可参考通过iptables限制ip连接数防止CC攻击。

本文介绍的这种方法用于被动统计IP连接数,对连接数较大的IP用iptables封掉,如需主动限制,可参考通过iptables限制ip连接数防止CC攻击。
shell/ target=_blank class=infotextkey>shell脚本如下:
 

复制代码 代码如下:
#!/bin/bash
#Created by http://www.jb200.com
num=100 #上限
list=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|linuxjishu/13830.html target=_blank class=infotextkey>awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
for i in $list
do
      iptables -I INPUT -s $i --dport 80 -j DROP
done

加入crontab计划任务:
 

复制代码 代码如下:
crontab -e
*/5 * * * * sh /path/file.sh #5分钟执行一次