当前位置: 首页 > 知识库问答 >
问题:

Kerberos和多个SPN

左丘昊天
2023-03-14

我成功地为1台服务器设置了Kerberos身份验证,并且运行正常。现在我有一个项目,我必须在其中向Kerberos配置添加另一台服务器,如下所示:

1)广告服务器

2)运行服务的服务器1

3) 服务器 2,其中将运行相同的服务

所以我执行了 setpn 命令,将两者都评估为单个“spn”用户:

setspn-s服务X/server1.domain.com@DOMAIN.COM特殊目的网络

setspn-s服务X/server2.domain.com@DOMAIN.COM特殊目的网络

然后我执行了通信ktpass:

ktpass-princ serviceX/server1.domain.com@DOMAIN.COM-ptype KRB5_NT_PRINCIPAL-crypto AES256-SHA1-映射用户服务X\spn-out C:\keytab rndPass

接下来我该怎么做才能让它工作?如何对server2执行ktpass?当我对server2尝试相同的命令时,我收到警告:

警告:无法将UPN serviceX/server2.domain.com p type 1 vno 10 etype 0x 12 kinit设置为“serviceX/server 2 . domain . com”将失败。

你们如何在不同的服务器上为相同的服务设置kerberos身份验证?您是否创建了2个spn用户和2个keytab?我想我需要把所有东西都放在一个键表中,因为服务需要它。有什么帮助吗?

共有1个答案

周奇
2023-03-14

通过使用绑定到目录中的用户帐户(而不是每个服务器)的 SPN,可以使用相同的密钥表在两个不同的服务器上运行 serviceX。为此,请将 SPN 绑定到虚拟服务器名称(也称为“VIP”),而不是真实名称。在我目前的组织中,我们一直在这样做。因此,由于 SPN 将在 DNS 中使用虚拟服务器名称,因此只需将负载平衡器配置为将对该虚拟名称的任何查询发送到其后面的真实服务器,以“应答”该名称。因此,在这种情况下,您不必担心 Server1 和 server2 都有唯一的密钥表,只需为我所说的 server-vip 创建一个密钥表,然后将相同的密钥表复制到两个服务器。如果您没有负载均衡器,则可以仅使用 DNS 轮循机制执行此操作。因此,下面的示例将是您的新密钥表创建语法,请注意只有一件事是如何变化的。这很好的另一个原因是因为它能够适应服务器的变化。当您最终停用服务器 1 和服务器 2 时,您可以在那一天到来时轻松地将密钥表复制到服务器 3 和 server4。

ktpass-princ serviceX/server-vip.domain.com@DOMAIN.COM-ptype KRB5_NT_PRINCIPAL-crypto AES256-SHA1-映射用户服务X\spn-out C:\keytab rndPass

 类似资料:
  • 我没有使用Kerberos的任何经验,也找不到任何方法来实现这一点。 我有一台带有Apache的Linux机器,试图使用Kerberos进行身份验证。问题是不同域上有多个活动目录。是否有任何Kerberos配置允许我按顺序尝试所有配置? 或者有没有更简单的方法来实现SSO给定这些约束(Linux在一边,Windows Server在另一边)? 谢谢你!

  • 所有的, 有人能就如何使用JAAS LoginContext对多个KDC/Realm组合进行身份验证提供建议吗?换句话说,如果尝试1对领域A失败,请尝试领域B。 类似于下面的伪代码。 一如既往,任何帮助都非常感谢。 查看剪贴板打印文本?

  • 问题内容: 在kerberosed环境中向kafka主题发送消息时出错。我们在hdp 2.3上有集群 我遵循了这个http://henning.kropponline.de/2016/02/21/secure-kafka-java-producer- with-kerberos/ 但是对于发送消息,我必须先显式地执行kinit,然后才能将消息发送到kafka主题。我试图通过java类进行编织,但是

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

  • 我正在尝试在zookeeper和kafka之间设置kerberos标识。 我遵循了此处提供的配置步骤:https://docs.confluent.io/4.1.1/kafka/authentication_sasl_gssapi.html#sasl-gssapi经纪人。 Kafka代理成功连接到zookeeper集合,代理正在zNode上设置ACL。 在Zookeeper中,我可以看到znode

  • python-keystoneclient-kerberos 是用于开源云技术 OpenStack 客户端中鉴别 Kerberos网络协议(计算机网络授权协议)的插件。