我使用 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
当您在 nginx 上运行反向代理时,此连接可能是由 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 服务器。