当前位置:主页 > 帮助中心 > 新闻资讯 > 2018-12-05

Linux服务器被SYN攻击怎么办?如何防御SYN攻击?

很多站长可能听说过SYN洪水攻击,SYN洪水攻击是DDOS攻击中最常见的攻击类型之一。它是一种利用TCP 协议缺陷,攻击者向被攻击的主机发送大量伪造的TCP连接请求,从而使得被攻击方主机服务器的资源耗尽(CPU 100%或内存爆满) 的攻击方式。SYN攻击的目标不止于攻击网站服务器,任何网络设备,都可能会受到这种攻击,针对网络设备的SYN攻击往往会导致整个网络瘫痪。企业遭到SYN攻击该如何防御呢?维恩网络通过以往的高防经验来分享一下如何利用iptables来缓解SYN攻击,说要是针对Linux生产环境下的解决方法。

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攻击带来的影响,但如果遭到几百几千G的T级流量洪水攻击,那只能选择像维恩网络的商业级的防DDOS服务了。我们的CDN高防可以隐藏服务器真实IP,利用新的WAF算法过滤技术,清除DDOS异常流量,保障服务器正常运行。

服务热线

400-678-1356

关注维恩网络