999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop的NoSQL非關系型數據庫安全研究

2018-12-24 07:56:26楊曉雁甘琳梅
微型電腦應用 2018年12期
關鍵詞:安全性數據庫機制

楊曉雁, 甘琳梅

(延安大學 計算機學院, 延安 716000)

0 引言

目前所常見的Oracle等商業數據庫產品,絕大多數都為關系型數據庫類型。隨著信息技術的發展,關系型數據庫在面對數據類型日趨復雜、數據存取速度要求越來越高的現狀時,逐漸暴露出其不足之處[1]。針對這一問題,非關系數據庫NoSQL應運而生,為用戶提供了海量數據處理的解決方案。與主流關系型數據庫相比,NoSQL在并發性、可擴展性等方面體現出明顯優勢,但是在數據庫安全方面,NoSQL數據庫存在著缺陷,從而限制了 NoSQL數據庫的應用[2]。

數據庫的安全性涵蓋了保密性、完整性以及可用性等方面,即數據訪問必須經過授權;數據的刪除、更改必須經過授權;授權用戶可以正常進行數據操作。本文重點圍繞這3個方面,對NoSQL數據庫的安全策略與改進方案展開分析探討,從而使NoSQL數據庫更可靠,使其應用更廣泛。

1 NoSQL 安全需求分析

目前所使用的大多數NoSQL數據庫,因為自身數據模型特征等原因而導致其缺少完善的內置安全性機制的問題。本文根據NoSQL數據庫普遍存在的分布式特點,將安全性分類為內部安全與外部安全兩方面。NoSQL數據庫的內部安全的對象為內部存儲以及服務節點,涉及到內部服務的訪問控制、數據文件存儲以及內部服務;外部安全的對象為數據庫客戶端以及數據庫服務端,涉及到用戶的訪問控制、數據加密以及數據傳輸[3]。其中,用戶的訪問控制包括用戶身份認證與授權,是十分關鍵的安全需求。

2 Hadoop安全機制分析

本文基于Hadoop平臺對NoSQL數據庫安全性進行探討,主要采用分析源碼的方法,以典型的NoSQL數據庫——HBase數據庫作為對象,對其安全機制展開研究并且做出安全評價[4],從而為進一步的改進提供參考依據。

2.1 Hadoop安全性分析

Hadoop的安全風險主要存在于以下幾個過程當中[5]:

第一,用戶在客戶端至服務端之間的訪問認證過程中,一方面有可能存在某用戶匿名為其他身份對NameNode進行訪問的安全風險,另一方面當某用戶得到Data Nodeblock的位置信息后,可能在未經過Data Node認證的情況下直接從中得到數據;

第二,在各服務間的認證過程中,存在某用戶以Data Node身份來接收或提交Name Node任務的安全風險;

第三,數據在傳輸過程中,若未經過加密處理,則存在被非法竊取的安全風險。

針對上述這些安全風險,Hadoop主要通過基于訪問控制列表的服務級權限控制、基于令牌的認證機制以及基于Kerberos協議等手段來加強其安全性。

2.2 基于訪問控制列表的權限控制

在對Hadoop源碼進行分析后,可以得出Hadoop的權限控制可分為兩個層級:一是系統級的服務級授權[6],主要針對Hadoop服務的訪問控制,利用訪問控制列表實現對服務級訪問權限的管理,其作為底層訪問控制具有優先權;二是HDFS文件權限控制以及Map Reduce隊列權限驗證,其中,HDFS自身同樣包含文件權限的管理[7]。

Hadoop以用戶名和組來配置服務的訪問權限,以此實現對訪問權限的管理。具體來說,Hadoop具有九種可以配置的訪問控制列表屬性[8],分別指定相應訪問權限的用戶或者用戶組。利用{HADOOP_CONF_DIR}/hadoop-policy.xml配置文件對上述九種屬性進行設置,能夠控制訪問用戶或用戶組,從而實現HBase數據庫底層HDFS文件的服務級安全訪問。

2.3 基于令牌的認證機制

HDFS客戶端訪問數據的過程中,客戶端得到數據位置后可以直接訪問 Data Node,從而通過Socket獲取數據。若不對用戶身份進行認證,則可能在HDFS 請求數據時,非法用戶以假冒身份來訪問HDFS,從而構成嚴重的安全風險。針對這個問題,基于令牌的認證機制是有效的解決方案,即通過客戶端與服務端節點共享密鑰、相互認證,使客戶端必須在得到服務端響應其訪問請求后才能實現訪問[9]。該認證機制由Name Node進行管理,與Data Node無關聯。

2.4 Kerberos協議

Kerberos協議基于對稱密鑰算法,通過第三方進行密鑰的分發和身份確認,以此為開放系統的客戶端與服務器之間的網絡通信提供域內認證和跨域認證等服務。本文對其中的域內認證過程進行簡單分析,發現其類似于Hadoop的認證過程,如圖1所示。

圖1 Kerberos協議

從圖1 可以看到,Kerberos協議主要包括三個步驟,并且在啟用時要依賴于外部的Kerberos KDC[10]。在分析源碼后發現,Hadoop利用Java驗證及授權服務的登錄接口,可以強化Kerberos協議。

3 HBase數據庫安全機制分析

基于Hadoop的HBase數據庫,其安全機制實現了上述的基于令牌的認證機制以及Kerberos協議,而其自身的Coprocessor框架則實現了基于訪問控制列表的權限控制。前文中對基于令牌的認證機制以及Kerberos協議已經做過闡述,因此,在HBase數據庫安全機制的分析中,主要針對Coprocessor框架進行探討。

3.1 Coprocessor框架

Coprocessor框架具有Observer與Endpoint兩種執行模式,HBase數據庫實現了3個基本的Observer接口以及一個Endpoint抽象類。作為HBase數據庫的重要框架,Coprocessor允許用戶在服務端插入某些執行代碼,使HBase數據庫實現聚合、訪問控制以及二次索引等[11]。

3.2 HBase ACL機制

對源碼進行分析,可以發現繼承了Base Region Observer的Access Controller類是HBase數據庫訪問控制的關鍵所在,它實現了Master Observer以及Coprocessor Protocol 接口,能夠利用pre方法來檢驗權限,以此對HMaster、HRegion進行基于訪問控制列表權限的控制。

3.3 HBase數據庫的安全評價

根據上述分析,本文對HBase數據庫進行安全性評價:

在保密性方面,HBase數據庫通過基于令牌的認證機制與Kerberos協議,能夠較好地實現認證與授權,而HBase ACL機制也為其他NoSQL數據庫提供了改進參考[12];在完整性方面,HBase數據庫的HDFS已經能夠滿足需要,但是大部分NoSQL 數據庫在此方面還有較大缺陷,可以借鑒HBase數據庫進行改進。

4 HBase數據庫安全改進方案

通過分析發現,HBase數據庫在操作權限方面可以更加細化。對此,本文提出對HBase數據庫進行權限擴展的改進方案。

4.1 權限方案框架

權限控制是數據庫安全最基本的保障,而對于通常不具備固定列的NoSQL數據庫而言,這種數據結構使其難以細化權限控制。針對此問題,本文通過借鑒Oracle等關系型數據庫的權限控制技術,提出了NoSQL數據庫的權限控制改進方案:

第一,針對部分結構化的NoSQL數據庫,可以通過內建授權表,將其權限表中的Key拆分成對應的存儲結構的改進方案,以此實現權限控制的細化;

第二,針對數據結構較為雜亂的NoSQL數據庫,可以利用內建的鍵值來來保存權限信息,從而實現權限控制的細化[13]。用戶表包含用戶名及密碼信息,在進行登錄時使用,從而驗證用戶身份;權限表包含“用戶”、“表”以及“列”等信息,用來保存權限信息,在用戶登錄時驗證其訪問權限。兩個表的結構中僅有兩列,與NoSQL數據庫的鍵值相同。

4.2 HBase數據庫權限擴展

Action是僅包含一個字節的枚舉類型,HBase數據庫用Action來保存權限的一個權限值。因此在不影響其余代碼的情況下,HBase數據庫可以擴展Action類型[14]。此外,對于權限的存儲,可以通過類似 POSIX系統的權限控制模型以位(bit)來實現,并且對Permission 中以 Action 作為參數的構造函數進行修改。具體代碼為:

class Permission extends Versioned Writable {

public enum Action {

READ(1), WRITE(2),EXEC(4), CREATE_TABLE(8), DROP_TABLE(16), ALTER (32), ABLE (64), GRANT(128), REVOKE(256), ADMIN(512);

protected static Map ACTION_BY_CODE = Maps.new Hash Map();

private int actions = 0;

public Permission(int action Codes) {if (action Codes != 0) {this.actions = action Codes ; }

}

從代碼中可以看到,權限在改進后被細化成若干操作權限,1位表示1種權限。僅需對Actions變量進行簡單的操作即可獲取權限信息,從而提升了效率,并且有效降低了空間資源的使用率。此外,當權限持續擴展時,該方法下僅需將 Actions變量擴展為Long、Double或者Bitmap類型即可。

5 HBase數據庫安全改進實驗驗證

本文通過實例測試的方式,對所提出的HBase數據庫安全改進方案進行驗證,以此證明其可行性[15]。本次實例測試的環境為:服務器的配置為兩個2.5 GHz四核處理器、16G內存;以3臺服務器來部署HBase數據庫、Hadoop平臺以及KDC;服務器之間通過100M局域網進行通信。Hadoop與HBase數據庫配置從KDC導出的keytab,以此與獨立運行于一個服務器的KDC進行認證。

實例測試中,首先新建了若干個用戶,然后各用戶執行 create、grant、disable 等不同命令,以此驗證其執行結果與預期是否一致。命令所對應的權限為GRANT、ABLE、READ、WRITE 等,部分命令的執行結果,如圖2所示。

圖2 讀寫命令及測試結果

通過上述的結果看出,采用本文所提出改進方案進行權限細分,其命令能夠被較好地執行,提高了對應操作的安全性,并且沒有影響數據庫的工作性能。

6 總結

本文以HBase數據庫為研究對象,基于Hadoop對NoSQL數據庫的安全機制與改進方案僅需分析探討[16]。就目前而言,HBase數據庫提供內建的安全機制,是NoSQL數據庫當中安全機制較為完善的代表產品。隨著技術的不斷發展,其他NoSQL數據庫產品將日益重視并提高安全性。因此,本文以HBase數據庫為代表對NoSQL數據庫的安全性進行研究,能夠為其他NoSQL 數據庫的安全改進提供參考,具有十分重要的研究意義。

猜你喜歡
安全性數據庫機制
兩款輸液泵的輸血安全性評估
新染料可提高電動汽車安全性
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
數據庫
財經(2017年2期)2017-03-10 14:35:35
ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
Imagination發布可實現下一代SoC安全性的OmniShield技術
主站蜘蛛池模板: 成人亚洲天堂| 精品少妇人妻av无码久久| 欧美亚洲国产精品久久蜜芽| 91麻豆精品国产91久久久久| 青青草国产一区二区三区| 久久精品无码一区二区国产区 | 国产91在线|中文| 91po国产在线精品免费观看| 久久伊人操| 国产免费羞羞视频| 欧美午夜视频在线| 免费人成在线观看视频色| 国禁国产you女视频网站| 久久精品亚洲专区| 久久精品中文无码资源站| 欧美一级大片在线观看| 欧美日本一区二区三区免费| 国产伦片中文免费观看| 成人精品亚洲| 亚洲精品视频网| 一级全黄毛片| 日本伊人色综合网| 国产在线观看第二页| 亚洲AV一二三区无码AV蜜桃| 国产97公开成人免费视频| 日本不卡在线播放| 久久人妻xunleige无码| 亚洲大尺码专区影院| 久久99国产视频| 成人毛片免费在线观看| 久久婷婷五月综合色一区二区| 国产三级韩国三级理| 日本手机在线视频| 欧美午夜在线播放| 久久影院一区二区h| 亚洲性日韩精品一区二区| 无码不卡的中文字幕视频| 久久综合色天堂av| 午夜视频免费一区二区在线看| 色噜噜狠狠色综合网图区| 成年A级毛片| 亚洲第一黄片大全| 成·人免费午夜无码视频在线观看 | 国产主播福利在线观看| 暴力调教一区二区三区| 国产精品99久久久久久董美香| 亚洲精品麻豆| 91最新精品视频发布页| 欧美在线视频a| 永久免费无码日韩视频| 欧美日韩亚洲国产主播第一区| 中文字幕av一区二区三区欲色| 91青青草视频| 97国产一区二区精品久久呦| 亚洲精品制服丝袜二区| 久久永久免费人妻精品| 一级一级特黄女人精品毛片| 日韩精品欧美国产在线| 四虎永久在线精品国产免费| 国产91透明丝袜美腿在线| 日韩在线网址| 亚洲欧美成aⅴ人在线观看 | 夜精品a一区二区三区| 国产福利观看| 国产激爽爽爽大片在线观看| 在线视频精品一区| 国产高清在线精品一区二区三区| 免费无码又爽又黄又刺激网站 | 国产亚洲精品yxsp| 色婷婷天天综合在线| 人妻少妇乱子伦精品无码专区毛片| 国产精品护士| 欧美亚洲激情| 久久婷婷人人澡人人爱91| 国产主播一区二区三区| 免费在线色| 国产主播一区二区三区| 97在线视频免费观看| 久久精品无码国产一区二区三区| 亚洲成人动漫在线| 亚洲精品国偷自产在线91正片| 99中文字幕亚洲一区二区|