本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2020-03-28 | 编程技术 | 1930 次阅读 | 等你评论 | 0 次点赞 | 繁体

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

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

安装教程

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

如何查看是否被攻击

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

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

卸载

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 iptables 和 yum install sendmail,后者可以不装。

4、怎么查看被屏蔽 IP?

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

via:https://www.moewah.com/archives/133.html

标签: linuxddos

猜你喜欢
Fail2Ban安装使用及常用配置教程
Fail2Ban安装使用教程因为作为一个 linux 入门级别的小白, 很多人都会把一些 web 面板(比如宝塔面板)作为自己管理 vps 的首选, 而当我一段时间登录宝塔面板之后, 有时就会看...
局域内网的服务器利用个人电脑做跳板机访问互联网
公司内网的服务器均不连公网(互联网),问题来了:现在服务器上需要安装一些软件怎么办?目前一般都是编译安装!先将软件在外网机器上下载好,然后再复制到服务器内,编译安装!这种方式缺点就是比较麻烦,编...
据传宝塔面板后台会上传服务器上运行的网站信息
近期有网友根据 Github 上公开的源代码,发现宝塔面板会收集如下信息(信息真假自辩):(1)收集你所在服务器上的域名,并检查域名是否可用;(2)收集面板操作日志包括时间、用户ip、请求方式、...
如何定位Mysql中CPU占用高的查询语句
今天 mysql 服务器突然 CPU 告警,记录一下问题查找的过程第一步查看具体是哪个线程占用CPU最高1、在 Linux 中使用 top 命令找到 mysql 进程 PID2、指定进程 PID...
新安装Debian系统常用设置
解决 debian 系统没有 sudo 命令的问题刚装机的 debian 系统是没有 sudo 命令的,其实执行下面指令就可以安装:apt-get install sudo然后还需要把当前用户加...
MAC系统制作ubuntu启动U盘教程
最近新买了一台便宜的低功耗小主机惠普 T620,CPU 是 AMD 的 GX-415GA,4G 内存,准备给他刷个 ubuntu 系统,用来做简易的 NAS,并且安装 homeassistant...
树莓派开启Samba共享(smb)
什么是 Samba用简洁易懂的话说就是可以通过局域网,使用 Samba 给树莓派交换文件,具体专业的怎么说并不重要,可以去别的网上搜索,在这里只需要记住 Samba 可以传文件。安装 Samba...
部署 Monit 来监控服务
Monit 是一个轻量的监控工具,大小不到 2M,可运行于 linux 之上。它提供的功能很丰富,它可以监控本机的 CPU、文件、目录、进程等基本信息,例如 Mysql,PostgreSQL,R...
Navicat Premium 15.0.21 破解 Windows64位
Navicat 是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面
Mac OS 下 HomeBrew 更新缓慢问题解决
mac下的brew命令虽然非常好用,但是遇见更新慢时,是很闹心的一件事。 最简单的解决办法就是 替换国内源。 这里我们使用中科大的源(当然还有很多其它源,可自行搜索),方法如下: #
(首次提交评论需审核通过才会显示,请勿重复提交)