Feb 28

CentOS 下抵御 Sync Flood 攻击 不指定

actimind , 08:53 , Server , Comments(0) , Trackbacks(0) , Reads(3337) , Via Original Large | Medium | Small
1、更改CentOS关于Sync的设置

SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。

查看CentOS内核中关于SYN的配置:

sysctl -a | grep syn

显示:

net.ipv4.tcp_max_syn_backlog = 1024

net.ipv4.tcp_syncookies = 0

net.ipv4.tcp_synack_retries = 5

net.ipv4.tcp_syn_retries = 5

其中:

tcp_max_syn_backlog,SYN队列长度

tcp_syncookies,SYN Cookie功能的开关,用于防止 Sync Flood 攻击

tcp_synack_retries和tcp_syn_retries,允许重试的次数

增长队列、打开Cookie功能,并减少允许重试的次数,可以一定程度上缓解 Sync Flood 攻击带来的影响。

具体操作为:

增加SYN队列长度(另据说改至8000以上效果较好)

sysctl -w net.ipv4.tcp_max_syn_backlog=5120

打开SYN COOKIE功能

sysctl -w net.ipv4.tcp_syncookies=1

降低重试次数

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3



2、启用iptables中防御 Sync Flood 攻击的规则

防止Sync Flood(–limit 1/s 限制SYN并发数每秒1次,可以根据自己的需要修改)

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

防止各种端口扫描

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

防止 Ping of Death 攻击

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
Add a comment

Nickname

Site URI

Email

Enable HTML Enable UBB Enable Emots Hidden Remember [Login] [Register]