400-1513-886

聚焦技术实践,关注前沿热点

首页文章系统运维

CentOS7下使用DDoS deflate+iptables防御DDoS攻击

发布时间:2个月前 浏览:138 次

查看攻击IP

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

解决方法:使用DDoS deflate+iptables

DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。

安装DDoS deflate

wget http://www.inetbase.com/scripts/ddos/install.sh #下载
chmod 0700 install.sh #添加权限
./install.sh #执行安装

配置DDoS deflate

vim /usr/local/ddos/ddos.conf

将配置中APF_BAN=1 改为0保存。

注释:

IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名单

CRON="/etc/cron.d/ddos.cron" //定时执行程序

FREQ=1 //检查时间间隔,默认1分钟

NO_OF_CONNECTIONS=150 //最大连接数,超过就会被屏蔽,默认。

APF_BAN=1 //使用APF还是iptables,使用iptables,将APF_BAN的值改为0。

KILL=1 //是否屏蔽IP,默认。

EMAIL_TO="root" //当IP被屏蔽时给指定邮箱发送邮件,修改为自己邮箱或默认。

BAN_PERIOD=600 //禁用IP时间,默认600秒。

修改/usr/local/ddos/ddos.sh

vim /usr/local/ddos/ddos.sh
#注释掉第117行:

#netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST

#下面新增一行,保存

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sed -n '/[0-9]/p' | sort | uniq -c | sort -nr > $BAD_IP_LIST

注释:

awk '{print NR $0}' NR为行号 $0为打印全部

cut -d 截取字符 -f 第几段

sed -n '[0-9]/p' 打印纯数字匹配行(不包含点号)

sort -n数字排序正序 -nr 数字排序倒序

iptables防火墙安装与配置

yum install iptables-services

将规则写入iptables配置文件

vim /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80  -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

重启iptables防火墙和加入开机启动服务

systemctl restart iptables.service
systemctl enable iptables.service

确认iptables服务状态

service iptables status

DDos命令选项

/usr/local/ddos/ddos.sh -h    //查看选项 
/usr/local/ddos/ddos.sh -k n  //杀掉连接数大于n的连接。n默认为配置文件的NO_OF_CONNECTIONS
/usr/local/ddos/ddos.sh -c    //按照配置文件创建一个执行计划

DDoS deflate卸载(不再使用该脚本时可以通过以下方式卸载)

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

联系我们

公司名称:广州统天网络科技有限公司
公司地址:广州市白云区石井镇潭村水闸街6号(总部)
北京中心:北京市丰台区定安东里20号
西安中心:西安市未央区凤城二路10号天地时代广场C座31202