DoS Deflate 是一个轻量级的 bash shell 脚本,旨在协助阻止拒绝服务攻击的过程。它使用以下命令创建连接到服务器的 IP 地址列表及其总连接数。在软件层面,它是最简单、最容易的安装解决方案之一。
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
具有超过预先配置连接数量的 IP 地址会在服务器的防火墙中被自动屏蔽,可以是直接 iptables 或高级策略防火墙(APF)。 (在通常情况下我们强烈建议在服务器上使用 APF,但是 deflate 在没有它的情况下工作)
安装
以 root 用户身份执行以下命令:
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip unzip master.zip cd ddos-deflate-master ./install.sh
卸载
cd ddos-deflate-master ./uninstall.sh
用法
安装程序将自动检测你的系统是否支持 init.d 脚本,systemd 服务或 cron 作业。如果找到它们之一,它将安装 apropiate 文件并启动 ddos 脚本。在 init.d 和 systemd 的情况下,ddos 脚本作为守护程序启动,默认情况下,监视间隔设置为 5 秒。守护进程比 cron 作业检测攻击快得多,因为 cron 的上限为 1 分钟间隔。
/etc/ddos/ignore.host.list
在此文件中,添加要列入白名单的主机名列表
googlebot.com my-dynamic-ip.somehost.com
/etc/ddos/ignore.ip.list
在此文件中,添加要列入白名单的 IP 地址列表
12.43.63.13 129.134.131.2
/etc/ddos/ddos.conf
ddos 脚本的行为由此配置文件修改。有关更多详细信息,请参阅 man ddos,其中包含不同配置选项的文档。
修改配置文件后,需要重新启动守护程序。如果在 systemd 上运行:
systemctl restart ddos
如果以经典的 init.d 脚本运行:
/etc/init.d/ddos restart or service ddos restart
将脚本作为 cron job 运行时,不需要重新启动