數(shù)據(jù)安全治理關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫脫敏技術(shù)詳解
數(shù)據(jù)安全治理之API監(jiān)測(cè)系統(tǒng) ,解決API接口安全問題【安華金和】
新一代數(shù)據(jù)庫脫敏技術(shù),為敏感數(shù)據(jù)建立保護(hù)盾!
數(shù)據(jù)庫脫敏系統(tǒng)與金融行業(yè)案例解讀
數(shù)據(jù)安全治理建設(shè)思路的著力點(diǎn)——數(shù)據(jù)安全咨詢服務(wù)【安華金和】
數(shù)據(jù)庫防火墻功能有哪些?-數(shù)據(jù)安全-安華金和
數(shù)據(jù)安全關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫脫敏技術(shù)詳解【安華金和】
中國數(shù)據(jù)安全治理落地指導(dǎo)書籍《數(shù)據(jù)安全治理白皮書5.0》正式發(fā)布(附下載)
NoSQL,泛指非關(guān)系型的數(shù)據(jù)庫。隨著近年數(shù)據(jù)規(guī)模的爆發(fā)式增長,數(shù)據(jù)庫的發(fā)展也經(jīng)歷了快速演變。為了解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用難題,NoSQL數(shù)據(jù)庫應(yīng)運(yùn)而生。
從2009年登上歷史舞臺(tái),NoSQL數(shù)據(jù)庫只用了8年時(shí)間,已經(jīng)在主流數(shù)據(jù)庫中占據(jù)3個(gè)席位。相較傳統(tǒng)的非關(guān)系型數(shù)據(jù)庫,NoSQL憑借其讀取數(shù)據(jù)的高效性、易擴(kuò)展性等優(yōu)勢(shì),在眾多細(xì)分領(lǐng)域應(yīng)用中取得主導(dǎo)地位。例如電商行業(yè):其業(yè)務(wù)屬于標(biāo)準(zhǔn)的多讀少寫、事物簡(jiǎn)單,數(shù)據(jù)關(guān)系不復(fù)雜,這部分業(yè)務(wù)應(yīng)用NoSQL會(huì)事半功倍。
NoSQL數(shù)據(jù)庫不像標(biāo)準(zhǔn)關(guān)系形數(shù)據(jù)庫有明確的定義,權(quán)威的規(guī)范,每種不同NoSQL適合的細(xì)分領(lǐng)域也多有不同,NoSQL從大類可以分成四類:
鍵值數(shù)據(jù)庫
文檔數(shù)據(jù)庫
列族數(shù)據(jù)庫
圖數(shù)據(jù)庫
仍以電商為例,該行業(yè)某些業(yè)務(wù)中使用的是鍵值數(shù)據(jù)庫和文檔數(shù)據(jù)庫,本文對(duì)NoSQL安全問題展開分析也將主要從這兩大類數(shù)據(jù)庫類型入手。
NoSQL數(shù)據(jù)庫在設(shè)計(jì)之初,就是為大大提升用戶使用效率,所以并未做安全考慮。因此,NoSQL數(shù)據(jù)庫普遍存在大量安全問題。安全問題主要可以分為七大類,分別為:
身份認(rèn)證
權(quán)限控制
審計(jì)
通訊加密
數(shù)據(jù)加密
NoSQL注入
自身安全漏洞
大約在2013年前后,一些開源項(xiàng)目被企業(yè)化,企業(yè)化后企業(yè)版在一定范圍內(nèi)解決了一部分NoSQL數(shù)據(jù)庫的安全問題。但大部分解決方案是以犧牲性能為代價(jià),并不具備優(yōu)良的推廣性。大部分用戶使用最多的還是社區(qū)版,該版本存在諸多安全問題,列舉如下:
1)身份認(rèn)證安全問題
無密碼的身份認(rèn)證安全問題
由于NoSQL中默認(rèn)沒有用開啟戶身份認(rèn)證機(jī)制,所以任何用戶都可以偽裝成合法用戶來訪問數(shù)據(jù)庫,并對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行各種操作。如2016年底至2017年初興起的一股針對(duì)NoSQL數(shù)據(jù)庫的勒索行動(dòng),就是利用無身份認(rèn)證登陸上NoSQL數(shù)據(jù)庫實(shí)施敲詐勒索,這只是此安全隱患最簡(jiǎn)單的利用方式。很多時(shí)候黑客會(huì)以NoSQL數(shù)據(jù)庫為跳板入侵NoSQL數(shù)據(jù)庫所在的服務(wù)器,甚至整個(gè)網(wǎng)絡(luò)環(huán)境。目前,最直接的解決方法就是給NoSQL加用戶名和密碼。
有密碼的身份認(rèn)證安全問題
NoSQL出于性能考量,默認(rèn)不設(shè)置用戶名和密碼。要解決身份認(rèn)證安全問題,一般采取兩種方法。一種是使用NoSQL數(shù)據(jù)庫自身支持的簡(jiǎn)單身份驗(yàn)證。通過客戶端獲取用戶名和密碼,然后和數(shù)據(jù)庫中對(duì)應(yīng)的記錄進(jìn)行比對(duì),吻合則批準(zhǔn)登錄。該方法在抗暴力破解和網(wǎng)絡(luò)竊取上非常差,一旦用戶數(shù)量過多會(huì)引起性能的嚴(yán)重下降,所以部分NoSQL數(shù)據(jù)庫不支持多用戶登錄。
另一種解決方案是以Hbase為代表,引入成熟的身份認(rèn)證機(jī)制Kerberos來完成身份認(rèn)證工作。該方式較適合以計(jì)算為主業(yè)的NoSQL數(shù)據(jù)庫,對(duì)于要求執(zhí)行效率和以大量查詢?yōu)橹饕臉I(yè)務(wù)并不適合。隨著用戶數(shù)量增長,并發(fā)量不斷提高,KCD(密鑰奮發(fā)中心)很快會(huì)成為整個(gè)業(yè)務(wù)流程的瓶頸。
2)權(quán)限控制
NoSQL數(shù)據(jù)庫不僅缺乏身份驗(yàn)證,更缺乏對(duì)每個(gè)數(shù)據(jù)庫用戶的權(quán)限控制。很多NoSQL數(shù)據(jù)庫,把自己當(dāng)作“應(yīng)用數(shù)據(jù)庫”去設(shè)計(jì),完全不關(guān)心數(shù)據(jù)庫用戶之間的權(quán)限區(qū)別,導(dǎo)致任意用戶都相當(dāng)于ORACLE數(shù)據(jù)庫的sys用戶。這種權(quán)限的混亂可能導(dǎo)致應(yīng)用側(cè)、運(yùn)維側(cè)兩個(gè)層面的三種安全風(fēng)險(xiǎn):1、缺乏命令權(quán)限控制;2、缺乏集合訪問權(quán)限控制;3、缺乏集合內(nèi)部數(shù)據(jù)訪問控制。
NoSQL中有兩類權(quán)限,一類是調(diào)用腳本的權(quán)限;另一類是對(duì)數(shù)據(jù)庫系統(tǒng)的權(quán)限。Redis在這部分做得較差,任意用戶都可以調(diào)用這兩類權(quán)限,導(dǎo)致數(shù)據(jù)庫面臨安全威脅。一些重視安全的NoSQL數(shù)據(jù)庫具備一定的訪問控制能力,但仍缺乏細(xì)粒度的訪問控制能力。
3)通訊加密
NoSQL數(shù)據(jù)庫不僅身份驗(yàn)證是明文傳輸,后面的請(qǐng)求和結(jié)果集同樣也是明文傳輸。這會(huì)導(dǎo)致戶隱私數(shù)據(jù)、系統(tǒng)敏感信息在傳輸過程被竊取。解決通訊加密一般會(huì)提供一個(gè)附加的SSL安全層,但ssl安全層會(huì)拖慢整個(gè)業(yè)務(wù)的執(zhí)行速度。后文會(huì)給出相應(yīng)解決方案。
4)審計(jì)
NoSQL數(shù)據(jù)庫缺乏審計(jì)能力,部分NoSQL數(shù)據(jù)庫可以通過配置添加日志監(jiān)控來完成一部分審計(jì)功能。通過日志的記錄來判斷整個(gè)流程中是否存在問題。這種日志的記錄缺乏特征的判斷和自動(dòng)提示的功能。后面我們會(huì)用NoSQL審計(jì)產(chǎn)品完善審計(jì)功能的缺失。
5)數(shù)據(jù)加密
NoSQL數(shù)據(jù)庫缺乏對(duì)數(shù)據(jù)的存儲(chǔ)保護(hù),所有數(shù)據(jù)均是明文形式存儲(chǔ),超管可以不經(jīng)過用戶允許直接查看、修改用戶在云端保存的文件,很容易造成數(shù)據(jù)泄露。因此,需要常態(tài)保持加密,只允許具有固定身份的用戶拿到明文,這樣既保護(hù)了數(shù)據(jù)安全又強(qiáng)化了數(shù)據(jù)庫權(quán)限控制。
6)NoSQL注入
雖然NoSQL數(shù)據(jù)庫不再支持sql語句,也就沒有了sql注入的威脅,但存在另外一種威脅——NoSQL注入威脅。NoSQL注入和其他注入類攻擊類似,能獲得數(shù)據(jù)庫中整個(gè)集合(表)的信息,甚至通過改變語義,獲得其他集合(表)中的敏感信息。目前已發(fā)現(xiàn)的SQL注入有重言式、聯(lián)合查詢、JavaScript注入、背負(fù)式查詢四種。
7)自身安全漏洞
除了上述由于設(shè)計(jì)理念和web導(dǎo)致的安全風(fēng)險(xiǎn)外,NoSQL數(shù)據(jù)庫本身也存在一些安全漏洞。主要集中在三方面:1、泄露敏感數(shù)據(jù);2、越權(quán)操作;3、錄調(diào)用的函數(shù)存在緩沖區(qū)溢出漏洞,會(huì)導(dǎo)致服務(wù)宕機(jī)。解決方法有二:1、及時(shí)打補(bǔ)?。煌ㄟ^漏洞防護(hù)技術(shù)進(jìn)行防護(hù)。
NoSQL數(shù)據(jù)庫的設(shè)計(jì)目標(biāo)是追求極致的效率和簡(jiǎn)易擴(kuò)展性,設(shè)計(jì)者假設(shè)NoSQL數(shù)據(jù)庫在一個(gè)絕對(duì)安全的環(huán)境下運(yùn)行?,F(xiàn)實(shí)中并沒有絕對(duì)安全的運(yùn)行環(huán)境,因此不可避免的出現(xiàn)了很多安全問題。
安華金和基于在數(shù)據(jù)庫安全領(lǐng)域的深厚積累和業(yè)務(wù)前瞻性眼光,密切關(guān)注大數(shù)據(jù)安全的體系搭建,從專業(yè)角度提出針對(duì)NoSQL數(shù)據(jù)庫全方位的安全解決方案,該解決方案主要由三部分構(gòu)成。
第一部分如上圖黃線所示,采用NoSQL漏掃產(chǎn)品,對(duì)NoSQL數(shù)據(jù)庫進(jìn)行弱口令、CVE漏洞、未使用安全配置進(jìn)行檢測(cè),并生成報(bào)告提醒管理人員對(duì)NoSQL數(shù)據(jù)庫進(jìn)行安全加固。通過配置可以解決一部分安全問題,但很多細(xì)節(jié)問題難以解決。
于是需要引入上文紅線所示的一套NoSQL防火墻+加解密代理。作為整套實(shí)時(shí)防護(hù)技術(shù)的核心,NoSQL防火墻通過截獲web端到數(shù)據(jù)的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行分析,獲取登錄信息后進(jìn)行一系列身份驗(yàn)證。在確定訪問用戶后,經(jīng)過判斷權(quán)限來決定放行與否。此外,NoSQL防火墻還是應(yīng)對(duì)暴力破解的好手。如果單位時(shí)間內(nèi)同一用戶錯(cuò)誤登錄10次,則會(huì)對(duì)該用戶的登錄進(jìn)行限時(shí)禁止行為,防止數(shù)據(jù)庫被暴力破解?;贜oSQL防火墻對(duì)NoSQL數(shù)據(jù)庫的語法解析能力,提煉出特定特征可以有效阻止NoSQL注入和CVE漏洞攻擊,防止低權(quán)限用戶越權(quán)操作。盡管NoSQL防火墻可以解決身份認(rèn)證、細(xì)粒度訪問控制、暴力破解、NoSQL注入、CVE漏洞攻擊等問題,但欠缺對(duì)明文數(shù)據(jù)的保護(hù)。作為必要補(bǔ)充,部署加解密代理可以有效應(yīng)對(duì)這個(gè)問題。數(shù)據(jù)通過加解密代理存入數(shù)據(jù)庫后成為密文形態(tài)。加解密代理和NoSQL防火墻聯(lián)動(dòng),保證只有具備訪問目標(biāo)value值的用戶拿到的返回值才是明文,其他用戶即使獲取數(shù)據(jù)也是密文形態(tài)。
第三條綠線則是通過部署NoSQL審計(jì)產(chǎn)品對(duì)數(shù)據(jù)庫的行為、動(dòng)態(tài)進(jìn)行更深入細(xì)致的追查。在事后為客戶追查問題,提供有力保障。
至此,安華金和所提供的完整的NoSQL數(shù)據(jù)庫安全環(huán)境搭建完畢。這個(gè)環(huán)境從事前、事中和事后三個(gè)層面,以縱向包裹整個(gè)NoSQL數(shù)據(jù)庫, 從而保障數(shù)據(jù)庫的安全。
試用申請(qǐng)
在線咨詢
咨詢電話
TOP