SYN泛洪攻击(SYN Flood)是指使用不完善的TCP/IP三次握手,恶意发送大量只包含SYN握手序列的数据包的攻击方法。这种攻击方法可能会导致被攻击的计算机拒绝服务甚至崩溃,从而使潜在的连接占用大量的系统资源,无法完成三次手。
![教你如何在Linux中防止SYN Flood攻击](http://p2.ttnews.xyz/loading.gif)
如果您遭受SYN洪水攻击下的Linux服务器,您可以设置以下:
减少SYN-超时时间:
<code>iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -m limit –limit 1/sec –limit-burst 5 -j ACCEPT/<code>
每秒最多3个syn数据包
<code>iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -A syn-flood -p tcp –syn -m limit –limit 1/s –limit-burst 3 -j RETURN
iptables -A syn-flood -j REJECT/<code>
设置syncookies
<code>sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=3072
sysctl -w net.ipv4.tcp_synack_retries=0
sysctl -w net.ipv4.tcp_syn_retries=0
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.forwarding=0
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1/<code>
防止ping命令
<code>sysctl -w net.ipv4.icmp_echo_ignore_all=1/<code>
阻止特定的IP范围
<code>iptables -A INPUT -s 192.168.5.1/8 -i eth0 -j Drop/<code>
转自:https://www.linuxprobe.com/linux-syn-flood.html
閱讀更多 IT小白進階之路 的文章