2010-01-28 84 views
2

我是一名學生,我們正在爲一家醫院製作一個簡單的信息系統。 如何提高mysql數據庫的安全性,保護機密信息。如何提高mysql數據庫的安全性

+0

關閉服務器 - 這將使數據庫無法進行攻擊。真的:你目前採取了哪些步驟?如果我們不知道目前的狀態是什麼,我們應該如何知道什麼或如何改進? – Joey 2010-01-28 09:17:24

+0

您需要的不僅僅是保護機密數據。我也在醫院工作,安全不僅限於訪問。您還必須考慮高可用性(儘量減少停機時間),備份和恢復策略,重複測試和生產系統......這是一個太模糊的問題。 – jap1968 2011-12-08 22:11:37

回答

3

安全性是一個複雜的問題,很難回答模糊的問題。

一些概括。

如果將數據庫和應用程序放置在同一臺服務器上是合理的,那麼您應該這樣做並禁用對該數據庫的所有遠程訪問。缺點是這會限制您使用單獨的數據庫和應用程序服務器進行擴展的能力。

此外,您需要確定是否需要複製。如果你這樣做,那麼你需要允許訪問,而如果你可以逃避它,你不應該。

你需要對你的用戶名和密碼制度嚴格。實際上,我爲應用程序訪問使用用戶名和密碼來使用密碼生成器,但你走多遠的距離取決於你。

你應該假設有人可以訪問你的數據庫。每個「用戶」只應具有用戶所需的權限才能執行該任務。每個用戶都可以做得更安全,當有人進入時,你會變得更加安全。你可能需要創建幾個用戶,這樣你的應用程序的每一部分都可以完成他們的工作,而且只有他們的工作。

最後,你應該考慮獲得訪問數據庫的後果。我會假設健康記錄需要極高的安全性。您可能會考慮在數據庫本身中進行某種形式的加密/混淆處理,但我從未需要自己做這件事,因此我無法對此加以評論。

4

短短几年把我的頭頂部...

  1. 使用一個好的密碼
  2. 只允許它應該被訪問的地方訪問服務器。例如。如果它只應該被同一臺機器上的Web服務器訪問,那麼不要允許從機器外部訪問mysql。
  3. 給予每個可以訪問它的用戶自己的用戶名和密碼,並限制他們只執行他們需要執行的操作。禁用DROP,DELETE等,不給普通用戶權限更改數據庫,創建表,更改表等。
  4. 請確保您瞭解MySQL中使用的用戶權限系統。這首先是一場噩夢,但當你得到它的時候會給你很多控制權。
  5. 不要以爲它是安全的 - 它不是 - 不管你做了什麼,你總是可以做得更多。
0

不允許來自除應用服務器IP地址之外的所有IP地址的連接。並確保使用數據庫的應用程序沒有安全漏洞。 :)

2
  1. 使用一個好的密碼
  2. 只允許來自特定IP訪問者
  3. 強大的密碼系統,因此,即使黑客攻擊,沒有人會甚至自己

md5('your-password')不夠安全,儘量像md5(md5('your-password').'your-password')