DDOS DEFLATE 是一个轻量级的 bash shell 脚本,以协助用户阻止DDOS攻击,它利用下面的命令创建一个连接到服务器的 IP 地址列表,以及与他们连接总数。

DDoS-Deflate.png

它是在软件层面上的简单和最容易安装的解决方案之一。

如何查看是否被攻击

在 VPS 中输入上面的命令查看

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

安装教程

wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
#备份脚本
https://www.moewah.com/source/DDOS-DEFLATE.sh

安装完以后,你会看到一大篇协议,按 q 退出即可

安装后文件说明 安装目录为:/usr/local/ddos/

ddos.conf: 
DDoS-Deflate 的配置文件,其中配置防止ddos时的各种行为

ddos.sh:
DDoS-Deflate 的主程序,使用shell编写的,整个程序的功能模块

ignore.ip.list:
白名单,该文件中的ip超过设定的连接数时,也不被 DDoS-Deflate 阻止

LICENSE:
DDoS-Deflate 程序的发布协议

下面是配置文件的中文说明 大家可以根据配置文件进行修改,默认也可以

##### Paths of the script and other files
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

##### How many connections define a bad IP? Indicate that below. 
# 单IP发起连接数阀值,不建议设置太低.
NO_OF_CONNECTIONS=150

##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF) 
#一般情况下你是使用iptables来做防火墙,所以这里你需要将 APF_BAN的值改为0.
APF_BAN=1

##### 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=”root” 
# 这里是邮箱,可以替换成你的邮箱

##### Number of seconds the banned ip should remain in blacklist. 
# 设置被挡IP多少秒后移出黑名单.
BAN_PERIOD=600

卸载

wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos

白名单

有时候默认的白名单经常有失误,为了避免这个情况,我们可以手工设置白名单的 ip,然后强制不允许修改

vi /usr/local/ddos/ignore.ip.list //手工设置白名单IP
chattr +i /usr/local/ddos/ignore.ip.list  //强制不允许修改
chattr -i /usr/local/ddos/ignore.ip.list  //解除不允许修改

常见问题

1、如何判断是否生效?

使用 web 压力测试,自己攻击自己,详细文章,过几天会介绍

2、重新启动 VPS 脚本会自动运行吗?

会自动运行

3、运行必要软件是什么?

iptables 和 sendmail 安装方法 yum install iptablesyum install sendmail,后者可以不装。

4、怎么查看被屏蔽 IP?

如果屏蔽后,请用iptables -L -n 命令查看被屏蔽的 IP。


相关推荐

  1. ngx_waf:一款高大全的 Nginx 网站防火墙模块
  2. Ubuntu/Debian 系统安装配置 UFW 简单防火墙
  3. CentOS 7 安装使用 iptables 防火墙方法介绍
  4. Linux 服务器配置密钥实现远程免密登录
  5. vDDoS-Protection | 防攻击(DDos、CC)工具
  6. CentOS 7 firewalld 防火墙常用命令汇总
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/133.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。