ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
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攻击,降低重试次数也有一定效果。 调整上述设置的方法是: 增加SYN队列长度到2048: ~~~ sysctl -w net.ipv4.tcp_max_syn_backlog=2048 ~~~ 打开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 ~~~ 为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。