sysctl -a | grep _syn net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_syn_retries = 5
tcp_max_syn_backlog 是SYN佇列的長度,加大SYN佇列長度可以容納更多等待連線的網路連線數。 tcp_syncookies是一個開關,是否開啟SYN Cookie 功能,該功能可防止部分SYN攻擊。 tcp_synack_retries和tcp_syn_retries定義SYN 的重試連線次數,將預設的參數減少來控制SYN連線次數的盡量少。
ulimit -HSn 65535 sysctl -w net.ipv4.tcp_max_syn_backlog=2048 sysctl -w net.ipv4.tcp_syncookies=1 sysctl -w net.ipv4.tcp_synack_retries=2 sysctl -w net.ipv4.tcp_syn_retries=2
#Syn 洪水攻击(--limit 1/s 限制syn并发数每秒1次) iptables -A INPUT -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 iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
最後別忘記將二、三、裡面的指令寫到/etc/rc.d/rc.local
以上是linux 防禦SYN攻擊步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!