解析:kerberos主从双kdc如何做到可靠性保障

网友投稿 1236 2022-05-30

Kerberos作为认证系统,其在交互速度上要优于密钥认证,复杂度上又要低于开发、搭建一整套的认证系统,被一些看中性能且需要安全的集群系统所青睐。例如旧版本的hadoop的并没有安全保障,但随着业务场景增多,hadoop中存在的用户信息变成了攻击的目标,hadoop便增加kerberos及ssl等安全配置项。

搭建、配置kerberos的过程比较繁琐,主要涉及到krb5.conf、kdc.conf配置文件及一些命令操作,如创建目标realm对应数据库、添加认证用户等等,但是这些了解了kerberos的一些基本概念后还是比较容易完成的,网上也可以搜到不少类似的指导文档。

在业务集群运行时交互涉及的信息,需要初始配置阶段就需要完成的,也就是说业务运行过程中实际没kadmind多少事,即使down掉也不影响到系统运行。但是业务集群中的节点在运行时需要通过KDC获取TGT认证,此时KDCdown掉集群就over了,完全无法提供服务。

Kerberos实际上是支持多KDC配置的,从可靠性角度看两个KDC足以保证。但是配置中涉及到数据同步问题还是比较蛋疼的,在实际配置中确实就遇到过kpropd无法同步KDC中数据的问题。

krb5.conf中realms配置双KDC

[realms]

XXXXX.COM = {

kdc= kerberos.xxxxx.com

kdc= kerberos2. xxxxx.com

admin_server = kerberos. xxxxx.com

default_domain = xxxxx.com

}

Kerberos由主KDC中同步到从KDC主要两个步骤:

解析:kerberos主从双kdc如何做到可靠性保障

1. dump主KDC中的数据

kdb5_util dump /your_path/kdc.dump

2. 借助kprop命令通知从节点kpropd进程同步数据:

kprop -f  /your_path/kdc.dump kerberos2.xxxxx.com

一般情况下主节点上新增用户信息后,需要进行上述步骤同步数据,在管理集群时,新增服务或者节点实际是可控的,因此操作是可控的。

在操作中遇到kprop命令无法通知从节点kpropd的情况(通道?认证?配置?待解决)。实际上kprop命令只干了一件大事:通知从节点kpropd进程“你有份.dump快递请接收”。从节点kpropd进程收到.dump后调用load命令加载到KDC中,完成数据同步。

两台kerberos节点间也是需要交互认证的(添加kerberos配置)。

搞Kprop同步时,小编是搞了一身一嘴毛,没办法搞了替代方案:

1. dump master数据信息

2. 传输.dump文件到kerberos从节点

3. 从节点上调用kdb5_util load命令加载数据到KDC中

OK,解决了,但是复杂度高了。。。

同步OK后,主从KDC进程只要OK一个,业务系统的认证就不存在可靠性问题了。当然涉及到的kerberos进程都是需要监控告警的,任何一个进程出问题都是要立马解决的O。

限于只是条咸鱼,经验有限,还请多多交流。

Kerberos

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:手把手教你制作动态专题地图
下一篇:VC中前缀字符&带来的UI显示问题
相关文章