[SQL SERVER][Security]瞭解透明資料加密 (TDE)#簡介
一直沒有時間來玩玩SQL2008 TDE(新特性),最近剛好有個安全上的需求,
藉此實做並記錄一下。
前言:
早期SQL Server在安全性上總讓人詬病,無法處理保護整個資料庫,
但現在SQL2008的TDE可以很方便就達到這樣的需求。當公司對於資料庫安全非常重視,
如果發生Mdf/ldf檔案或資料庫備份檔不小心被竊取時,也要達到無法還原或附加成功到其他資料庫實例上,
而且就算還原成功,資料內容也要比擬文字天書那樣的高深莫測才讓人放心。
透明資料加密:
TDE是資料庫層級的加密,它不局限於欄位,TDE 會保護休眠的資料,也就是資料檔和記錄檔會執行即時 I/O 加密和解密。
一但在一個資料庫上啟動了TDE,要附加資料檔或利用備份檔恢復到另一個SQL Server實例是不被允許的,
除非用來保護資料庫加密金鑰 (DEK)憑證是有用的。
TDE加密會在頁面層級上執行。加密之資料庫中的頁面會先加密,然後在讀入資料庫時將其寫入磁碟及解密。
同時啟用TDE並不會增加資料庫大小。
TDE 加密的架構:
啟用TDE注意事項和影響:
1.完善的災難復原計畫
如果非必要自己盡量不使用TDE,原因很簡單,我怕無法成功還原(凡事都沒有絕對成功XD),
所以得時常演練災難復元計畫,同時備份憑證以及與此憑證有關的私密金鑰。
2.不可有唯讀檔案群組
如果資料庫內有任何檔案群組標示為 READ ONLY,則資料庫加密作業將會失敗。
3.tempdb 效能低落
由於tempdb只有一個,所有明確建立暫存使用者物件,
儲存多工緩衝處理或排序之中繼結果集的工作資料表...等都需要使用到tempdb,所以這是需要DBA自行衡量的。
4.記錄檔和資料檔不包含純文字資料。
5.備份壓縮將無法大幅壓縮備份儲存體。因此,不建議您同時使用 TDE 與備份壓縮。
6.如果使用FILESTREAM類型的資料將不會加密。
管理維護:
參考