kerberos简介
Kerberos是一种计算机网络认证协议,此协议可以保护网络实体免受窃听和重复攻击,它允许某实体在非安全网络环境下向另一个实体以一种安全的方式证明自己的身份。Kerberos由麻省理工实验室实现此协议并发布的一套免费软件。其设计主要是针对客户-服务器模型,且提供了一系列交互认证——用户和服务器都能高安全性的验证对方的身份。
链接
kerberos认证原理
用对话场景来解释kerbeors的设计过程
Kerberos基本概念:
最后会通过搭建好的 kerberos 服务来具体讲解,不至于抽象:
1. Kerberos中有三种角色:
服务器, 客户端
KDC(认证服务器)
客户端和服务器要信任KDC
KDC在整个Kerberos Authentication中作为Client和Server共同信任的第三方起着重要的作用。
并且KDC要存储它们每个人的私有密码所生成的Hash密钥.这些hashkey被存储在account database(账号数据库)中。
2. KDC为了便于查询它们每个人的Hash密钥, 要求他们必须有一个唯一的名字,称为principal.
3. 安全个体(principal)
定义:
1. 凡是可以与账户和口令联系在一起的任何事物都可以被认为是安全个体;
2. 每个安全个体都有一个可被认证的身份;
3. 在认证的过程中,正在被证明的是参与各方的安全个体的身份。
假设你的CDH集群已经安装配置好了,Kerbers此过程忽略跳过。
一.检查是否已经安装
1.1 rpm -qa | grep krb5 ( rpm -qa 列出所有被安装的rpm package ,可以把grep理解成字符搜索工具 )
特别提醒:如果是在内网(镜像文件已经安装好Kerberos)谨慎进行下面卸载操作步骤
1.2 如果已经安装进行卸载,执行下面命令进行卸载
yum -y remove krb5
注意:如果是内网安装,请谨慎选择此卸载步骤。
二.安装kerberos
如果已经内网环境已经安装好Kerberos不需要重新安装,可跳过此节内容
2.1 Server节点安装Kerberos相关软件
通过下面命令进行安装kerberos
yum install -y krb5-server krb5-workstation krb5-libs
~~~~中间过程===省,直接看最后的安装结果
可以用rep -qa | grep krb5 查看安装的情况
2.2 Client节点安装Kerberos相关软件
- 本文档的集群客户端节点有2个,此文图文只展示 address-03 的客户端节点的安装,其他客户端节点安装过程完全一 样。
- 执行下面命令进行address-[03-04]节点安装
yum install -y krb5-workstation krb5-libs
中间过程省略。。。
- 可以用rep -qa | grep krb5查看安装的结果
2.3 配置Kerberos
需要配置的文件有两个为kdc.conf和krb5.conf , 配置只是需要Server服务节点配置,也就是address-02 节点。
2.3.1 kdc文件配置
- 查看krb5的配置文件路径
执行下面命令进行查看
whereis krb5
- 编辑修改kdc.conf,执行下面命令
vi /var/kerberos/krb5kdc/kdc.conf
- vi编写修改内容如下
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
HADOOP.COM = {
#master_key_type = aes256-cts
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}