调用防火墙封掉DDOS发起者IP

root@linux-node1 ~ #猫弗兰克-威廉姆斯。sh
# !猫/var/log/nginx/access./bin/bash
日志| awk - f”:“‘{打印1美元}| |排序uniq排序rn - c | |头-10 | grep - v“127.0”| awk的{如果(2美元!=零,,1美元比;4){打印$ 2}}’在/tmp/dropip
我的美元(cat/tmp/dropip)
do ,,,,,,
,,/sbin/iptables——输入- p tcp——dport 80 - s $ i - j DROP ,,,,,,
,,回声“我杀了美元日期”在在/var/log/ddos做


脚本注解:

先查看日志文件,awk过滤出第一列IP,并进行排序,去重,然后反向排序,过滤出IP最多的前10个,排除127.0这个IP,然后再过滤出第二列不为空且IP数量大于4个的IP,并打印IP输出到/tmp/dropip文件中。

循环文件/tmp/dropip

封掉/tmp/dropip里面的IP地址的80端口

将此次事件写入/var/log/ddos日志里面,并再次循环。


调用防火墙封掉DDOS发起者IP