技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類(lèi) >

Linux下的vps被ddos攻擊的解決辦法

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-11-13 00:07┆點(diǎn)擊:

  連接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)了