天天看點

大資料安全規範一、概述二、大資料平台安全規範之通路安全

大資料安全規範

大資料的安全體系分為五個層次:周邊安全、資料安全、通路安全(認證 - authentication和授權 - authorization)、通路行為可見、錯誤處理和異常管理。下面依次說明:

1.周邊安全技術即傳統意義上提到的網絡安全技術,如防火牆等;

2.資料安全包括對資料的加解密,又可細分為存儲加密和傳輸加密;還包括對資料的脫敏;

3.通路安全主要是對使用者的認證和授權兩個方面:

使用者認證(Authentication)

即是對使用者身份進行核對, 确認使用者即是其聲明的身份, 這裡包括使用者和服務的認證

使用者授權(Authorization)

即是權限控制,對特定資源, 特定通路使用者進行授權或拒絕通路。使用者授權是建立再使用者認證的基礎上,沒有可靠的使用者認證談不上使用者授權。

通路安全還包括資料驗證(data validation)

1> type.   int string等

2> format. phone email等

3> length.

4> range.

5> precense or absence.

6> match in lookup tables.

7> other bussiness rules 

4.通路行為可見多指記錄使用者對系統的通路行為(審計和日志):如檢視哪個檔案;運作了哪些查詢;通路行為監控一方面為了進行實時報警,迅速處置危險的通路行為;另一方面為了事後調查驗證,從長期的資料通路行為中分析定位特定的目的。

 5.錯誤處理和異常管理

這個主要是針對錯誤發現,一般做法是建立并逐漸完善的監控系統,對可能發生或已發生的情況進行預警或者告警。還包括異常攻擊事件監測,目前發現的針對攻擊的辦法有:

1>攻擊鍊分析,按照威脅檢測的時間進行分析,描述攻擊鍊條

2>相同類型的攻擊事件進行合并統計

3>異常流量學習正常通路流量,流量異常時進行告警

在這五個層次中,第三層(通路安全)同業務的關系最為直接:應用程式的多租戶,分權限通路控制都直接依賴這一層的技術實作,那麼我們的重點也将放在這一層上。衆所周知的是, hadoop本身提供的認證(主要是kerberos)不易維護,授權(主要是ACL)又很粗粒度,為此我們通過對兩個重量級公司(Cloudera和Hortonworks)開源的關于安全的服務進行對比(參見博文)後決定使用Hortonworks開源的Ranger。 Ranger為企業級hadoop生态服務提供了許多安全套件,通過集中化權限管理為使用者/組提供檔案、檔案夾、資料庫、表及列的認證、授權控制,還可以提供審計(通過solr進行查詢),新推出的RangerKMS還支援對hdfs資料加密等

通過Ranger提供的使用者/組同步功能實作認證,Ranger可以整合Unix或者LDAP進行使用者認證管理

帳号分為運維帳号和開發使用者帳号。

運維帳号按服務拆為多個賬号,不同的賬号操作不同的服務,具體如下:

服務

使用者

Flume

flume

HDFS

hdfs

MapReduce

mapred

HBase

hbase

Hive

hive

Kafka

kafka

Oozie

oozie

Ranger

ranger

Spark

spark

Sqoop

sqoop

Storm

storm

YARN

yarn

ZooKeeper

zookeeper

Ambari Metrics

ams

開發使用者賬号,每個使用者一個帳号,按團隊分組,不同的賬号或組操作不同的檔案或表,如果需要操作别人的資料,需要運維進行授權

目錄

規則

/source

主要存儲原始采集的日志,存儲規則如下: /source/{業務名稱}/{日期},其中:

    業務名稱: 比如發送記錄等

    日期:    格式統一為yyyyMMdd

/data

存儲的規範和source一樣, 資料倉庫之前的檔案臨時目錄

清理時間待定

/workspace

工作空間,存儲規則如下:/workspace/{團隊名稱}/{業務名稱|産品名稱}

 對方

/user

使用者空間,存儲使用者私有資料,僅使用者自己可以通路。按照開發人員

自己的習慣組織存儲檔案,用于存儲使用者的測試資料,

當員工離職賬戶登出,空間存儲回收。

/user/hive/warehouse

存儲hive倉庫,按照團隊建立庫;公共日志按照業務名進行建立,

每個團隊可以建立一個屬于團隊的hive庫

/temp

用來存儲一些臨時檔案

每月清理一次

權限管理有2種方案,ACL方案(粗粒度)和 ranger方案(細粒度),基于我們的資料需求,先考慮使用ranger提供的細粒度權限控制

使用Ranger UI界面進行權限的管理,目前各個服務提供的權限如下:

服務詳情

權限

hdfs path

Read、Write、Execute

table、column family、column

Read、Write、Create、Admin

database、table|function、column

Select、Update、Create、Drop、Alter、Index、Lock、All

queue

Submit-job、Admin-queue

topic

Publish、Consume、Configure、Describe、Kafka Admin

團隊

團隊成員組

dp(資料平台)

dp

Read、Write

Select

Submit-job

Publish、Consume、Configure、Describe

dm(資料挖掘)

dm

da(資料應用)

da

op(運維)

hadoop管理者

HDFS、HBase、Hive、YARN、Kafka

All

個人帳号:線上上操作要精确到個人

     每個團隊的leader向管理者提出申請,經過評審通過後方可授予相應的權限