2010-02-08 37 views
2

我們在PHP中編寫了大部分網站,並且經常使用MySQL數據庫連接。我們目前正在專用服務器上遇到一個主要的性能問題。訪問我們的服務器時,它會非常緩慢地加載網頁,並且永久性地使用SSH進入機器。我們重新啓動了幾次,幾分鐘後問題再次出現。檢查MySQL日誌是否存在性能問題/ DOS攻擊

我們的網絡主機(MidPhase)表示它可能與DOS攻擊有關,他們將把我們的專用服務器放置在CiscoGuard上24小時,並檢查我們的服務器日誌以驗證是否屬實。

我擔心我們可能會有一些編碼不好的PHP腳本被利用。

如何檢查服務器廣泛的可能是PHP/MySQL注入漏洞可能導致的問題?

謝謝 Tegan

+0

看起來我可能已經找到了罪魁禍首。我使用了「ps aux」,並且看到mysql使用了我們CPU的24%。 然後我看着mysql正在運行的進程,並注意到我們的一個客戶正在遭受重創。 這是一個使用舊版本Drupal的客戶端,有人試圖強行登錄。我完全禁用了網站,現在情況看起來好轉了。 有人沒有及時瞭解安全補丁的經典案例。 – 2010-02-08 17:18:11

回答

0

我會檢查是否有不尋常的請求訪問日誌(特別是那些表明SQL注入,或大量的請求到相同的URL),並且還使MySQL的慢查詢日誌可以是有用的,因爲它將允許您查看任何可能表明有人傾銷您的數據庫的重度查詢,或者您自己的代碼在查詢上表現不佳。

考慮修改較慢的查詢時間值(默認10秒)以獲得有價值的日誌,而不是查詢空/臃腫。

使用mtop實時查看MySQL的性能可能也很有幫助。

0

假設你用一盞燈的設置,我會的東西開始喜歡

$ top 

$ ps aux 

看看什麼進程正在使用大量資源。它可能是php/mysql,但它也可能是郵件服務器或垃圾郵件過濾器(只是一個例子,如果你在同一臺服務器上運行它)。

+0

是的,它是一個LAMP設置。 讓我說運行上面的命令後,我看到mysql正在使用大量的資源。 我該如何深入研究並查看哪些單個PHP頁面可能導致問題。 – 2010-02-08 16:47:10

+0

這是一個棘手的問題,我記得尋找並沒有找到它。除了檢查哪些頁面在httpd日誌中的加載比平常更多之外,我只能推薦在serverfault.com上詢問相同的問題。抱歉。 – jeroen 2010-02-08 17:02:49

0

我建議您簡單地通過任何PHP,並確保查詢正在被轉義(或使用綁定),並且您正在篩選可能的XSS攻擊。