Iptables DDOS/CC 自动屏蔽脚本

jerry linux 2015年11月23日 收藏

最近不停地被 CC (DDOS的一种)频繁干扰,分享一个 iptables 屏蔽 DDOS 的脚本。 

让 crond 每分钟运行一次。

  1. ############### KILL DDOS ##############
  2. iptables_log="/data/logs/iptables_conf.log"
  3. ### Iptables 配置导出的路径,可任意修改 ###
  4. ########################################
  5. status=`netstat -na|awk '$5 ~ /[0-9]+:[0-9]+/ {print $5}'|awk -F ":" -- '{print $1}' |sort -n|uniq -c |sort -n|tail -n 1|grep -v 127.0.0.1`
  6. NUM=`echo $status|awk '{print $1}'`
  7. IP=`echo $status|awk '{print $2}'`
  8. result=`echo "$NUM > 200" | bc`
  9. ### 如果同时连接数大于 200 则干掉!###
  10. if [ $result = 1 ]
  11. then
  12. echo IP:$IP is over $NUM, BAN IT!
  13. /sbin/iptables -I INPUT -s $IP -j DROP
  14. fi
  15. ########################################
  16. iptables-save > ${iptables_log}
  17. ### 输出当前的 iptable 配置作为日志 ###
  18. ########################################