找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

Linux中国开源社区 技术 查看内容

Iptables DDOS/CC 自动屏蔽脚本

2013-06-03 14:25    评论: 5 收藏: 1    

最近不停地被 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 ]]
then
echo IP:$IP is over $NUM, BAN IT!
/sbin/iptables -A INPUT -s $IP -j DROP
fi
########################################
iptables-save > ${iptables_log}
### 输出当前的 iptable 配置作为日志 ###
########################################

有朋友指出,“ 這個腳本裏應該把tail -n 1和grep -v 127.0.0.1倒一倒,否則有些情況下會完全不起作用的”,所以对原脚本有修改。

via http://www.linuxde.net/2013/05/13538.html

最新评论

我也要发表评论

微博评论 2013-06-03 00:35 回复
抄袭的不带一点改动啊,若是大量模拟用户访问怎么搞

来自 linux_geek 的新浪微博
linux 2013-06-03 12:20 回复

有朋友指出,应该将脚本中的“tail -n 1和grep -v 127.0.0.1倒一倒,否則有些情況下會完全不起作用的”。已做修改。

netb2c 2014-04-28 14:31 回复
探讨:如果某个IP是正常访问,且连接数过多,也会被屏蔽掉,有一定的误杀;另外,服务器遭受攻击的时候负载也会相对过高,那么处理器能处理过来吗?而且攻击IP多为伪装IP,可能他的连接数达不到200,这个脚本也是过滤不了,这个阀值如果低了误杀率会更高吧。无法判断某IP是正常范围还是具有攻击行为。
[1]
netb2c 发表于 2014-04-28 14:31 的评论:
探讨:如果某个IP是正常访问,且连接数过多,也会被屏蔽掉,有一定的误杀;另外,服务器遭受攻击的时候负载也会相对过高,那么处理器能处理过来吗?而且攻击IP多为伪装IP,可能他的连接数达不到200,这个脚本也是过滤不了,这个阀值如果低了误杀率会更高吧。无法判断某IP是正常范围还是具有攻击行为。
linux 2014-04-28 16:39 回复
这个脚本的处理占用应该不大,另外,其实就是花最小的成本达到最大的效果,这么简陋的脚本,自然比不到专业的防火墙和清洗设备了。对于小站来说,应该可用。
[1]
netb2c 发表于 2014-04-28 14:31 的评论:
探讨:如果某个IP是正常访问,且连接数过多,也会被屏蔽掉,有一定的误杀;另外,服务器遭受攻击的时候负载也会相对过高,那么处理器能处理过来吗?而且攻击IP多为伪装IP,可能他的连接数达不到200,这个脚本也是过滤不了,这个阀值如果低了误杀率会更高吧。无法判断某IP是正常范围还是具有攻击行为。
[2]
linux 发表于 2014-04-28 16:39 的评论:
这个脚本的处理占用应该不大,另外,其实就是花最小的成本达到最大的效果,这么简陋的脚本,自然比不到专业的防火墙和清洗设备了。对于小站来说,应该可用。
netb2c 2014-04-28 18:47 回复
嗯,个人觉得这个脚本还是在判定服务器遭受攻击的时候再用才好,攻击流量下去了还要不要重启iptables呢?

收藏

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。