DDoS Deflate – 用于阻止DDoS攻击的Shell脚本
DDoS Deflate是一个轻量级的bash shell脚本,旨在帮助阻止拒绝服务攻击。它是软件级别最简单和最简单的解决方案之一。
如果您对拒绝服务攻击一无所知,请阅读以下维基百科文章:
工作原理:它使用netstat命令跟踪并监视所有连接到服务器的IP地址。只要它检测到来自单个节点的连接数超过配置文件中定义的某个预测试限制,脚本就会根据配置自动通过IP表或APF阻止该IP地址。
它利用下面的命令创建连接到服务器的IP地址列表以及它们的总连接数。
netstat -an | awk'{print $ 5}'| cut -d:-f1 | 排序| uniq -c | 排序-n
特征:
如何安装DDoS Deflate以root用户身份执行以下命令:
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip解压缩master.zipcd ddos??-deflate-master运行./install.sh如何使用DDoS Deflate安装DDoS Deflate后,请修改配置文件以满足您的需求。
/etc/ddos/ignore.host.list
在此文件上,您可以添加要加入白名单的主机名列表,例如:
googlebot.commy-dynamic-ip.somehost.com/etc/ddos/ignore.ip.list
在此文件上,您可以添加要加入白名单的IP地址列表,例如:
12.43.63.13129.134.131.2/etc/ddos/ddos.conf
这个配置文件修改了ddos脚本的行为。
修改配置文件后,您需要重新启动守护程序。如果在systemd上运行:
systemctl重启ddos
如果以传统的init.d脚本运行:
/etc/init.d/ddos重启要么
服务ddos重启
如果您将脚本作为cronjob运行,则不需要重新启动。
用法:ddos [选项] [N]N:tcp / udp连接数(默认值为150)
选项:
-h | - 帮助:显示帮助屏幕。
-c | --cron:创建cron作业以定期运行脚本(默认1分钟)。
-i | --ignore-list:列出已列入白名单的IP地址。
-b | --bans-list:列出当前被禁止的IP地址。
-d | --start:初始化一个守护进程来监视连接。
-s | - 停止:停止守护进程。
-t | --status:显示当前正在运行的守护进程和pid的状态。
-v | --view:显示到服务器的活动连接。
-k | --kill:阻止所有IP地址连接超过N个连接。
下载地址:https://github.com/jgmdev/ddos-deflate/releases
可以通过/etc/ddos/ignore.ip.list将IP地址列入白名单。
可以通过/etc/ddos/ignore.host.list将主机名列入白名单。
简单的配置文件:/etc/ddos/ddos.conf
IP地址在预先配置的时间限制后自动解除阻塞(默认值:600秒)
脚本可以通过配置文件以选定的频率作为cron作业运行(默认值:1分钟)
脚本可以通过配置文件以选定的频率作为守护程序运行(默认值:5秒)
当IP地址被阻止时,您可以收到电子邮件警报。
通过连接状态控制阻塞(请参见man netstat)。
自动检测防火墙。
支持APF,CSF,ipfw和iptables。
将事件记录到/var/log/ddos.log
使用tcpkill减少攻击者打开的进程数量。
拒绝服务攻击
仅供于学习研究使用,不得非法使用,如非法操作,责任自行承担