天天看點

調用防火牆封掉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日志裡面,并再次循環。

     本文轉自陳繼松 51CTO部落格,原文連結:http://blog.51cto.com/chenjisong/1789244,如需轉載請自行聯系原作者

繼續閱讀