一、安装配置kerberos
- 安装服务
yum -y install krb5-server krb5-libs krb5-workstation
- 修改配置文件krb5.conf
vi /etc/krb5.conf
主要修改图中红字所示
krb5.conf相关配置参数说明:
[logging]:
Kerberos守护进程的日志记录方式。换句话说,表示 server 端的日志的打印位置。
default :默认的krb5libs.log日志文件存放路径
kdc :默认的krb5kdc.log日志文件存放路径
admin_server :默认的kadmind.log日志文件存放路径
[libdefaults]:
Kerberos使用的默认值,当进行身份验证而未指定Kerberos域时,则使用default_realm参数指定的Kerberos域。即每种连接的默认配置,需要注意以下几个关键的配置:
dns_lookup_realm :DNS查找域名,我们可以理解为DNS的正向解析,该功能我没有去验证过,默认禁用。(我猜测该功能和domain_realm配置有关)
ticket_lifetime :凭证生效的时限,设置为7天。
rdns :我理解是和dns_lookup_realm相反,即反向解析技术,该功能我也没有去验证过,默认禁用即可。(我猜测该功能和domain_realm配置有关)
pkinit_anchors :在KDC中配置pkinit的位置,该参数的具体功能我没有做进一步验证。
default_realm = YINZHENGJIE.COM :设置 Kerberos 应用程序的默认领域。如果您有多个领域,只需向 [realms] 节添加其他的语句。其中YINZHENGJIE.COM可以为任意名字,推荐为大写。必须跟要配置的realm的名称一致。
default_ccache_name: :顾名思义,默认的缓存名称,不推荐使用该参数。
renew_lifetime :凭证最长可以被延期的时限,一般为7天。当凭证过期之后,对安全认证的服务的后续访问则会失败。
forwardable :如果此参数被设置为true,则可以转发票据,这意味着如果具有TGT的用户登陆到远程系统,则KDC可以颁发新的TGT,而不需要用户再次进行身份验证。
renewable :是否允许票据延迟
[realms]:
域特定的信息,例如域的Kerberos服务器的位置。可能有几个,每个域一个。可以为KDC和管理服务器指定一个端口。如果没有配置,则KDC使用端口88,管理服务器使用749。即列举使用的 realm域。
kdc :代表要KDC的位置。格式是 机器:端口
admin_server :代表admin的位置。格式是 机器:端口
default_domain :顾名思义,指定默认的域名。
[domain_realm]:
指定DNS域名和Kerberos域名之间映射关系。指定服务器的FQDN,对应的domain_realm值决定了主机所属的域。
[kdc]:
kdc的配置信息。即指定kdc.conf的位置。
profile :kdc的配置文件路径,默认值下若无文件则需要创建。
- 修改配置文件kdc.conf
vi /var/kerberos/krb5kdc/kdc.conf
保证域名统一
kdc.conf参数说明:
[kdcdefaults]
该部分包含在此文件中列出的所有通用的配置。
kdc_ports :指定KDC的默认端口。
kdc_tcp_ports :指定KDC的TCP协议默认端口。
[realms]
该部分列出每个领域的配置。
YINZHENGJIE.COM : 是设定的 realms。名字随意,推荐为大写!,但须与/etc/krb5.conf保持一致。Kerberos 可以支持多个 realms,会增加复杂度。大小写敏感。
master_key_type : 默认为禁用,但如果需要256为加密,则可以下载Java加密扩展(JCE)并安装。禁用此参数时,默认使用128位加密。
acl_file : 标注了 admin 的用户权限的文件,若文件不存在,需要用户自己创建。即该参数允许为具有对Kerberos数据库的管理访问权限的UPN指定ACL。
supported_enctypes : 指定此KDC支持的各种加密类型。
admin_keytab : KDC 进行校验的 keytab。
max_life : 该参数指定如果指定为2天。这是票据的最长存活时间。
max_renewable_life : 该参数指定在多长时间内可重获取票据。
dict_file : 该参数指向包含潜在可猜测或可破解密码的文件。
- 修改配置文件kadm5.acl
vi /var/kerberos/krb5kdc/kadm5.acl
---------------------------------------------------
# 域名统一
*/admin@BIGDATATEST.COM *
kadm5.acl参数说明:
[kdcdefaults]
该部分包含在此文件中列出的所有通用的配置。
kdc_ports :指定KDC的默认端口。
kdc_tcp_ports :指定KDC的TCP协议默认端口。
[realms]
该部分列出每个领域的配置。
YINZHENGJIE.COM : 是设定的 realms。名字随意,推荐为大写!,但须与/etc/krb5.conf保持一致。Kerberos 可以支持多个 realms,会增加复杂度。大小写敏感。
master_key_type : 默认为禁用,但如果需要256为加密,则可以下载Java加密扩展(JCE)并安装。禁用此参数时,默认使用128位加密。
acl_file : 标注了 admin 的用户权限的文件,若文件不存在,需要用户自己创建。即该参数允许为具有对Kerberos数据库的管理访问权限的UPN指定ACL。
supported_enctypes : 指定此KDC支持的各种加密类型。
admin_keytab : KDC 进行校验的 keytab。
max_life : 该参数指定如果指定为2天。这是票据的最长存活时间。
max_renewable_life : 该参数指定在多长时间内可重获取票据。
dict_file : 该参数指向包含潜在可猜测或可破解密码的文件。
- 创建kerberos数据库
kdb5_util create -r BIGDATATEST.COM -s
# 创建成功默认会在/var/kerberos/krb5kdc/目录下生成principal*数据库文件
- 启动CDC服务器
systemctl enable krb5kdc
systemctl start krb5kdc
systemctl status krb5kdc
- 启动kerberos服务器
systemctl enable kadmin
systemctl start kadmin
systemctl status kadmin
- KDC 服务器上添加超级管理员账户
#进入管理后台
kadmin.local
# 添加管理用户
addprinc root/admin
二、ambari平台启用kerberos
-
点击开始应用kerberos
-
根据需求选择
-
配置信息