SQL Server 2014 CTP2之后公布了一項(xiàng)針對備份的特性,那就是原生備份加密。考慮到之前網(wǎng)絡(luò)上影響很壞的數(shù)據(jù)庫泄漏事件,本質(zhì)上都是數(shù)據(jù)庫備份泄漏給第三方導(dǎo)致,SQL Server的原聲數(shù)據(jù)備份可以使得即使備份本身被盜,在沒有加密證書的情況下也無法使用,這有效的解決了上述數(shù)據(jù)泄漏問題。原先的解決方案
在SQL Server 2014之前,如果希望實(shí)現(xiàn)對備份實(shí)現(xiàn)加密,會通過如下兩種方式之一實(shí)現(xiàn):
使用透明數(shù)據(jù)加密(TDE)加密整個數(shù)據(jù)庫,從而使得備份和事務(wù)日志也會被加密 使用第三方備份加密工具
首先來談一下使用透明數(shù)據(jù)加密,如果僅僅是為了對備份加密,使用TDE有點(diǎn)過于大材小用,因?yàn)槭褂肨DE會導(dǎo)致數(shù)據(jù)庫本身和日志被加密,對CPU帶來額外開銷,此外,使用TDE加密過的數(shù)據(jù)庫如果使用備份壓縮,壓縮比率會非常低。如果使用SQL Server 2014的原生備份加密,則無需對整個數(shù)據(jù)庫進(jìn)行加密,備份僅僅在被寫入磁盤之前被加密。原聲備份加密如果結(jié)合備份壓縮功能,那么會先進(jìn)行壓縮,再加密,從而得到非常高的壓縮比率。
其次使用第三方備份加密工具需要額外的費(fèi)用,并且在執(zhí)行過程中也會有比較繁瑣的操作成本,使用第三方備份當(dāng)需要對備份到Azure的備份進(jìn)行加密時(shí),將會非常繁瑣,而使用原生備份加密,可以直接對備份到Azure的備份進(jìn)行加密,從而對OFF-SITE備份提供了額外的安全性。
使用原生數(shù)據(jù)加密
在SQL Server 2014 企業(yè)版、BI版、標(biāo)準(zhǔn)版中包括了該功能。使用備份加密需要有二個先決條件:
存在證書或非對稱密鑰 選擇備份加密算法
下面使用原聲數(shù)據(jù)加密對備份加密,首先建立證書:
CREATE CERTIFICATE BackupCertificateWITH SUBJECT = 'Backup Encryption Certificate';GO
建立完成后,直接使用證書進(jìn)行備份加密:
BACKUP DATABASE TestBK TO DISK ='C:/Test_Encrypted.bak'WITH COMPRESSION, ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = BackupCertificate);
結(jié)果如圖1所示,在圖1中,注意到SQL Server給出了提示信息要備份證書以及證書的私鑰,否則數(shù)據(jù)將無法使用。通常在最佳實(shí)踐中,當(dāng)證書創(chuàng)建時(shí)就應(yīng)該備份,數(shù)據(jù)安全永遠(yuǎn)是第一位的。
圖1.提示備份證書私鑰
在圖1中,注意到備份指定的加密算法是AES_256算法。SQL Server 2014提供了4種對備份加密的算法,分別是AES128、AES196、AES256和三重DES算法。
在SQL Server 2014的Management Studio中也對原聲備份加密提供了GUI的支持,如圖2所示。
圖2.GUI對原生備份加密的GUI支持
原生加密備份對壓縮的影響
前文提到,使用原生備份加密可以使得備份壓縮幾乎不受加密的影響,下面?zhèn)浞菀粋€2.5G左右的測試庫,指定壓縮備份,第一個例子僅使用壓縮備份,第2-4例子使用壓縮備份+不同的壓縮算法,測試語句如圖3所示。
圖3.測試語句
圖4看到,使用備份加密對數(shù)據(jù)庫備份大小幾乎毫無影響。
圖4.不同的加密算法對備份壓縮幾乎毫無影響
圖5.加密算法對備份的影響
由圖4和圖5的結(jié)論可以得出,無論使用了何種加密算法,加密對壓縮比率幾乎毫無影響。
原生加密備份對性能的影響
使用原生備份加密是一項(xiàng)極大的消耗CPU的操作,下面在圖3的基礎(chǔ)上進(jìn)一步添加不壓縮備份的情況,備份的時(shí)間如圖6所示。
圖6.不同壓縮算法下備份時(shí)間
由圖6測試可以看出,除了3DES算法需要消耗的時(shí)間較長之外,AES算法在CPU不成為備份機(jī)瓶頸的情況下,對備份時(shí)間并無太大的影響。但加密對具體環(huán)境的影響會因環(huán)境而已,不同環(huán)境下的測試結(jié)果呈現(xiàn)可能會大相徑庭,如果擔(dān)心原生加密備份對性能產(chǎn)生影響,請先在具體環(huán)境進(jìn)行測試。
小結(jié)
SQL Server原聲備份加密對數(shù)據(jù)安全提供了非常好的解決方案。使用原生備份加密基本不會增加備份文件大小,并且打破了使用透明數(shù)據(jù)加密后幾乎沒有壓縮率的窘境。使用原生備份加密無論在將數(shù)據(jù)備份到異地?cái)?shù)據(jù)中心,還是將數(shù)據(jù)備份到云端,都可以以非常低的成本對數(shù)據(jù)提供額外的安全保障。
新聞熱點(diǎn)
疑難解答
圖片精選