全面處理Linux syn攻擊
Linux syn攻擊是一種黑客攻擊,如何處理和減少這種攻擊是系統(tǒng)管理員比較重要的工作,怎么才能出色的完成這項(xiàng)工作,希望通過本文能給你一啟發(fā),讓你在以后工作中能輕松完成抵御Linux syn攻擊的任務(wù)。
虛擬主機(jī)服務(wù)商在運(yùn)營過程中可能會(huì)受到黑客攻擊,常見的攻擊方式有SYN,DDOS等。通過更換IP,查找被攻擊的站點(diǎn)可能避開攻擊,但是中斷服務(wù)的時(shí)間比較長。比較徹底的解決方法是添置硬件防火墻。不過,硬件防火墻價(jià)格比較昂貴??梢钥紤]利用Linux 系統(tǒng)本身提供的防火墻功能來防御。
抵御SYN SYN攻擊是利用TCP/IP協(xié)議3次握手的原理,發(fā)送大量的建立連接的網(wǎng)絡(luò)包,但不實(shí)際建立連接,最終導(dǎo)致被攻擊服務(wù)器的網(wǎng)絡(luò)隊(duì)列被占滿,無法被正常用戶訪問。
Linux內(nèi)核提供了若干SYN相關(guān)的配置,用命令: 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隊(duì)列的長度,tcp_syncookies是一個(gè)開關(guān),是否打開SYN Cookie 功能,該功能可以防止部分SYN攻擊。tcp_synack_retries和tcp_syn_retries定義SYN 的重試次數(shù)。加大SYN隊(duì)列長度可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù),打開SYN Cookie功能可以阻止部分 SYN攻擊,降低重試次數(shù)也有一定效果。
調(diào)整上述設(shè)置的方法是:
增加SYN隊(duì)列長度到2048:
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
打開SYN COOKIE功能:
sysctl -w net.ipv4.tcp_syncookies=1
降低重試次數(shù):
sysctl -w net.ipv4.tcp_synack_retries=3 sysctl -w net.ipv4.tcp_syn_retries=3
為了系統(tǒng)重啟動(dòng)時(shí)保持上述配置,可將上述命令加入到/etc/rc.d/rc.local文件中。
防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
也有人寫作
#iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
--limit 1/s 限制syn并發(fā)數(shù)每秒1次,可以根據(jù)自己的需要修改
防止各種端口掃描
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Ping洪水攻擊(Ping of Death)
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
到這里L(fēng)inux syn攻擊問題的處理就可以解決了。
【編輯推薦】