调用防火墙封掉DDOS发起者IP
2016-06-14 18:26
232 查看
[root@linux-node1 ~]# cat fw.sh
#!/bin/bash
cat /var/log/nginx/access.log|awk -F ":" '{print $1}'|sort|uniq -c|sort -rn|head -10|grep -v "127.0"|awk '{if ($2!=null && $1>4) {print $2}}'>/tmp/dropip
for i in $(cat /tmp/dropip)
do
/sbin/iptables -A INPUT -p tcp --dport 80 -s $i -j DROP
echo "$i kill at date">>/var/log/ddos
done
脚本注解:
先查看日志文件,awk过滤出第一列IP,并进行排序,去重,然后反向排序,过滤出IP最多的前10个,排除127.0这个IP,然后再过滤出第二列不为空且IP数量大于4个的ip,并打印IP输出到/tmp/dropip文件中。
循环文件/tmp/dropip
封掉/tmp/dropip里面的ip地址的80端口
将此次事件写入/var/log/ddos日志里面,并再次循环。
#!/bin/bash
cat /var/log/nginx/access.log|awk -F ":" '{print $1}'|sort|uniq -c|sort -rn|head -10|grep -v "127.0"|awk '{if ($2!=null && $1>4) {print $2}}'>/tmp/dropip
for i in $(cat /tmp/dropip)
do
/sbin/iptables -A INPUT -p tcp --dport 80 -s $i -j DROP
echo "$i kill at date">>/var/log/ddos
done
脚本注解:
先查看日志文件,awk过滤出第一列IP,并进行排序,去重,然后反向排序,过滤出IP最多的前10个,排除127.0这个IP,然后再过滤出第二列不为空且IP数量大于4个的ip,并打印IP输出到/tmp/dropip文件中。
循环文件/tmp/dropip
封掉/tmp/dropip里面的ip地址的80端口
将此次事件写入/var/log/ddos日志里面,并再次循环。
相关文章推荐
- PHP实现恶意DDOS攻击避免带宽占用问题方法
- 浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
- PHP利用hash冲突漏洞进行DDoS攻击的方法分析
- 浅谈利用JavaScript进行的DDoS攻击原理与防御
- 深入浅出DDoS***
- 企业如何对付DDoS***
- 对付DDoS***,资深网管教你几妙招
- 机房的硬件防火墙到底能不能防DDOS?
- linux 防DDOS防火墙脚本
- 资深网管教你两步走对付DdoS***
- Linux操作系统中实现DDOS***的方法 分享
- DDOS***
- DDoS deflate - Linux下防御/减轻DDOS***
- iptables防DDOS***和CC***设置
- Linux 系统下简单的防护
- 浅析七种DDoS***技术
- Linux iptables 防止 syn ddos ping 等 ***
- ddos***