我需要帮助,因为我的 linux ubuntu 服务器有太多的 SQL 连接,当我使用 netstat -t 检查时,发现有很多这样的连接:
tcp6 1 0 websitesaya.co.id:http 98-142-172-163.re:37854 CLOSE_WAIT
tcp6 1 0 websitesaya.co.id:http 98-142-172-163.re:34962 CLOSE_WAIT
tcp6 1 0 websitesaya.co.id:http 98-142-172-163.re:51678 CLOSE_WAIT
tcp6 0 0 websitesaya.co.id:http 157-171-172-163.r:44102 CLOSE_WAIT
tcp6 0 0 websitesaya.co.id:http vmi80876.contabo.:46980 CLOSE_WAIT
tcp6 0 531 websitesaya.co.id:http ks.kgovps.com:35146 LAST_ACK
tcp6 0 0 websitesaya.co.id:http 98-142-172-163.re:55052 CLOSE_WAIT
tcp6 1 0 websitesaya.co.id:http 157-171-172-163.r:36082 CLOSE_WAIT
tcp6 0 0 websitesaya.co.id:http 157-171-172-163.r:33698 CLOSE_WAIT
tcp6 0 0 websitesaya.co.id:http 157-171-172-163.r:59778 CLOSE_WAIT
tcp6 0 0 websitesaya.co.id:http 157-171-172-163.r:51166 CLOSE_WAIT
tcp6 0 0 websitesaya.co.id:http vmi80876.contabo.:49693 CLOSE_WAIT
tcp6 0 0 websitesaya.co.id:http 98-142-172-163.re:52406 CLOSE_WAIT
tcp6 1 0 websitesaya.co.id:http 157-171-172-163.r:53266 CLOSE_WAIT
tcp6 0 639 websitesaya.co.id:http 98-142-172-163.re:58032 LAST_ACK
tcp6 1 0 websitesaya.co.id:http ks.kgovps.com:59676 CLOSE_WAIT
还有数百甚至更多
并且无论我重启服务器或断开连接并重新连接多少次,那些奇怪的连接都会不断出现。
这是我尝试过的方法: - 我无法阻止来自 Linux 防火墙的传入连接,因为每次我想阻止它们时,都会出现错误,例如“未找到 157-171-172-163.r”。那么我究竟如何阻止这些 IP 尝试连接到我的服务器? - 我无法在 MySQL Workbench 上终止这些进程,因为出现错误“无法终止线程 0”或类似的错误
[更新] 其他论坛的其他有用建议指出,这可能是 SYN 洪水攻击
答案1
您被否决的原因是,您没有花时间研究您尝试排除故障的技术。实际上,如果您不花时间,我们为什么要花时间帮助您?
TCP 套接字处于 CLOSE_WAIT 状态意味着您的服务器已收到来自客户端的关闭连接请求 (FIN),并且服务器已发送确认 (ACK) 作为响应。在 CLOSE_WAIT 状态下,TCP 堆栈正在等待应用程序指示它已完成连接,此时服务器可以发送 FIN,套接字将转换到 LAST_ACK 状态。
现在,如果您看到每个 CLOSE_WAIT 套接字都挂起一段时间,则表明您的 Web 服务器无法足够快地释放连接。如果 CLOSE_WAIT 请求很快消失,那么您的服务器上可能有很多 Web 流量。仅仅因为您不了解某些工作原理就全面阻止 IP 地址访问您的(公开可用的)Web 服务器似乎有点愚蠢。
答案2
通过另一个论坛的有用建议,我终于解决了这个问题。我在这里发布这个答案是为了其他遇到过同样问题但不知道如何处理的人,因为这里的每个人都在给你的帖子差评而不是提供帮助。诀窍是使用 Linux 防火墙/CSF 防火墙阻止那些令人讨厌的传入 IP。
这些 IP 是反向 IP,因此如果您想阻止:
157-171-172-163.r then the IP you should block is 163.172.171.157
98-142-172-163.re then the IP you should block is 163.172.142.98
瞧,所有 CLOSE_WAIT 连接都消失了