Linux服务器防止DDos攻击解决办法

作者 : 小优 本文共2743个字,预计阅读时间需要7分钟 发布时间: 2021-08-16 共738人阅读

分布式拒绝服务(DDoS:DistributedDenial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

模拟ddos攻击

其中webbench 和 ab命令是帮助我们做压力测试的工具和性能的监视工具

这里就用webbench做为模拟,安装webbench需要从官网下载,wget  http://home.tiscali.cz/~cz210552/webbench.html

645964-20210108200057089-1720427732

yum install -y gcc* ctags
tar -xvf webbench-1.5
make && make install

第一次编译会出现错误,按提示输入 mkdir -p /usr/local/man/man1,再次编译,这里输入echo $?查看上一个命令是否执行成功,0表示成功

访问你的网络地址URL ,指定100个客户端,运行测试时间10秒,

webbench -c 100 -t 10 http://192.168.129.100

访问我服务器的IP命令

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

这里netstat -ntu截取外网和ip地址,print $5 打印这一行,cut是来截取显示的ip,sort排序,uniq -c 排除相同的记录,sort -n 排序并统计

防御DDos攻击

防御DDos的方法:添加防火墙规则、加大带宽、增加服务器、使用CDNA技术、高防服务器和带流量清洗的ISP、流量清洗服务等,还有前段自带的防御功能,例如nginx:nginx防止DDOS攻击配置或nginx调优(二)。

最常见的一般是添加防火墙规则,如果IP地址数较少可以手动添加,如果IP地址数较多一般会使用软件自动添加,例如:fail2ban(通过分析日志来判断是否使用iptables拦截,已支持firewalld防火墙。

1)DDos deflate介绍

DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或iptables禁止或阻挡这些IP。

2)安装

wget http://www.inetbase.com/scripts/ddos/install.sh
chmod +x install.sh
./install.sh

会进入一个界面按q退出

3)配置

配置文件:/usr/local/ddos/ddos.conf

//脚本和其他文件的路径
# Paths of the script and other files
PROGDIR="/usr/local/ddos"
SBINDIR="/usr/local/sbin"
PROG="$PROGDIR/ddos.sh"  //执行脚本地址
IGNORE_IP_LIST="ignore.ip.list"  //IP地址白名单列表
IGNORE_HOST_LIST="ignore.host.list"  //主机白名单列表
CRON="/etc/cron.d/ddos"  //计划任务文件地址
//防火墙命令地址
APF="/usr/sbin/apf"
CSF="/usr/sbin/csf"
IPF="/sbin/ipfw"
IPT="/sbin/iptables"
IPT6="/sbin/ip6tables"
TC="/sbin/tc"
//第22行,检查DDos时间间隔,默认1分钟
FREQ=1
//第25行,作为一个守护进程时,运行的频率,单位秒
DAEMON_FREQ=5
//第28行,最大连接数,超过该数值后IP就会被禁止,一般默认即可
NO_OF_CONNECTIONS=150
//第33行,为true时仅统计接入连接,会比统计in/out更慢禁止
ONLY_INCOMING=false
//第38行,为true时脚本将会使用tcpdump扫描由CloudFlare服务器发送的CF-Connecting-IP头标签,
//并且禁止使用iptables字符串匹配模块
ENABLE_CLOUDFLARE=false
//第43行,为true时启用PORT_CONNECTIONS,与ONLY_INCOMING相同,但更慢
ENABLE_PORTS=false
//第54行,端口连接检测,为每个端口分配监听规则,格式为“端口(或端口端):最大连接数:禁用时间(单位秒)”
PORT_CONNECTIONS="80:150:600 443:150:600 20-21:150:600"
//第58行,使用的防火墙,包括:auto, apf, csf, ipfw, and iptables
FIREWALL="auto"
//第62行,当ip被屏蔽是给指定邮箱发送邮件
EMAIL_TO="root"
//第65行,IP禁止时间,单位秒
BAN_PERIOD=600
//第71行,要阻止的连接状态,状态之间使用冒号分隔,例如:established:syn-sent:syn-recv:fin-wait-1:fin-wait-2
//该例默认情况下,会阻止监听和关闭之外的所有状态,状态详见:man ss
CONN_STATES="connected"
//第74行,当使用netstat时要阻止的连接状态,状态详见:man netstat。那理论上,上面是使用ss时阻止的连接状态?
CONN_STATES_NS="ESTABLISHED|SYN_SENT|SYN_RECV|FIN_WAIT1|FIN_WAIT2|TIME_WAIT|CLOSE_WAIT|LAST_ACK|CLOSING"
//第78行,是否监控每个ip使用的带宽,超过时降低速率(需要iftop和tc命令)
BANDWIDTH_CONTROL=false
//第82行,触发降速的带宽速率,目前支持kbit和mbit
BANDWIDTH_CONTROL_LIMIT="1896kbit"
//第87行,触发降速时,会在指定时间周期内,速率上限
BANDWIDTH_DROP_RATE="512kbit"
//第91行,降速的时间周期,单位秒,即600秒内会有速率上限
BANDWIDTH_DROP_PERIOD=600
//第95行,如果为true时,仅考虑从客户端接收的数据,而不考虑服务器发给客户端的数据
BANDWIDTH_ONLY_INCOMING=true

PS:另外最新DDoS deflate已支持systemctl命令管理,systemctl status ddos 。 由于DDos deflate目前不支持firewalld,所以需要安装iptables。

资源下载说明

请使用百度网盘下载资源,请不要在线解压!

1.人民币与U币汇率为1比10,即1元=10U币.有任何疑问请联系客服处理!
2.请记住本站永久网址发布页:http://uuscw.com
3.本站资源大多存储在云盘,如发现链接失效请在下方评论留言,作者看到后会第一时间更新补链。
4.关于解压密码错误或者资源损坏,请查看解压教程:[必看]关于资源教程及常见问题
5.本站大部分资源解压密码均为: uuscw.com 如密码有误,请查看原帖的资源说明!

免责申明:
1.如果服务器暂不能下载请稍后重试!总是不能下载,请联系客服,谢谢合作!
2.本站所有资源(包括写真、模板、素材、软件、字体等)仅供学习与参考,请勿用于商业用途。
3.本站所有素材来源于用户上传和网络,如有侵权请请联系客服处理!
4.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
博创云素材 » Linux服务器防止DDos攻击解决办法

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们。

发表评论