正文:
DDoS deflate 是一个轻量级的 bash shell脚本,它会每分钟自动检测一次 IP 连接状况。当某些 IP 连接超过脚本设置的阈值时,程序会自动禁止这些 IP 一段时间,以防止 DDoS 攻击。这是目前在软件层面上最简单和最容易安装的解决方案之一。无论您的服务器是否受到攻击,我们强烈建议您安装这个脚本,以防患于未然!
安装教程:
1. 使用 ssh 工具(如 putty、Xshell)登录服务器。
2. 输入以下命令进行安装:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
这个脚本非常小巧,下载安装速度非常快,只需几秒钟即可完成安装。安装完成后,您将看到一个协议,按下 q 键即可退出。
安装后的文件目录位于:/usr/local/ddos/
总共有四个文件,它们分别是:
DDoS-Deflate 的配置文件,其中配置防止 ddos 时的各种行为
ddos.sh:
DDoS-Deflate 的主程序,使用 shell 编写的,整个程序的功能模块
ignore.ip.list:
白名单,该文件中的 ip 超过设定的连接数时,也不被 DDoS-Deflate 阻止
LICENSE:
DDoS-Deflate 程序的发布协议
使用教程
安装好打开配置文件可以看到有简洁的说明,不够详细。下面列出中文对照,大家可以根据自己的服务器情况进行修改。
PROGDIR=”/usr/local/ddos”
PROG=”/usr/local/ddos/ddos.sh”
IGNORE_IP_LIST=”/usr/local/ddos/ignore.ip.list”
# 白名单。如有反向代理,注意添加本机地址和本机外网 IP 地址,防止提供反向代理的主机被判定为攻击。
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 effect
FREQ=1
#####检查时间间隔,默认 1 分钟。一般不用修改
##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150
#####单 IP 发起连接数阀值,达到这个数值 IP 就被拦截。不建议设置太低。
##### 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=1
#####一般情况下使用 iptables 来做防火墙,所以这里你需要将 APF_BAN 的值改为 0。
##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1
#####是否屏蔽 IP,默认即可
##### An email is sent to the following address when an IP is banned.
#####当单 IP 发起的连接数超过阀值后,将发邮件给指定的收件人。
##### Blank would suppress sending of mails
EMAIL_TO=”mikelin@wanlins.com”
#####这里是邮箱,可以替换成你自己的邮箱。
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600
#####设置被挡 IP 多少秒后移出黑名单。
卸载方法
直接输入以下命令即可卸载
wget https://www.huizhanii.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos
结语:
如何验证脚本的有效性?
可以通过进行网站的压力测试来验证脚本的有效性,可以使用自己攻击自己的方式,或者将连接阈值修改为个位数。一般来说,网站的数据库连接数不会低于个位数。
重新启动服务器之后脚本会自动运行吗?
是的,脚本会在服务器重新启动后自动运行。
如何查看被屏蔽的 IP?
可以使用命令”iptables -L -n”来查看被屏蔽的 IP。
需要注意什么?
需要注意的是,采用 CDN 加速的网站不适合使用这个脚本,因为 CDN 节点缓存服务器的 IP 很可能会被屏蔽。
转载请注明:汇站网 » DDoS deflate 一个简单的脚本,能够轻松应对网站遭受的 DDoS/CC 攻击