您好,登录后才能下订单哦!
[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日志里面,并再次循环。
亿速云高防服务器,全球多节点部署分布式防御,单个点1000G 防御,总体防御超5000G DDOS,AI智能防御CC攻击。点击查看>>
开发者交流群:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。