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

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


QQ截图20181115163716.jpg



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



QQ截图20180928102343.png


通过上述这些设置,可以缓解SYN功击带来的影响,但如果遭到几百几千G的T级流量洪水功击,那只能选择像墨者安全那样的商业级的防DDOS服务了。墨者盾高防可以隐藏服务器真实IP,利用新的WAF算法过滤技术,清除DDOS异常流量,保障服务器正常运行。


猜你喜欢

转载自blog.51cto.com/13941676/2317518
今日推荐