CDH6安装kerberos(一)kerberos概念理解

  • Post author:
  • Post category:其他



CDH6安装kerberos(一)kerberos概念理解



CDH6安装kerberos(二)kerberos部署



CDH6安装kerberos(三)CDH集群启用Kerberos



CDH6安装kerberos(四)kerberos使用示例


一. Kerberos概述


Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。

Hadoop使用Kerberos作为用户和服务的强身份验证和身份传播的基础。Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。 Kerberos是第三方认证机制,其中用户和服务依赖于第三方(Kerberos服务器)来对彼此进行身份验证。 Kerberos服务器本身称为密钥分发中心或KDC。 在较高的层面上,它有三个部分:

它知道的用户和服务(称为主体)及其各自的Kerberos密码的数据库

一个认证服务器(AS)执行初始认证并颁发票证授予票证(TGT)

一个票据授权服务器(TGS)发出基于初始后续服务票证TGT

一个用户主要来自AS请求认证。AS返回使用用户主体的Kerberos密码加密的TGT,该密码仅为用户主体和AS所知。用户主体使用其Kerberos密码在本地解密TGT,从那时起,直到ticket到期,用户主体可以使用TGT从TGS获取服务票据。服务票证允许委托人访问各种服务。

Kerberos简单来说就是一个用于安全认证第三方协议,它采用了传统的共享密钥的方式,实现了在网络环境不一定保证安全的环境下,client和server之间的通信,适用于client/server模型,由MIT开发和实现。

Kerberos服务是单点登录系统,这意味着您对于每个会话只需向服务进行一次自我验证,即可自动保护该会话过程中所有后续事务的安全。

由于每次解密TGT时群集资源(主机或服务)都无法提供密码,因此它们使用称为keytab的特殊文件,该文件包含资源主体的身份验证凭据。 Kerberos服务器控制的主机,用户和服务集称为领域。


二. Kerberos基本概念


Princal(安全个体):被认证的个体,有一个名字和口令.(客户端或者服务端)

KDC(key distribution center): 认证过程的票据生成管理服务,其中包含两个服务,AS(Authentication Service)和TGS(Ticket Granting Service)。

Ticket:一个记录,客户用它来向服务器证明自己的身份,包括客户标识,会话密钥,时间戳.

AS(Authentication Server):认证服务器, 为client生成TGT的服务。

TGS(Ticket Grantion Server): 许可证服务器, 为client生成某个服务的ticket

TGT:Ticket-grantion Ticket : 用于获取ticket的票据

AD(Account Database): 存储所有client的白名单,只有存在于白名单的client才能顺利申请到ticket


三. Kerberos认证流程


在这里插入图片描述

(1)客户端执行kinit命令,输入Principal及Password,向AS证明身份,并请求获取TGT。

(2)AS检查Database中是否存有客户端输入的Principal,如有则向客户端返回TGT。

(3)客户端获取TGT后,向TGS请求ServerTicket。

(4)TGS收到请求,检查Database中是否存有客户端所请求服务的Principal,如有则向客户端返回ServerTicket。

(5)客户端收到ServerTicket,则向目标服务发起请求。

(6)目标服务收到请求,响应客户端。



版权声明:本文为dugufeilei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。