Linux防止小流量DDoS攻击的轻量级小程序

管理员组 正在充电 8月前 1516

DDoS deflate软件防火墙
DDoS deflate是一款Linux/centos减轻/防止ddos攻击的一个小程序,相当于软件防火墙。注意,此程序仅仅能抵御较低流量的攻击,大流量攻击连用了上百台高档服务器做了负载均衡的新浪都扛不住,何况一个小小的普通服务器或vps。对此程序不要期望过高。这里仅仅介绍一下,对于一些简单的软件攻击可能还有点作用。

CTOHOM制作的DDoS deflate一键安装脚本:

wget http://www.ctohome.com/linux-vps-pack/soft/ddos/ddos.sh;sh ddos.sh

脚本使用

  1. 默认将iptables防火墙作为拦截工具,并将并发数改成了60/秒就触发屏蔽IP
  2. 将本机IP都加入了IP白名单,然后强行不允许自动更新白名单列表。
    如果你需要修改IP白名单列表,请先执“chattr -i /usr/local/ddos/ignore.ip.lis  然后再“vi”进行修改
  3. 卸载:wget http://www.ctohome.com/linux-vps-pack/soft/ddos/uninstall.ddos;sh uninstall.ddos;


安装成功后,可以手动运行脚本
/usr/local/ddos/ddos.sh -k 30 #强行屏蔽连接数大于30的IP
更多使用说明,请直接 more /usr/local/ddos/ddos.sh 查看

DDoS deflate介绍
DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP,DDoS deflate官方网站:http://deflate.medialayer.com/

如何确认是否受到DDOS攻击?

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

执行后,将会显示服务器上所有的每个IP多少个连接数

root:~# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
1 114.226.9.132
1 174.129.237.157
1 58.60.118.142
1 Address
1 servers)
2 118.26.131.78
3 123.125.1.202
3 220.248.43.119
4 117.36.231.253
4 119.162.46.124
6 219.140.232.128
8 220.181.61.31
2311 67.215.242.196 (如果不是服务器ip,这个看起来像攻击)

以上测试结果!每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。

配置DDoS deflate
下面是DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,部分内容如下:

IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名单
CRON="/etc/cron.d/ddos.cron" //定时执行程序
......
FREQ=1 //检查时间间隔,默认1分钟
......
NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可
......
APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可
......
KILL=1 //是否屏蔽IP,默认即可
......
EMAIL_TO="root" //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可
BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整

卸载

wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos

白名单设置
有时候默认的白名单经常有失误,为了避免这个情况,我们可以手工设置白名单的ip,然后强制不允许修改

vi /usr/local/ddos/ignore.ip.list

手工设置白名单IP

chattr +i /usr/local/ddos/ignore.ip.list

强制不允许修改

chattr -i /usr/local/ddos/ignore.ip.list

解除不允许修改

手工用iptables屏蔽IP:

单个IP的命令是

iptables -I INPUT -s 124.115.0.199 -j DROP

恢复单个IP:

iptables -D INPUT -s 124.115.0.199 -j DROP

封IP段的命令是

iptables -I INPUT -s 124.115.0.0/16 -j DROP
iptables -I INPUT -s 124.115.3.0/16 -j DROP
iptables -I INPUT -s 124.115.4.0/16 -j DROP

封整个段的命令

iptables -I INPUT -s 124.115.0.0/8 -j DROP

封几个段的命令是

iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP


最后于 8月前 被正在充电编辑 ,原因:
最新回复 (0)
返回
发新帖
免责声明:本站部分资源来源于网络,如有侵权请留言告知我们处理!