最近一段时间服务器频繁遭到DDOS攻击,目前只能通过封IP来源来暂时解决。IP不源变化多端,光靠手工来添加简直是恶梦,想了个方法,用SHELL来做。

  比较简单,但很实用:) 以下内容根据作者原文进行适当的修改:)

  1.编写脚本  

mkdir /root/bin
vi /root/bin/dropip.sh 

#!/bin/bash 
/bin/netstat -nagrep ESTABLISHED awk ‘{print }’awk -F: ‘{print }’sortuniq -csort -rnhead -10grep -v -E ’192.168 127.0′awk ‘{if (!=null && >4) {print }}’>/tmp/dropip for i in $(cat /tmp/dropip) do /sbin/iptables -A INPUT -s $i -j DROP echo "$i kill at `date`">>/var/log/ddos done

    2.增加执行权限

  chmod +x /root/bin/dropip.sh

  3.添加到计划任务,每分钟执行一次

  crontab -e

  */1 * * * * /root/bin/dropip.sh

  说明:

  以上脚本比较简单,但很实用,最重要的是第二行,获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了 内部ip段192.168 - 127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddos

相关文章:

  • 2021-11-17
  • 2021-11-17
  • 2021-07-30
  • 2021-11-22
  • 2021-12-28
  • 2021-11-14
  • 2021-06-20
  • 2021-07-05
猜你喜欢
  • 2022-12-23
  • 2021-09-08
  • 2021-11-28
  • 2021-12-31
  • 2022-01-12
相关资源
相似解决方案