DDoS Deflate - 阻止拒绝服务攻击的 bash shell 脚本


Artistic
跨平台
SHELL

软件简介

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

卸载

以 root 用户身份执行以下命令:

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 运行时,不需要重新启动