SYN泛洪攻擊(SYN Flood)是指使用不完善的TCP/IP三次握手,惡意發送大量只包含SYN握手序列的數據包的攻擊方法。這種攻擊方法可能會導致被攻擊的計算機拒絕服務甚至崩潰,從而使潛在的連接占用大量的系統資源,無法完成三次手。 |
如果您遭受SYN洪水攻擊下的Linux服務器,您可以設置以下:
減少SYN-超時時間:
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
每秒最多3個syn數據包
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
設置syncookies
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
防止ping命令
sysctl -w net.ipv4.icmp_echo_ignore_all=1
阻止特定的IP范圍
iptables -A INPUT -s 192.168.5.1/8 -i eth0 -j Drop