NoSQL,泛指非關系型的數(shù)據(jù)庫。隨著近年數(shù)據(jù)規(guī)模的爆發(fā)式增長,數(shù)據(jù)庫的發(fā)展也經歷了快速演變。為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應用難題,NoSQL數(shù)據(jù)庫應運而生。
從2009年登上歷史舞臺,NoSQL數(shù)據(jù)庫只用了8年時間,已經在主流數(shù)據(jù)庫中占據(jù)3個席位。相較傳統(tǒng)的非關系型數(shù)據(jù)庫,NoSQL憑借其讀取數(shù)據(jù)的高效性、易擴展性等優(yōu)勢,在眾多細分領域應用中取得主導地位。例如電商行業(yè):其業(yè)務屬于標準的多讀少寫、事物簡單,數(shù)據(jù)關系不復雜,這部分業(yè)務應用NoSQL會事半功倍。
NoSQL數(shù)據(jù)庫不像標準關系形數(shù)據(jù)庫有明確的定義,權威的規(guī)范,每種不同NoSQL適合的細分領域也多有不同,NoSQL從大類可以分成四類:
鍵值數(shù)據(jù)庫
文檔數(shù)據(jù)庫
列族數(shù)據(jù)庫
圖數(shù)據(jù)庫
仍以電商為例,該行業(yè)某些業(yè)務中使用的是鍵值數(shù)據(jù)庫和文檔數(shù)據(jù)庫,本文對NoSQL安全問題展開分析也將主要從這兩大類數(shù)據(jù)庫類型入手。
一、NoSQL安全問題綜述
NoSQL數(shù)據(jù)庫在設計之初,就是為大大提升用戶使用效率,所以并未做安全考慮。因此,NoSQL數(shù)據(jù)庫普遍存在大量安全問題。安全問題主要可以分為七大類,分別為:
身份認證
權限控制
審計
通訊加密
數(shù)據(jù)加密
NoSQL注入
自身安全漏洞
大約在2013年前后,一些開源項目被企業(yè)化,企業(yè)化后企業(yè)版在一定范圍內解決了一部分NoSQL數(shù)據(jù)庫的安全問題。但大部分解決方案是以犧牲性能為代價,并不具備優(yōu)良的推廣性。大部分用戶使用最多的還是社區(qū)版,該版本存在諸多安全問題,列舉如下:
1)身份認證安全問題
無密碼的身份認證安全問題
由于NoSQL中默認沒有用開啟戶身份認證機制,所以任何用戶都可以偽裝成合法用戶來訪問數(shù)據(jù)庫,并對數(shù)據(jù)庫中的數(shù)據(jù)進行各種操作。如2016年底至2017年初興起的一股針對NoSQL數(shù)據(jù)庫的勒索行動,就是利用無身份認證登陸上NoSQL數(shù)據(jù)庫實施敲詐勒索,這只是此安全隱患最簡單的利用方式。很多時候黑客會以NoSQL數(shù)據(jù)庫為跳板入侵NoSQL數(shù)據(jù)庫所在的服務器,甚至整個網絡環(huán)境。目前,最直接的解決方法就是給NoSQL加用戶名和密碼。
有密碼的身份認證安全問題
NoSQL出于性能考量,默認不設置用戶名和密碼。要解決身份認證安全問題,一般采取兩種方法。一種是使用NoSQL數(shù)據(jù)庫自身支持的簡單身份驗證。通過客戶端獲取用戶名和密碼,然后和數(shù)據(jù)庫中對應的記錄進行比對,吻合則批準登錄。該方法在抗暴力破解和網絡竊取上非常差,一旦用戶數(shù)量過多會引起性能的嚴重下降,所以部分NoSQL數(shù)據(jù)庫不支持多用戶登錄。
另一種解決方案是以Hbase為代表,引入成熟的身份認證機制Kerberos來完成身份認證工作。該方式較適合以計算為主業(yè)的NoSQL數(shù)據(jù)庫,對于要求執(zhí)行效率和以大量查詢?yōu)橹饕臉I(yè)務并不適合。隨著用戶數(shù)量增長,并發(fā)量不斷提高,KCD(密鑰奮發(fā)中心)很快會成為整個業(yè)務流程的瓶頸。
2)權限控制
NoSQL數(shù)據(jù)庫不僅缺乏身份驗證,更缺乏對每個數(shù)據(jù)庫用戶的權限控制。很多NoSQL數(shù)據(jù)庫,把自己當作“應用數(shù)據(jù)庫”去設計,完全不關心數(shù)據(jù)庫用戶之間的權限區(qū)別,導致任意用戶都相當于ORACLE數(shù)據(jù)庫的sys用戶。這種權限的混亂可能導致應用側、運維側兩個層面的三種安全風險:1、缺乏命令權限控制;2、缺乏集合訪問權限控制;3、缺乏集合內部數(shù)據(jù)訪問控制。
NoSQL中有兩類權限,一類是調用腳本的權限;另一類是對數(shù)據(jù)庫系統(tǒng)的權限。Redis在這部分做得較差,任意用戶都可以調用這兩類權限,導致數(shù)據(jù)庫面臨安全威脅。一些重視安全的NoSQL數(shù)據(jù)庫具備一定的訪問控制能力,但仍缺乏細粒度的訪問控制能力。
3)通訊加密
NoSQL數(shù)據(jù)庫不僅身份驗證是明文傳輸,后面的請求和結果集同樣也是明文傳輸。這會導致戶隱私數(shù)據(jù)、系統(tǒng)敏感信息在傳輸過程被竊取。解決通訊加密一般會提供一個附加的SSL安全層,但ssl安全層會拖慢整個業(yè)務的執(zhí)行速度。后文會給出相應解決方案。
4)審計
NoSQL數(shù)據(jù)庫缺乏審計能力,部分NoSQL數(shù)據(jù)庫可以通過配置添加日志監(jiān)控來完成一部分審計功能。通過日志的記錄來判斷整個流程中是否存在問題。這種日志的記錄缺乏特征的判斷和自動提示的功能。后面我們會用NoSQL審計產品完善審計功能的缺失。
5)數(shù)據(jù)加密
NoSQL數(shù)據(jù)庫缺乏對數(shù)據(jù)的存儲保護,所有數(shù)據(jù)均是明文形式存儲,超管可以不經過用戶允許直接查看、修改用戶在云端保存的文件,很容易造成數(shù)據(jù)泄露。因此,需要常態(tài)保持加密,只允許具有固定身份的用戶拿到明文,這樣既保護了數(shù)據(jù)安全又強化了數(shù)據(jù)庫權限控制。
6)NoSQL注入
雖然NoSQL數(shù)據(jù)庫不再支持sql語句,也就沒有了sql注入的威脅,但存在另外一種威脅——NoSQL注入威脅。NoSQL注入和其他注入類攻擊類似,能獲得數(shù)據(jù)庫中整個集合(表)的信息,甚至通過改變語義,獲得其他集合(表)中的敏感信息。目前已發(fā)現(xiàn)的SQL注入有重言式、聯(lián)合查詢、JavaScript注入、背負式查詢四種。
7)自身安全漏洞
除了上述由于設計理念和web導致的安全風險外,NoSQL數(shù)據(jù)庫本身也存在一些安全漏洞。主要集中在三方面:1、泄露敏感數(shù)據(jù);2、越權操作;3、錄調用的函數(shù)存在緩沖區(qū)溢出漏洞,會導致服務宕機。解決方法有二:1、及時打補丁;通過漏洞防護技術進行防護。
二、NoSQL安全解決方案
NoSQL數(shù)據(jù)庫的設計目標是追求極致的效率和簡易擴展性,設計者假設NoSQL數(shù)據(jù)庫在一個絕對安全的環(huán)境下運行。現(xiàn)實中并沒有絕對安全的運行環(huán)境,因此不可避免的出現(xiàn)了很多安全問題。
安華金和基于在數(shù)據(jù)庫安全領域的深厚積累和業(yè)務前瞻性眼光,密切關注大數(shù)據(jù)安全的體系搭建,從專業(yè)角度提出針對NoSQL數(shù)據(jù)庫全方位的安全解決方案,該解決方案主要由三部分構成。
第一部分如上圖黃線所示,采用NoSQL漏掃產品,對NoSQL數(shù)據(jù)庫進行弱口令、CVE漏洞、未使用安全配置進行檢測,并生成報告提醒管理人員對NoSQL數(shù)據(jù)庫進行安全加固。通過配置可以解決一部分安全問題,但很多細節(jié)問題難以解決。
于是需要引入上文紅線所示的一套NoSQL防火墻+加解密代理。作為整套實時防護技術的核心,NoSQL防火墻通過截獲web端到數(shù)據(jù)的數(shù)據(jù),對數(shù)據(jù)進行分析,獲取登錄信息后進行一系列身份驗證。在確定訪問用戶后,經過判斷權限來決定放行與否。此外,NoSQL防火墻還是應對暴力破解的好手。如果單位時間內同一用戶錯誤登錄10次,則會對該用戶的登錄進行限時禁止行為,防止數(shù)據(jù)庫被暴力破解?;贜oSQL防火墻對NoSQL數(shù)據(jù)庫的語法解析能力,提煉出特定特征可以有效阻止NoSQL注入和CVE漏洞攻擊,防止低權限用戶越權操作。盡管NoSQL防火墻可以解決身份認證、細粒度訪問控制、暴力破解、NoSQL注入、CVE漏洞攻擊等問題,但欠缺對明文數(shù)據(jù)的保護。作為必要補充,部署加解密代理可以有效應對這個問題。數(shù)據(jù)通過加解密代理存入數(shù)據(jù)庫后成為密文形態(tài)。加解密代理和NoSQL防火墻聯(lián)動,保證只有具備訪問目標value值的用戶拿到的返回值才是明文,其他用戶即使獲取數(shù)據(jù)也是密文形態(tài)。
第三條綠線則是通過部署NoSQL審計產品對數(shù)據(jù)庫的行為、動態(tài)進行更深入細致的追查。在事后為客戶追查問題,提供有力保障。
至此,安華金和所提供的完整的NoSQL數(shù)據(jù)庫安全環(huán)境搭建完畢。這個環(huán)境從事前、事中和事后三個層面,以縱向包裹整個NoSQL數(shù)據(jù)庫, 從而保障數(shù)據(jù)庫的安全。
- 美媒聚焦比亞迪“副業(yè)”:電子代工助力蘋果,下個大計劃瞄準AI機器人
- 微信零錢通新政策:銀行卡轉入資金提現(xiàn)免手續(xù)費引熱議
- 消息稱塔塔集團將收購和碩印度iPhone代工廠60%股份 并接管日常運營
- 蘋果揭秘自研芯片成功之道:領先技術與深度整合是關鍵
- 英偉達新一代Blackwell GPU面臨過熱挑戰(zhàn),交付延期引發(fā)市場關注
- 馬斯克能否成為 AI 部部長?硅谷與白宮的聯(lián)系日益緊密
- 余承東:Mate70將在26號發(fā)布,意外泄露引發(fā)關注
- 無人機“黑科技”亮相航展:全球首臺低空重力測量系統(tǒng)引關注
- 賽力斯發(fā)布聲明:未與任何伙伴聯(lián)合開展人形機器人合作
- 賽力斯觸及漲停,汽車整車股盤初強勢拉升
免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。