2012-08-07 58 views
3

三週前,我發現了一個我的網站用戶名單和Paste Bin提供的所有隱私信息。我運行更新並防止SQL注入。我還添加了一個預先請求,以將文本格式的SQL保存在LOG表中,只要用戶輸入需要能夠分析任何注入,如果我的保護不夠。MySql數據庫被黑客入侵,未注入

然後今天同樣的帖子再次粘貼到最近的條目,所以我檢查了LOG表,只找到乾淨的條目。除了我應該擔心的注射外,還有別的嗎?網絡似乎只提供有關注射的信息!

他們是否可以訪問服務器上的php文件中的dbpassword,並可以從外部服務器連接?

我應該經常更改dbpassword嗎?

是否有任何解決方案非腳本智能像託管安全計劃或類似的應該足夠高效?

我收到了來自黑客攻擊用戶的物理威脅,真的想迅速關閉這個...

+2

有任何數量的方式可能會危及您的數據庫。您可能想要解釋您的應用程序體系結構以及您如何使用數據庫和密碼。同時現在更改你的數據庫密碼,包括root。 – 2012-08-07 21:17:28

+0

我會在這裏繼續跟進,因爲顯然你們所有人都有很好的建議,並且我列出了一份目前正在半途而廢的清單,但是對於某些明天早上我必須打電話給託管服務提供商的操作。再次感謝,一旦我掌握了一切,我會更新這個問題! – 2012-08-08 01:27:28

回答

5

如果你正在執行對用戶輸入自己的保護,你可能就錯了。大多數標準的數據庫庫會爲您提供一種將參數傳遞給查詢的方式,在這些查詢中它將被正確地消毒,並且這些數據庫將被編碼,而且您可能已經注意到了比您可能意識到的更多的事情。在任何與安全有關的方面重新創造輪子是一個壞主意!

其他的事情擔心:

  • 密碼策略(強密碼)
  • 訪問數據庫服務器(是防火牆?)
  • SSH訪問您的服務器(再次,防火牆?)
  • 保持所有軟件上的最新
2

這樣做的最好的保護就是讓到mysql連接數據庫只能從你的應用程序運行的機器上運行

1

首先,確保網絡訪問MySQL數據庫是「需要知道的」 - 在大多數情況下,這是一個簡單的bind-address 127.0.0.1

下一頁改變數據庫的密碼,只因爲是的,你可以(C)

現在想:如果有人從你的PHP文件中有你的DB的passwd,你已經是在深S *** T:沒有什麼能阻止他或她重複那個特技!你需要審覈你的後門應用程序(事後問題)以及這些人是如何進入的(事實問題之前)。檢查你的apache日誌尋求不尋常的GET參數 - 在那裏的文件名主要是一個死的givaway。

0

我同意Razvan。另外,如果您正在運行任何CMS或預先打包的網頁,請確保它們是最新版本。他們很可能從Web服務器作爲本地主機訪問。黑客會遵循這些更改日誌,每次發佈安全補丁時,都會攻擊運行舊版本的服務器上發佈的漏洞。它通常由抓取工具批量執行。機率是他們有一個數據庫與您的服務器列爲運行舊版本的東西。

0

首先,您需要確保包含數據庫密碼的這個「php文件」不在Web根目錄內,否則他們可以簡單地訪問它:http://mydomain.com/dbpassword.php

二,立即更改用於訪問數據庫的密碼。

第三,確保MySQL將只接受來自連接「本地主機」,允許VS從任何地方連接; '%'。如果它是一個專用的服務器,那麼你應該「加固」這個盒子,並且向IPTables添加一個IP規則,其中只允許從服務器的IP訪問mysql。這些更改將確保如果他們確實獲得了db用戶名/密碼,他們就無法從遠程計算機訪問數據庫,而是必須利用您的應用程序或ssh訪問您的服務器以訪問數據庫。

接下來,你應該禁止所有用戶帳戶到您的網站,並迫使他們更新使用閉環驗證過程中他們的密碼。這將確保您的用戶或其帳戶不會發生持續惡意活動。

這些僅僅是一些要採取的步驟,還有其他諸如跟蹤本地用戶登錄活動。您的系統的某個用戶帳戶可能已被入侵(發生過)。重點是,您需要考慮所有訪問您的系統和服務的點,如果您無法做到這一點,您可能需要聘用或聘用經驗豐富的系統管理員來幫助您。

+0

Soooo ...詢問心靈想要更新。 – 2012-08-20 16:58:49

4

只是添加到目前爲止你已經有的其他答案。如果有人在線發佈數據庫的內容,那麼您需要假設運行應用程序和數據庫的服務器已經被入侵,因爲一旦他們獲得了初始訪問權限,他們很可能已經放置了root-kit或類似的工具到服務器上以保持對其的訪問。

至於他們是如何得到的還有一些潛在的選擇,取決於你的解決方案的架構,它的imposssible說這是沒有更多的細節情況。一些更可能的選擇方案就是

  • SSH密碼
  • 管理Web應用程序(如的phpMyAdmin)通過託管服務(如行政登錄面板弱密碼)
  • 訪問常用的密碼或者漏洞
  • 如果網站是基於PHP遠程文件包含的問題是一個明顯的可能性

如果可以,我建議取證或事件響應公司從事於他如果你恢復數據並重建,但是如果我沒有建議從破壞前獲得備份並使用它來重建服務器,那麼確保所有軟件都已更新並修補,並且密碼與受損系統不同,然後將其聯機。

0

如果這是共享的虛擬主機,而另一個用戶使用shell訪問登錄並能夠路徑猜測到你的Web根目錄和密碼配置(PHP或其他腳本)文件是世界可讀的,那麼用戶可以閱讀它。

這是最常見的漏洞之一,是很容易被利用。

如果是這樣的話:

要解決這個問題,你需要在配置文件移到你的Web根目錄文件夾和/或改變它的權限,以便它不是所有人可讀的,然後改變你的數據庫密碼。

最有可能的是,用戶將無法向您的應用程序注入任何東西。

更改數據庫服務器,以便它只是訪問本地或到Web服務器將沒有任何好處,因爲惡意用戶將是相同的Web服務器上,並仍然能夠訪問它。

如果你沒有看到任何惡意查詢,那麼他們很可能通過MySQL命令行(或的phpMyAdmin或其他工具)訪問你的數據庫,而不是通過您的應用程序。

啓用general query log將允許您在日誌中以純文本形式查看所有查詢,但如果這是共享的Web(和MySQL服務器)託管,您可能無法啓用此功能。

這是你可能希望報告給你的虛擬主機的東西。他們可能能夠找到攻擊者並暫停其帳戶或向您提供證據。