2014-09-23 125 views
0

我是管理Linux服务器的noob。所以如果你回复请用简单的话。来自127.0.0.1的太多TIME_WAIT

由于24H我的服务器速度非常慢,而且我的CPU> 100%,所以我经常受脚本小子的ddoss攻击。所以我把这个cmd在腻子检查,如果我受到攻击:netstat -antu | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -n

的我看到127.0.0.1

putty

许多连接后,我把这个命令:netstat -np | grep 127.0.0.1

enter image description here

你可以看到有很多TIME_WAIT,我想我不好。我不确定是否太正确,但所有TIME_WAIT都来自mysql,不是吗?我在Google上搜索过,但很多回复是因为在查询后没有关闭mysql。但是我使用Symfony2与教义,所以我认为教义做得很好,并且自2周以来我没有改变查询。

我不知道该如何解决这个问题。

编辑netstat -nap -A inet

enter image description here

回答

-1

看来,他们正试图超载您的SQL服务器,这显然是一个DOS攻击。 (我想,因为你没有发布完整的netstat列表,它会显示外部连接去哪个端口...) 如果你只使用本地主机使用你的SQL数据库,你应该配置SQL服务器绑定只有到localhost

您应该在这里遵循的细节:MySQL Listen on localhost only

如果这不会解决你的问题,但IP号码的长长的名单都没有了,那么你仍然有你的程序被访问SQL一些问题数据库。

+0

我已经在/etc/my.cnf中设置了bind-address = 127.0.0.1,并且重启了很多次mysql服务。 – Hotgeart 2014-09-24 05:28:07

+0

请输出: netstat -nap -A inet – 2014-09-24 05:31:31

+0

这只是netstat的一部分,你可以看到它有超过4000个连接,显然无法全部显示... 也没有关于netstat的“LISTENING”部分的信息,那么您究竟是怎么诊断出LISTENING只是在loopback上才做的?! – 2014-09-24 06:23:50

0

这些都是你的MySQL服务器和运行在同一主机上的客户端之间的所有内部连接,通过127.0.0.1,它只能从主机内部访问。这不是任何'脚本小子'的攻击',除非你正在攻击自己,或者安装了一些恶意软件。

+0

好的,有一种方法可以知道是谁做的? – Hotgeart 2014-09-24 09:01:01