《Hadoop安全 大數據平臺隱私保護》闡述了Hadoop從早期開放的消費互聯網時代到現在作為敏感數據可信平臺的演變歷程,介紹了包括身份驗證、加密、密鑰管理和商業實踐在內的諸多主題,并在實際環境下加以討論。第1章是介紹性內容,隨后分為四大部分:第一部分是安全架構,第二部分是驗證、授權和安全審計,第三部分是數據安全,第四部分是歸納總結。最后介紹了幾個使用案例,融合了書中諸多概念。
《Hadoop安全 大數據平臺隱私保護》適合對Hadoop感興趣的讀者,有大數據平臺保護需求的讀者。
隨著使用Hadoop存儲并處理大量數據的企業不斷增多,Hadoop安全性日益凸顯,尤其是在金融和醫療等涉及敏感信息的行業。本書兩位作者均來自Hadoop安全防范一線,書中詳細論述了身份驗證、加密、密鑰管理等諸多重要主題,并給出了具體處理建議和案例分析,讀者可以從中了解搭建和使用Hadoop的架構師是如何安全管理大數據的。
- 了解分布式系統,尤其是Hadoop所面臨的安全挑戰
- 學習如何盡可能確保Hadoop集群硬件的安全性
- Kerberos網絡認證協議概覽
- 身份驗證、授權和審計原則在Hadoop中的應用
- 靜態數據和動態數據的加密
- 客戶端訪問和數據提取過程的安全防護措施
Ben Spivey
Cloudera解決方案架構師,曾在多家世界500強企業工作,涉及金融服務、零售、醫療等多個行業。在于客戶的Hadoop集群進行規劃、安裝、配置以及安全保護方面有豐富經驗。
Joey Echeverria
Rocana軟件工程師,負責在Apache Hadoop平臺下構建一代IT運行分析系統。Hadoop生態系統數據API Kite SDK的貢獻者,并為Flume、Hadoop、HBase等多個Apache項目做過了貢獻。
序 xi
前言 xii
第1 章 引言 1
1.1 安全概覽 1
1.1.1 機密性 2
1.1.2 完整性 2
1.1.3 可用性 2
1.1.4 驗證、授權和審計 3
1.2 Hadoop 安全:簡史 5
1.3 Hadoop 組件和生態系統 5
1.3.1 Apache HDFS 6
1.3.2 Apache YARN 7
1.3.3 Apache MapReduce 8
1.3.4 Apache Hive 9
1.3.5 Cloudera Impala 9
1.3.6 Apache Sentry 10
1.3.7 Apache HBase 11
1.3.8 Apache Accumulo 11
1.3.9 Apache Solr.13
1.3.10 Apache Oozie 13
1.3.11 Apache ZooKeeper 13
1.3.12 Apache Flume .13
1.3.13 Apache Sqoop .14
vi | 目錄
1.3.14 Cloudera Hue 14
1.4 小結 .14
第一部分 安全架構
第2 章 保護分布式系統 .16
2.1 威脅種類 17
2.1.1 非授權訪問/偽裝 17
2.1.2 內在威脅 .17
2.1.3 拒絕服務 .18
2.1.4 數據威脅 .18
2.2 威脅和風險評估 18
2.2.1 用戶評估 .19
2.2.2 環境評估 .19
2.3 漏洞 .19
2.4 深度防御 20
2.5 小結 .21
第3 章 系統架構 22
3.1 運行環境 22
3.2 網絡安全 23
3.2.1 網絡劃分 .23
3.2.2 網絡防火墻 24
3.2.3 入侵檢測和防御 .25
3.3 Hadoop 角色和隔離策略 27
3.3.1 主節點 28
3.3.2 工作節點 .29
3.3.3 管理節點 .29
3.3.4 邊界節點 .30
3.4 操作系統安全 31
3.4.1 遠程訪問控制 31
3.4.2 主機防火墻 31
3.4.3 SELinux 33
3.5 小結 .34
第4 章 Kerberos 35
4.1 為什么是Kerberos .35
4.2 Kerberos 概覽 36
4.3 Kerberos 工作流:一個簡單示例 .37
目錄 | vii
4.4 Kerberos 信任 38
4.5 MIT Kerberos .39
4.5.1 服務端配置 41
4.5.2 客戶端配置 44
4.6 小結 .46
第二部分 驗證、授權和審計
第5 章 身份和驗證 .48
5.1 身份 .48
5.1.1 將Kerberos 主體映射為用戶名 .49
5.1.2 Hadoop 用戶到組的映射 50
5.1.3 Hadoop 用戶配置 54
5.2 身份驗證 54
5.2.1 Kerberos 55
5.2.2 用戶名和密碼驗證 56
5.2.3 令牌 56
5.2.4 用戶模擬 .59
5.2.5 配置 60
5.3 小結 .70
第6 章 授權 71
6.1 HDFS 授權 71
HDFS 擴展ACL .72
6.2 服務級授權 .74
6.3 MapReduce 和YARN 的授權 .85
6.3.1 MapReduce(MR1) 86
6.3.2 YARN (MR2) 87
6.6 HBase 和Accumulo 的授權 95
6.6.1 系統、命名空間和表級授權 95
6.6.2 列級別和單元級別授權 .99
6.7 小結 .99
第7 章 Apache Sentry(孵化中) 100
7.1 Sentry 概念 100
7.2 Sentry 服務 102
7.3 Hive 授權 105
7.4 Impala 授權 110
7.5 Solr 授權 112
viii | 目錄
7.6 Sentry 特權模型 113
7.6.1 SQL 特權模型 114
7.6.2 Solr 特權模型 .116
7.7 Sentry 策略管理 118
7.7.1 SQL 命令 118
7.7.2 SQL 策略文件 121
7.7.3 Solr 策略文件 .123
7.7.4 策略文件的驗證和校驗 124
7.7.5 從策略文件遷移 126
7.8 小結 127
第8 章 審計 .128
8.1 HDFS 審計日志 .129
8.2 MapReduce 審計日志 .130
8.3 YARN 審計日志132
8.4 Hive 審計日志 134
8.5 Cloudera Impala 審計日志 134
8.6 HBase 審計日志 135
8.7 Accumulo 審計日志 137
8.8 Sentry 審計日志 139
8.9 日志聚合 140
8.10 小結 141
第三部分 數據安全
第9 章 數據保護 .144
9.1 加密算法 144
9.2 靜態數據加密 .145
9.2.1 加密和密鑰管理 146
9.2.2 HDFS 靜態數據加密 .146
9.2.3 MapReduce2 中間數據加密 151
9.2.4 Impala 磁盤溢出加密 152
9.2.5 全盤加密 152
9.2.6 文件系統加密 154
9.2.7 Hadoop 中重要數據的安全考慮 .155
9.3 動態數據加密 .156
9.3.1 傳輸層安全 .156
9.3.2 Hadoop 動態數據加密 157
目錄 | ix
9.4 數據銷毀和刪除 162
9.5 小結 163
第10 章 數據導入安全 .164
10.1 導入數據的完整性 165
10.2 數據導入的機密性 166
10.2.1 Flume 加密 167
10.2.2 Sqoop 加密 173
10.3 導入工作流 178
10.4 企業架構 .179
10.5 小結 180
第11 章 數據提取和客戶端訪問安全 181
11.1 Hadoop 命令行接口 .182
11.2 保護應用安全 183
11.3 HBase 184
11.3.1 HBase shell 184
11.3.2 HBase REST 網關 186
11.3.3 HBase Thrift 網關 189
11.4 Accumulo 190
11.4.1 Accumulo shell 190
11.4.2 Accumulo 代理服務 192
11.5 Oozie .192
11.6 Sqoop .194
11.7 SQL 訪問 195
11.7.1 Impala .195
11.7.2 Hive .200
11.8 WebHDFS/HttpFS 208
11.9 小結 209
第12 章 Cloudera Hue .210
12.1 Hue HTTPS 211
12.2 Hue 身份驗證 212
12.2.1 SPNEGO 后端 212
12.2.2 SAML 后端 .213
12.2.3 LDAP 后端 .215
12.3 Hue 授權 .218
12.4 Hue SSL 客戶端配置 219
12.5 小結 219
x | 目錄
第四部分 綜合應用
第13 章 案例分析 .222
13.1 案例分析:Hadoop 數據倉庫 222
13.1.1 環境搭建 223
13.1.2 用戶體驗 226
13.1.3 小結 .229
13.2 案例分析:交互式HBase Web 應用 .230
13.2.1 設計與架構 .230
13.2.2 安全需求 231
13.2.3 集群配置 232
13.2.4 實現中的注意事項 .236
13.2.5 小結 .237
后記 .238
關于作者 .240
關于封面 .240