數據千萬條,安全第一條:淺談Azure SQL數據庫如何保證用(yòng)戶數據安全

自(zì)2011年以來(lái),多家互聯網站(zhàn)頻發被黑客公開(kāi)用(yòng)戶數據庫的事(shì)件,超過5000萬個用(yòng)戶帳号和(hé)密碼在網上(shàng)大(dà)規模被洩露,數據庫拖庫事(shì)件頻發。2018年某中文(wén)論壇上(shàng),公然出現(xiàn)了(le)售賣國内知(zhī)名酒店(diàn)集團數據庫的“廣告”,詳細信息合計(jì)近 5 億條,涵蓋了(le)入住者及酒店(diàn)會(huì)員個人信息、入住登記、開(kāi)房記錄等内容。

最近,網絡安全組織GDI基金(jīn)會(huì)又爆出,有數以億計(jì)的中國用(yòng)戶私人聊天記錄被洩露在互聯網上(shàng)。據美(měi)國電信公司Verizon 2018年發布的年度安全報(bào)告顯示,在數據洩露原因方面,62%的數據洩露與黑客攻擊有關;81%的的數據洩露涉及到(dào)撞庫或弱口令。

數據庫洩露的原因很(hěn)多,數據庫管理(lǐ)員安全意識弱、程序設計(jì)沒有考慮安全冗餘性、應用(yòng)層漏洞等均可導緻數據庫拖庫、數據洩露。單一的安全手段已經無法防範數據洩露的多重風(fēng)險,隻有多手段并用(yòng)才可以最大(dà)程度地提高(gāo)數據安全。

由世紀互聯運營的Azure服務平台通過多種先進的安全技術構建完整的安全平台,從(cóng)多角度、多層面保護用(yòng)戶的數據安全,防止數據洩露事(shì)件的發生。Azure中國版SQL數據庫服務目前已提供了(le)以下(xià)四種數據庫安全增強配置,分别是高(gāo)級數據安全(ADS)、透明(míng)數據加密(TDE)、動态數據掩碼(DDM)、審核(Audit),真正做到(dào)了(le)多維度數據保護。

高(gāo)級數據安全 (ADS)

高(gāo)級數據安全 (ADS) 是一種從(cóng)策略上(shàng)保護數據庫安全性的機制,它提供一組高(gāo)級 SQL 安全功能(néng),包括數據發現(xiàn)與分類、漏洞評估和(hé)威脅檢測。漏洞評估可以發現(xiàn)、跟蹤并幫助修正潛在的數據庫漏洞,分析檢查身份驗證與授權配置、數據保護設置、外(wài)圍應用(yòng)設置、審核配置等,并提供相應的修複方法與建議(yì)。它可直觀查看(kàn)安全狀态,包括解決安全問題的可操作(zuò)步驟,并可加強數據庫的防禦工(gōng)事(shì)。

如上(shàng)圖所示,檢測結果發現(xiàn)dbo賬戶被當作(zuò)普通用(yòng)戶去使用(yòng),這(zhè)被标記爲中等風(fēng)險,因爲dbo具有最高(gāo)的權限,ADS功能(néng)會(huì)針對(duì)不同風(fēng)險給出相應建議(yì)與解決方法。

除了(le)對(duì)數據庫漏洞及配置進行評估,ADS還集成了(le)威脅檢測模塊,對(duì)常見的風(fēng)險如SQL注入等進行檢測,用(yòng)戶可根據需要勾選。 來(lái)自(zì)異常位置的訪問、陌生賬戶的登錄、暴力破解SQL憑據的行爲都可以被檢測到(dào)并觸發警報(bào)。

ADS功能(néng)支持設置定期掃描、設置安全基線,并生成安全報(bào)告發送至管理(lǐ)員郵箱。這(zhè)些(xiē)功能(néng)有效減少了(le)黑客撞庫或管理(lǐ)員配置弱口令的可能(néng)性。

透明(míng)數據加密 (TDE)

透明(míng)數據加密 (TDE) 是一種從(cóng)元數據層級保護數據庫的方式,它有助于保護 Azure SQL 數據庫、Azure SQL 托管實例和(hé) Azure 數據倉庫免受惡意活動的威脅。 它可執行靜态數據庫、關聯備份和(hé)事(shì)務日志文(wén)件的實時(shí)加密和(hé)解密,無需更改應用(yòng)程序。 默認情況下(xià),爲所有新部署的 Azure SQL 數據庫啓用(yòng)了(le) TDE。

 

 

 

 

TDE功能(néng)可以防止數據庫文(wén)件(mdf/ndf/ldf)被附加到(dào)非授權服務器或者使用(yòng)TDE功能(néng)的備份文(wén)件被輕易還原到(dào)别的服務器上(shàng),從(cóng)而進一步加強了(le)數據的安全性。對(duì)黑客拖庫行爲有一定的限制作(zuò)用(yòng)。啓用(yòng)TDE後,将組織内部的密鑰與數據管理(lǐ)責任相分離,即使非授權人員在取得數據庫後,如無密鑰,無法在異地還原盜取的數據庫。

 

 

 

如上(shàng)圖所示,我們在本地試圖還原一個啓用(yòng)過TDE的數據庫,在沒有密鑰的情況下(xià)顯示還原失敗。這(zhè)樣,即便數據庫文(wén)件層級洩露,黑客也(yě)無法訪問數據。

動态數據掩碼(DDM)

動态數據掩碼技術用(yòng)一種假名化(pseudonymization)手段保護元數據,通過對(duì)非特權用(yòng)戶模糊化敏感數據來(lái)限制此類數據的洩露。動态數據屏蔽允許客戶指定在對(duì)應用(yòng)層産生最小(xiǎo)影響的前提下(xià)可以透露的敏感數據量,從(cóng)而幫助防止未經授權的用(yòng)戶訪問敏感數據。它是一種基于策略的安全功能(néng),會(huì)在針對(duì)指定的數據庫字段運行查詢後返回的結果集中隐藏敏感數據,同時(shí)保持數據庫中的數據不變。

例如,我們用(yòng)管理(lǐ)員賬戶在數據庫中創建表dbo.JOBS并插入數據:

開(kāi)啓動态數據掩碼功能(néng),并設置掩碼字段, 掩飾工(gōng)資字段:

切換爲非管理(lǐ)員賬戶後執行查詢:

如圖所示,敏感字段已經自(zì)動按照配置規則進行掩飾。這(zhè)項功能(néng)在一定程度上(shàng)緩解了(le)非拖庫行爲造成的數據洩露,例如SQL注入。該功能(néng)目前支持自(zì)定義屏蔽規則及屏蔽函數。

審核(Audit)

除了(le)上(shàng)述安全功能(néng),Azure版SQL還具有審核功能(néng)。審核 Azure SQL 數據庫和(hé) SQL 數據倉庫會(huì)跟蹤數據庫事(shì)件,并将這(zhè)些(xiē)事(shì)件寫入 Azure 存儲帳戶、OMS 工(gōng)作(zuò)區(qū)或事(shì)件中心中的審核日志。審核功能(néng)幫助管理(lǐ)員追溯數據庫發生的事(shì)件,它能(néng)告訴你(nǐ)“誰什(shén)麽時(shí)候做了(le)什(shén)麽事(shì)情”。具體是指審核SQL Server 數據庫引擎實例或單獨的數據庫涉及到(dào)跟蹤和(hé)記錄數據庫引擎中發生的事(shì)件。

如圖所示,審核日志提供了(le)訪問者IP地址、賬戶名稱、事(shì)件類型、執行語句等詳細信息,幫助數據庫管理(lǐ)員定位問題,及時(shí)排查風(fēng)險,解決隐患。

Azure版SQL數據庫依托強大(dà)的Azure平台,不僅支持以上(shàng)安全特性,還集成了(le)一些(xiē)平台的安全特點,如集成Azure AD身份驗證、服務器級别IP防火牆、傳輸過程加密等特征。通過分層深度防禦的方法,分别在網絡安全、訪問管理(lǐ)、威脅防護、信息保護四大(dà)方面無死角保護用(yòng)戶虛拟資産安全,盡可能(néng)降低(dī)數據洩露風(fēng)險。

當然,數據千萬條,安全第一條;配置不規範,用(yòng)戶兩行淚。Azure爲廣大(dà)用(yòng)戶提供了(le)強大(dà)的安全防護,數據庫管理(lǐ)員還需要樹立安全意識,減少不規範的配置問題,杜絕弱口令,嚴格限制賬戶權限,适當開(kāi)啓IP訪問白(bái)名單,減小(xiǎo)黑客攻擊面。

(本文(wén)作(zuò)者陳初,世紀互聯藍雲ISC security團隊工(gōng)程師)

 

下(xià)一篇
感受“雲端”魅力:清華MBA TMT俱樂部走進世紀互聯藍雲
上(shàng)一篇
世紀互聯藍雲啓動合作(zuò)夥伴計(jì)劃,做大(dà)自(zì)己的“朋友圈”