本文共 837 字,大约阅读时间需要 2 分钟。
最近不停地被 CC (DDOS的一种)频繁干扰,分享一个 iptables 屏蔽 DDOS 的脚本。
让 crond 每分钟运行一次。
############### KILL DDOS ##############iptables_log="/data/logs/iptables_conf.log"### Iptables 配置导出的路径,可任意修改 ###########################################status=`netstat -na|awk '$5 ~ /[0-9]+:[0-9]+/ {print $5}'|awk -F ":" -- '{print $1}' |sort -n|uniq -c |sort -n|grep -v 127.0.0.1|tail -n 1`NUM=`echo $status|awk '{print $1}'`IP=`echo $status|awk '{print $2}'`result=`echo "$NUM > 200" | bc`### 如果同时连接数大于 200 则干掉!###if [[ $result = 1 ]]thenecho IP:$IP is over $NUM, BAN IT!/sbin/iptables -A INPUT -s $IP -j DROPfi########################################iptables-save > ${iptables_log}### 输出当前的 iptable 配置作为日志 ###########################################
有朋友指出,“ 這個腳本裏應該把tail -n 1和grep -v 127.0.0.1倒一倒,否則有些情況下會完全不起作用的”,所以对原脚本有修改。
原文发布时间为:2013-06-03
本文来自云栖社区合作伙伴“Linux中国”
转载地址:http://smvol.baihongyu.com/