防止DDoS攻击,每5分钟监控本机的web服务,将目前已经建立连接的IP计算出来,且实现top5。再此基础上,将并发连接超过50的IP禁止访问web服务
netstat -lntupa | grep ":80" | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c| sort -nr | head -n5 > /tmp/ip.txt
while read line; do
COUNT=`echo "$line" | awk '{print $1}'`
IP=`echo "$line" | awk '{print $2}'`
if [ $COUNT -gt 50 -a `iptables -vnL | grep "$IP" | wc -l` -lt 1 ];then
iptables -I INPUT -s "$IP" -j DROP
fi
done < /tmp/ip.txt