一、默認syn配置
- 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連接次數的盡量少。
二、修改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攻擊步驟詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!