2014-09-23 126 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