服务器遭到SYN攻击怎么办?如何防御SYN攻击?

SYN洪水攻击是DDOS攻击中最常见的攻击类型之一。是一种利用TCP 协议缺陷,攻击者向被攻击的主机发送大量伪造的TCP连接请求,从而使得被攻击方主机服务器的资源耗尽(CPU 满负荷或内存不足) 的攻击方式。SYN攻击的目标不止于服务器,任何网络设备,都可能会受到这种攻击,针对网络设备的SYN攻击往往会导致整个网络瘫痪。企业遭到SYN攻击该如何防御呢?今天就来分享一下如何利用iptables来缓解SYN攻击。
在这里插入图片描述

1、修改等待数
sysctl -w net.ipv4.tcp_max_syn_backlog=2048

2、启用syncookies
sysctl -w net.ipv4.tcp_syncookies=1

3、修改重试次数
sysctl -w net.ipv4.tcp_syn_retries = 0
重传次数设置为0,只要收不到客户端的响应,立即丢弃该连接,默认设置为5次

4、限制单IP并发数
使用iptables限制单个地址的并发连接数量:
iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT

5、限制C类子网并发数
使用iptables限制单个c类子网的并发链接数量:
iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 24 -j REJECT

6、限制单位时间内连接数
设置如下:
iptables -t filter -A INPUT -p tcp --dport 80 -m --state --syn -m recent --set
iptables -t filter -A INPUT -p tcp --dport 80 -m --state --syn -m recent --update --seconds 60 --hitcount 30 -j DROP

7、修改modprobe.conf
为了取得更好的效果,需要修改/etc/modprobe.conf
options ipt_recent ip_list_tot=1000 ip_pkt_list_tot=60
作用:记录10000个地址,每个地址60个包,ip_list_tot最大为8100,超过这个数值会导致iptables错误

8、限制单个地址最大连接数
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j D

通过上述这些设置,可以缓解SYN攻击带来的影响,但只能承受小量的攻击,如果您的服务器遇到成千上万的SYN攻击,还是建议联系IDC供应商处理的。

猜你喜欢

转载自blog.csdn.net/LuHai3005151872/article/details/107459253