[关闭]
@zhangyy 2020-08-24T10:24:37.000000Z 字数 1442 阅读 187

hadoop的安全系列

hadoop安全系列


一: hadoop安全背景

1.1、共享集群

  1. 1. 按照业务或应用的规划份资源队列,并分配给特定用户
  2. 2. hdfs上存放各种数据,包括公共的,机密的

1.2、重要概念

  1. 1.安全认证:
  2. 确保某个用户是自己声称的那个用户
  3. 2.安全授权:
  4. 确保某个用户只能做它允许的那些操作
  5. 3. user :
  6. hadoop 用户,可以提交作业,查看自己作业状态,查看HDFS上的文件
  7. 4. Service
  8. Hadoop 中的服务组件,包括:
  9. namenode ,resourcemanager ,datanode, nodemanager

1.3、hadoop1.0 的安全问题

  1. 1.User to Service
  2. Namenode或者jobtracker缺乏安全认证机制
  3. DataNode缺乏安全授权机制
  4. JobTracker缺乏安全授权机制
  5. 2.Service to service安全认证
  6. DatanodeTaskTracker缺乏安全授权机制,这使得用户可以随意启动假的datanodetasktracker
  7. 3.磁盘或者通信连接没有经过加密
  8. 4. Apache Hadoop 1.0.0版本和Cloudera CDH3之后的版本添加了安全机制
  9. Hadoop提供了两种安全机制:SimpleKerberos
  10. 4.1:Simple
  11. 采用SAAS协议,默认机制
  12. 配置简单、使用简单、适合单一团队使用
  13. 4.2: kerberos
  14. Kerberos可以将认证的密钥在集群部署时事先放到可靠的节点上。只有被认证过节点才能正常使用,配置稍复杂、使用稍麻烦、安全性高

1.4、 Kerberos解决的Hadoop认证问题

  1. 1. kerberos实现的是机器级别的安全认证,也就是服务到服务的认证
  2. 2. 解决服务器到服务器的认证
  3. 2.1、防止了用户伪装成DatanodeTasktracker,去接受JobTrackerNamenode的任务指派
  4. 3. 解决client到服务器的认证
  5. Kerberos对可信任的客户端提供认证,确保他们可以执行作业的相关操作
  6. 4. 对用户级别上的认证并没有实现
  7. 无法控制用户提交作业的操作

二: Kerberos基本概念

2.1. kerberos 包含的实体

  1. Principal(安全个体):被认证的个体,有一个名字和口令
  2. KDC(key distribution center ) : 是一个网络服务,提供ticket 和临时会话密钥
  3. Ticket:一个票据,客户用它来向服务器证明自己的身份,包括客户标识、会话密钥、时间戳。
  4. AS (Authentication Server): 认证服务器
  5. TGS(Ticket Granting Server): 许可证服务器
  6. TGTTicket-granting Ticket

2.2、Kerberos协议

  1. 分两部分
  2. ClientKDC获取TGT
  3. Client利用获取的TGTKDC请求其他ServiceTicket

image_1c1s5k9ng1ou85vi1d56k2n1hs29.png-739.5kB

2.3、kerberos 认证的过程

  1. 认证过程也是Session Key安全发布的过程

image_1c1s5q0qk87c1djrmim11p870a1p.png-699.5kB

2.4、Kerberos认证授权过程

image_1c1s6ecue1futkjp9l6bnurm26.png-1187.1kB

2.5 kerberos 在hadoop 上面的应用

image_1c1s6gj3017o91kukrq6bir1qtm2j.png-2350.4kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注