抵御SYN

SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用 户访问。
Linux内核提供了若干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功能,该功能可以防止部分SYN攻击,

tcp_synack_retries和tcp_syn_retries定义SYN的重试次数。

加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分SYN攻击,降低重试次数也有一定效果。

调整上述设置的方法是:

#vi /etc/sysctl.conf

添加

net.ipv4.tcp_max_syn_backlog=2048
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_syn_retries=3

 

保存

#sysctl -p

你可能感兴趣的:(TCP/IP,协议,syn,sysctl.conf,3次握手)