連接vps 輸入第一個(gè)命令
netstat -anp |awk ‘{print $6}’|sort|uniq -c |sort -rn
這里我們查看SYN_RECV這些,看他的連接數(shù)高不高,好幾百,就有可能被ddos了
接下來(lái)追查是來(lái)自哪個(gè)ip發(fā)出syn的
指令:netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more
接下來(lái)繼續(xù)看下,輸入指令
netstat -ntu | grep SYN | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n more
netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more
確認(rèn)了被syn攻擊后,我們來(lái)改動(dòng)下syn
查看默認(rèn)的syn配置
輸入 sysctl -a | grep _syn
可以看到,這個(gè)是我已經(jīng)配置好了的,大家可以參考
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 10240
tcp_max_syn_backlog是SYN隊(duì)列的長(zhǎng)度,加大SYN隊(duì)列的長(zhǎng)度可以容納更多等待網(wǎng)絡(luò)連接數(shù)。tcp_syncookies是一個(gè)開(kāi)關(guān),打開(kāi)SYN Cookie 功能,可以防止部分SYN攻擊。tcp_synack_retries和tcp_syn_retries定義SYN 的重試連接次數(shù),將默認(rèn)的參數(shù)減小來(lái)控制SYN連接次數(shù)的盡量少。
修改方法,使配置立即生效,無(wú)需重啟,可以執(zhí)行
#sysctl -w net.ipv4.tcp_max_syn_backlog=10240
#sysctl -w net.ipv4.tcp_syncookies=1
#sysctl -w net.ipv4.tcp_synack_retries=3
#sysctl -w net.ipv4.tcp_syn_retries=3
這樣就可以了,之后可以再次輸入最前面的命令,來(lái)查看syn是否降下來(lái)了