kerberos 配置解决常见问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kerberos 配置解决常见问题相关的知识,希望对你有一定的参考价值。

参考技术A

kdc原生支持tcp/udp协议,客户端访问kdc服务时,默认先使用udp协议发起请求,如果数据包过大或者请求失败,然后再换用tcp协议请求。

kdc默认支持tcp/udp协议,当然ipv4/ipv6都兼容

kadmin只支持tcp协议,ipv4/ipv6都兼容

如果某些场景客户端只支持tcp,那么也可以修改配置使客户端访问kdc时总是使用tcp协议。
该配置项如下:
udp_preference_limit = 1

资料:
https://docs.oracle.com/cd/E37459_01/E37463/html/ad-auth.html#ad-auth-kerberos-protocols
https://docs.oracle.com/cd/E19253-01/819-7061/seamov-62/index.html
https://www.oreilly.com/library/view/kerberos-the-definitive/0596004036/ch06s05s01.html

/etc/krb5.conf客户端配置文件

ticket_lifetime :票据的有效期,默认为1d;
时间单位一般有d/h/m/s等
renew_lifetime :票据的可再生期限可延长至指定时间;
要求延长有效期的操作需要在ticket_lifetime 到达前完成,否则后续将不能再延长有效期,且有效期只能验证一次;
默认为0;
时间单位一般有d/h/m/s等

kdc.conf配置文件

max_life :票据默认的有效期,默认值是1d
max_renewable_life :票据默认的最大可再生时间,默认是0

默认创建的principal的票据有效期及最大可再生时间是由kdc.conf配置文件确定的:

kinit命令参数确定票据有效期
kinit --help

-l lifetime 通过命令行修改票据的有效期
-s start time 默认票据生效的时间是获取到票据的时刻,可通过命令行修改票据开始生效的时间
-r renewable lifetime 通过命令行参数修改票据的可再生时间

创建了一个principal后,如果想要改变票据的有效期,一般来说kdc.conf文件不轻易变化,因为它是服务端配置文件,需要重启生效,所以可改变的就是krb5.conf文件以及通过命令行参数的方式了,做验证时,生成的票据的有效期由krb5.conf、kdc.conf和命令行参数这3者中的最小值决定:

如:

有效期是1天,可再生时间是7天,即最大有效期可延长至7天。

现在修改一下有效期:
1)通过krb5.conf

票据有效期改为5min:

有效期变为5分钟了:

2)通过命令行参数

通过命令行参数将有效期改为1min:

资料:
https://www.jianshu.com/p/54cd2a659698

方案1
通过/etc/hosts文件指定ip与域名的唯一映射关系,由此可以解决多域名映射导致kdc验证失败的问题

方案2
在/etc/krb5.conf配置文件的[libdefaults]模块下加上配置项rdns=false,这样也可以解决ip多域名映射问题导致的kdc验证失败

修改/etc/krb5.conf配置文件

在libdefaults模块下添加配置项default_ccache_name,并指定cache type为DIR,然后指定票据的缓存路径。

Kerberos+NFS常见的问题

今天搞了一天的Kerberos+nfs共享发现了一堆问题和大家分享一下经验
1、共享后使用rw和o+w权限后切换其他用户依然无法访问,查看权限时全部变成???

技术图片
解决方法:可能是因为kerberos服务器没有添加principal,

addprinc ldapuser0

添加用户对应的pric后就解决了
2、挂载一直提示没有权限的问题,因为博主是先将keytab文件下载到home目录下,然后再移到etc下的,没有考虑SElinux标签的安全上下文的问题,检查日志发现是Selinux的安全上下文的问题技术图片
解决方法:关闭SElinux或者修改keytab文件的安全上下文标签

chcon -t krb_keytab_t *.keytab

以上就是博主在搭建测试Kerberos+nfs遇到的一些问题了,如果你还有其他问题,在评论区提出来吧

以上是关于kerberos 配置解决常见问题的主要内容,如果未能解决你的问题,请参考以下文章

kerberos 配置错误记录

kafka kerberos 认证访问与非认证访问共存下的ACL问题

安全Kerberos相关问题进行故障排除| 常见错误和解决方法

基于Kerberos认证的大数据权限解决方案

配置CDH使用Kerberos身份服务

CDH开启kerberos后在第三方机器上部署Spark程序问题解决