2012-03-18 55 views
2

我一直在爲我的客戶端創建一個ASP.net Web應用程序。這將在其組織中進行託管(此要求是強制性的)。他們的要求之一是保護數據庫中的數據,以便他們的內部管理員和DBA在他們進入服務器或獲取數據庫備份時無法看到數據。在SQL Server 2008數據庫中保護數據的最佳做法

我使用LINQ到SQL和ADO.NET來查詢數據庫。

什麼被認爲是確保包含在數據庫中的數據的最佳做法?

我正在考慮的一個選項是在業務層和應用程序中的數據訪問層之間添加一個加密/解密層,以處理數據保護。

我擔心這種做法會降低數據庫的性能和應用性能。

歡迎任何想法或建議。

PS。這將是快速和容易實現將是一種選擇更好;-)

回答

1

Assumming您使用的是Windows 2008或Windows 2008 R2(或Vista或Windows 7)。

不加密的數據庫中的數據,它會降低性能(以蝸牛速度的點),你會失去很多的數據庫功能。使用BitLocker或EFS

加密(使用EFS則可以只加密數據庫文件,並且更易於安裝和維護;不要忘記備份加密證書)。

EFS:

允許使用Windows備份管理員只備份(WBADMIN帶命令行應該是足夠的,並且可以提供太)。我建議備份整卷。

這些備份管理員將使用SEPARATE憑據登錄該計算機,而不是運行SQL Server 2008的憑據,並且他們不得訪問加密密鑰和/或不得安裝它們。

備份管理員將能夠按原樣備份加密文件,但永遠無法訪問它們,因爲Windows備份使用VHD作爲備份格式(並且文件仍在NTFS捲上,並使用這些機密證書加密)。

不要忘了不授予他們的權限登錄到數據庫,只是讀/轉儲數據。 測試此設置並執行恢復(如果您未準備好,加密數據很容易丟失)。

+0

同時,檢查了Bitlocker的。 – 2016-03-24 13:13:08

相關問題