必须在root权限下的终端账户里下载和安装,具体命令如下:
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip unzip master.zip cd ddos-deflate-master ./install.sh
卸载
同样是root权限账户下执行如下命令来卸载 DDoS Deflate 。
cd ddos-deflate-master ./uninstall.sh
DDoS Deflate 的使用
安装程序会自动检测系统是否支持 init.d 脚本,当支持的话将安装文件和启动脚本的 DDoS apropiate。在初始化的情况。 DDoS Deflate 开始作为一个守护进程,它监测间隔设置为5秒默认。
你也可以手动配置 DDoS Deflate 的各项参数,配置文件如下:
/etc/ddos/ignore.host.list
在这个文件里可以添加主机列表为白名单,一般都是搜索引擎(当然你可以根据自己的情况来加入允许的主机到这个白名单),示例如下:
googlebot.com
my-dynamic-ip.somehost.com
baidu.com
sogou.com
so.com
bing.com
/etc/ddos/ignore.ip.list
还可以使用上面的文件来加入IP地址白名单,这个主要是比较适用 CDN 节点IP的加入。示例如下:
12.43.63.13
129.134.131.2
/etc/ddos/ddos.conf
这个是 DDoS Deflate 的主配置文件,大家可以参考阿里云社区里的中文注释配置文件,如下:
##### Paths of the script and other filesPROGDIR=”/usr/local/ddos” PROG=”/usr/local/ddos/ddos.sh” IGNORE_IP_LIST=”/usr/local/ddos/ignore.ip.list” //白名单 CRON=”/etc/cron.d/ddos.cron” APF=”/etc/apf/apf” IPT=”/sbin/iptables” —————————————————————————-##### frequency in minutes for running the script##### Caution: Every time this setting is changed, run the script with –cron##### option so that the new frequency takes effectFREQ=1 //ddos.sh执行的频率,单位是分钟,搭配crontab来执行. 如果你更改了该设置,请执行 /usr/local/ddos/ddos.sh –cron —————————————————————————-##### How many connections define a bad IP? Indicate that below.NO_OF_CONNECTIONS=150//当哪个IP的连接数达到150就加入黑名单;查看连接数你可以执行#netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n—————————————————————————-##### APF_BAN=1 (Make sure your APF version is atleast 0.96)##### APF_BAN=0 (Uses iptables for banning ips instead of APF)APF_BAN=0//一般情况下你是使用iptables来做防火墙,所以这里你需要将 APF_BAN的值改为0. —————————————————————————-##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script)##### KILL=1 (Recommended setting)KILL=1//将非法的的IP加入iptables的INPUT链中,DROP之. —————————————————————————-##### An email is sent to the following address when an IP is banned.##### Blank would suppress sending of mailsEMAIL_TO=”root” //给root发一封邮件 —————————————————————————-##### Number of seconds the banned ip should remain in blacklist.BAN_PERIOD=600//屏蔽黑名单中的IP的时长
在修改了上面的注配置文件后,记得要重启一下 DDoS Deflate 进程以便配置生效,命令如下:
systemctl restart ddos
也可以使用init.d或者service的方式重启
/etc/init.d/ddos restart
or
service ddos restart
在终端命令行里输入:ddos 既可调出 ddos 各个参数的用法提示,如下图:
这些都是很简单的技术英语,大家可以自己试试加上各个参数的效果。整体上来说 DDoS Deflate 还是一个非常方便的防御脚本程序的,设定好检测频率和屏蔽IP的连接数量以及屏蔽IP时间长短后结合有防护能力的 CDN 服务器,只要服务器真实IP没有泄露的话,可以防御常见的CC/DDOS攻击的,特别是脑残手贱小白一类的攻击。明月建议各个站长们都尽量在服务器上保留着 DDoS Deflate ,到用的时候只需要修改IP连接数量就可以开启屏蔽防御了,还是很不错的,至少明月曾用 DDoS Deflate 抵挡了近一周的CC攻击呢(最后,还是因为泄露了真实IP,还是被攻破沦陷了,囧!!!)
就到这里了,如果你在使用 DDoS Deflate 时有什么不明白的,可以在本文最后留言给明月,明月会及时回复你的,也欢迎各个站长们在评论里交流使用心得哦!
如果总是会收到以下类似的邮件提示的话
Banned the following ip addresses on Tue Aug 5 01:32:01 BST 2008 1120 with 1120 connections
请查看/usr/local/ddos/ddos.sh文件的第117行netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
修改为以下代码即可!
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sed -n ‘/[0-9]/p’ | sort | uniq -c | sort -nr > $BAD_IP_LIST
上述好像新版(0.9版 GitHub专页) DDoS Deflate 已经不需要了,仅供大家参考了。
最后为了不误导大家,明月要强调一下,目前防御 CC/DDos 攻击最有效的依然是“硬防”设备,所有软防都是近乎“摆设”的存在,我曾经举过一个例子来阐述了这点:
软防类似于给服务器加了一个智能安全锁,对于“撬门“这类还是有一些效果的,但大流量的 CC/DDos 攻击就类似于对方开着重装甲“坦克”直接推到房子,所以软防是毫无效果的,只有“硬防”(准备N多重装甲坦克防护)才可以阻挡的,但“硬防”的成本不是个人、小企业可以承担的。至于说网上各类标榜“硬防”的主机,我只能说是为了忽悠你兜里的钱的,仅此而已。有用的真心很少!!!大家不要轻信这类推广就可以了。
其实防御 CC/DDos 攻击的最好办法就是隐藏好自己,大家可以参考【互联网世界里的“黑暗森林法则”】一文,我专门详述过这个。
文章分类: 技术教程
字数统计:本文共有 5263 个
本文链接:http://blog.442442.xyz/jishujiaocheng/16.html

发表评论: