hadoop的安全系列
標籤(空格分隔): hadoop安全系列
- 一:hadoop安全背景
- 二: Kerberos基本概念
#一: hadoop安全背景
##1.1、共享集羣
1. 按照業務或應用的規劃份資源隊列,並分配給特定用戶
2. hdfs上存放各種數據,包括公共的,機密的
##1.2、重要概念
1.安全認證:
確保某個用戶是自己聲稱的那個用戶
2.安全授權:
確保某個用戶只能做它允許的那些操作
3. user :
hadoop 用戶,可以提交作業,查看自己作業狀態,查看HDFS上的文件
4. Service:
Hadoop 中的服務組件,包括:
namenode ,resourcemanager ,datanode, nodemanager
##1.3、hadoop1.0 的安全問題
1.User to Service
Namenode或者jobtracker缺乏安全認證機制
DataNode缺乏安全授權機制
JobTracker缺乏安全授權機制
2.Service to service安全認證
Datanode與TaskTracker缺乏安全授權機制,這使得用戶可以隨意啓動假的datanode和tasktracker
3.磁盤或者通信連接沒有經過加密
4. Apache Hadoop 1.0.0版本和Cloudera CDH3之後的版本添加了安全機制
Hadoop提供了兩種安全機制:Simple和Kerberos
4.1:Simple
採用SAAS協議,默認機制
配置簡單、使用簡單、適合單一團隊使用
4.2: kerberos
Kerberos可以將認證的密鑰在集羣部署時事先放到可靠的節點上。只有被認證過節點才能正常使用,配置稍複雜、使用稍麻煩、安全性高
1.4、 Kerberos解決的Hadoop認證問題
1. kerberos實現的是機器級別的安全認證,也就是服務到服務的認證
2. 解決服務器到服務器的認證
2.1、防止了用戶僞裝成Datanode,Tasktracker,去接受JobTracker,Namenode的任務指派
3. 解決client到服務器的認證
Kerberos對可信任的客戶端提供認證,確保他們可以執行作業的相關操作
4. 對用戶級別上的認證並沒有實現
無法控制用戶提交作業的操作
二: Kerberos基本概念
2.1. kerberos 包含的實體
Principal(安全個體):被認證的個體,有一個名字和口令
KDC(key distribution center ) : 是一個網絡服務,提供ticket 和臨時會話密鑰
Ticket:一個票據,客戶用它來向服務器證明自己的身份,包括客戶標識、會話密鑰、時間戳。
AS (Authentication Server): 認證服務器
TGS(Ticket Granting Server): 許可證服務器
TGT:Ticket-granting Ticket
2.2、Kerberos協議
分兩部分
Client從KDC獲取TGT
Client利用獲取的TGT向KDC請求其他Service的Ticket
2.3、kerberos 認證的過程
認證過程也是Session Key安全發佈的過程