2011-11-16 50 views
1

我已經使用sql(主要是mysql)多年,但不是專業的標準,所以我正在尋找一個正確的方向推。分割mysql數據庫的安全

我目前正在設計一個Web應用程序,將收集用戶的姓名/地址/電子郵件等在一組表,以及其他個人信息,另一組表。這些最自然地會駐留在一個數據庫中,但我一直在考慮將用戶聯繫信息分散在單獨的服務器上的一個數據庫中,並將所有其他信息分解到另一個數據庫/服務器中,理論上說,黑客必須破壞這兩個系統得到任何非常有用的東西。

我已經做了搜索和關閉數週,並沒有發現這種類型的設計多少到目前爲止討論。這通常完成嗎?這是否過分矯枉過正?有沒有一種設計方法可以解決這個問題,還是我必須自己推出這些方法?

我發現Is splitting databases a legitimate security measure?我的猜測是說,這種做法很可能矯枉過正。

+1

爲什麼要破解兩個單獨的數據庫服務器,當他們可以破解你的網絡服務器,並從那裏提取數據庫用戶/通行證? –

+0

謝謝你的回答。看起來我有更多的安全性閱讀。 – mvsjes2

回答

1

我傾向於認爲這是矯枉過正。

請查看關於這個問題我的回答:Sharing users between 2 databases

記住,解決單獨數據庫設計數據訪問 安全問題。數據訪問安全不應該導致您在數據庫設計中選擇不合邏輯的 。

0

下面是我用的方法前:

服務器1:DB 服務器2:SC

DB是在爲公衆訪問的網絡域名,但不能訪問SC SC是在網絡領域這是不是對公衆開放,但可以訪問SC

DB是您存儲的所有相關信息,其中包括「真正重要的東西。」

在指定的時間間隔(我用了5秒),SC檢查DB的任何表中的任何新的記錄,可能要監視(有一份工作或計劃任務)和加密重要信息。

雖然我在使用SQL Server 2005,並且能夠在兩個域中工作(私有(實現者)和公共(客戶端訪問)),並且我剛剛共享的是一個剝離(刪除儘可能多的MSSQL獨佔部分),簡化的版本,有一些努力,我認爲這將有可能在mysql中重新創建類似的東西,特別是如果你可以在不同的物理機器上託管你的兩個數據庫。想法得到了落實。它的成本更多,需要時,它的數據報告的時間更多的工作,但客戶很高興。

1

恕我直言,這似乎是錯誤的。通過拆分數據跨越2 d B你只會增加複雜性而沒有合理的安全利潤。

我認爲這是數據加密可以使用的地方。根據用戶憑證生成加密密鑰,並根據用戶請求加密/解密敏感數據。由於私人數據只能顯示給該用戶,所以一切都應該沒問題。