我使用 nginx 作為代理伺服器 apache2 並且 netstat 輸出有問題:
$ netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
5 109.195.36.169
6 109.195.33.205
8 194.190.59.4
14 83.246.143.75
19 109.195.33.201
725 127.0.0.1
部分輸出:netstat -nt
tcp 0 0 127.0.0.1:59703 127.0.0.1:8080 TIME_WAIT
tcp 0 0 127.0.0.1:11211 127.0.0.1:45684 ESTABLISHED
tcp 0 0 127.0.0.1:45848 127.0.0.1:11211 ESTABLISHED
tcp 1 0 127.0.0.1:8080 127.0.0.1:59867 CLOSE_WAIT
如何刪除這些本機主機連線?還是這是正常行為?我懷疑我的網站受到 DDOS 攻擊。
答案1
實際上沒有。至少,你的部分輸出netstat -nt
是正常的
tcp 0 0 127.0.0.1:59703 127.0.0.1:8080 TIME_WAIT
tcp 1 0 127.0.0.1:8080 127.0.0.1:59867 CLOSE_WAIT
當您在 apache 上執行反向代理程式時,該連線可能是由 nginx 與 apache 建立的。
tcp 0 0 127.0.0.1:11211 127.0.0.1:45684 ESTABLISHED
tcp 0 0 127.0.0.1:45848 127.0.0.1:11211 ESTABLISHED
埠 11211 是memcache 守護程序的常規端口。因此,此連線可能是由您的 Web 應用程式與 memcache 伺服器建立的。
也考慮到一個簡單的事實:攻擊者無法從外部到達環回位址(127.0.0.1) -實際上攻擊者可以欺騙它但他不會得到回复-,那麼可以肯定您的伺服器「很好」。
如果有很多像上面這樣的連線(連接埠 8080 和 11211),那麼它可能表明你的 nginx 伺服器中有很多請求。這將產生以下效果:
- nginx 將會連線到 apache。
- apache 將執行您的 Web 程式碼,從而在必要時連接到 memcache 伺服器。