系统优化-网络-如何环境DDoS攻击

DDoS 简介

DDoS 的前身是 DoS(Denail of Service),即拒绝服务攻击,指利用大量的合理请求,来占用过多的目标资源,从而使目标服务无法响应正常请求。

DDoS(Distributed Denial of Service) 则是在 DoS 的基础上,采用了分布式架构,利用多台主机同时攻击目标主机。这样,即使目标服务部署了网络防御设备,面对大量网络请求时,还是无力应对。

DDos攻击以及缓解方法

常见的有半连接攻击,攻击者发送大量的SYNC包给服务器,大量的链接处于SYN_REV状态,很快链接表被占满,比如用这个命令

1
2
3
4
-S 发sync包
-i 间隔
-p 目标端口
hping3 -S -p 80 -i u10 192.168.1.1

现象:端口响应变慢,甚至中断所有操作都慢。

排查思路:
用sar -n DEV 1看到如下结果,rxpack很大,但是rxkB很小,是典型的小包问题。

1
2
3
07:11:19 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
07:11:20 PM eth0 37279.00 18651.00 1966.75 1057.48 0.00 0.00 0.00
07:11:20 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

如何排查,我们可以用netstat看统计有多少SYN_RECV的链接发现大量的SYN_RECV,大概有190+,因为默认的链接表只有256个,所以我们的正常请求会变慢。

1
netstat -np|grep SYN_RECV|wc -l

解决思路

优化系统参数

1
2
3
4
$ cat /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1 #通过cookie,来取代半连接
net.ipv4.tcp_synack_retries = 1 #重试次数,可通过减少次数
net.ipv4.tcp_max_syn_backlog = 1024 #半链接容量

优化系统:通过XDP、DKDP来缓解

借用外部工具:通过WAF、CDN等来缓解

彻底解决:通过专业的流量清洗工具

附录

avator