欢迎光临
我们一直在努力

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

[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日志里面,并再次循环。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。