安装(D)DoS Deflate防止DDOS攻击

DDoS deflate是一款运行于Linux下,专门用于防止/减轻类DDOS攻击的程序。大多数DDOS攻击都是采取若干傀儡机同时对某一服务器发出大量连接请求,以耗光服务器资源的方法。

DDOS攻击的现场,目标服务器会出现难以理解的高负载、高请求数量、单IP同时发出大量请求等症状,导致的直接后果就是Service Unavailable(服务不可用)。对于大面积的DDOS攻击,采用硬件防火墙才能有效地解决问题;但对于小面积的DDOS攻击,一般软件防火墙即可。由于DDOS攻击即模拟正常的访问请求,因此攻击IP与正常访问IP并没有本质的区别(无非连接数多而已),使得小型的VPS难以防范DDOS攻击手段。

防御原理
DDoS deflate的原理是通过netstat命令找出 发出过量连接的单个IP,并使用iptables防火墙将这些IP进行拒绝。由于iptables防火墙拒绝IP的连接远比从Apache层面上来得高效,因此iptables便成了运行在Apache前端的“过滤器”。同样的,DDoS deflate也可以设置采用APF(高级防火墙)进行IP阻止。

官方网站地址:http://deflate.medialayer.com/

安装方法:

# cd /usr/local/src
# git clone https://github.com/jgmdev/ddos-deflate
# cd ddos-deflate
# ./install.sh

卸载方法:

# cd /usr/local/src/ddos-deflate/
# ./uninstall.ddos

主要功能与配置
1、可以设置IP白名单,在 /usr/local/ddos/ignore.ip.list 中设置即可;
2、主要配置文件位于 /usr/local/ddos/ddos.conf ,打开此文件,根据提示进行简单的编辑即可;
3、DDoS deflate可以在阻止某一IP后,隔一段预置的时候自动对其解封;
4、可以在配置文件中设置多长时间检查一次网络连接情况;
5、当阻止IP后,可以设置Email提醒;

安装后文件说明,安装目录为/usr/local/ddos

1、ddos.conf DDoS-Deflate 的配置文件,其中配置防止ddos时的各种行为
2、ddos.sh DDoS-Deflate 的主程序,使用shell编写的,整个程序的功能模块
3、ignore.ip.list 白名单,该文件中的ip超过设定的连接数时,也不被 DDoS-Deflate 阻止
4、LICENSE DDoS-Deflate 程序的发布协议

自动定时任务文件为etc/cron.d/ddos.cron

配置文件需要修改的地方是

APF_BAN=1改为APF_BAN=0,启用iptables

EMAIL_TO=”root”改为自己的邮箱

使用如下命令查看被屏蔽的ip

# iptables -L -n

注意:117行的内容是这样的netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST

如果服务器启用了IPv6的话,可能会导致统计的结果不准确,修改这一行可以修正这个问题。

需要修改成这样

netstat -ntu | grep ':' | awk '{print $5}' | sed 's/::ffff://' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST