【问题标题】:What is the correct format to specify SPN?指定 SPN 的正确格式是什么?
【发布时间】:2016-06-10 09:03:35
【问题描述】:

首先,使用 setspn 命令为用户注册服务主体名称。

setspn -a CS/dummy@abc.com dummyuser

setspn -l 虚拟用户

输出为

CS/dummy@abc.com

接下来,当使用 /mapUser 选项执行 ktpass 命令时,会修改用户帐户的服务主体名称,以便删除域组件。

ktpass /pass Password@123 -out dummy.1.keytab -princ CS/dummy@abc.com -crypto DES-CBC-MD5 +DumpSalt -ptype KRB5_NT_PRINCIPAL +desOnly /mapOp set /mapUser dummyuser

setspn -l 虚拟用户

输出为

CS/假人

以下两个命令是否正确且工作方式相同?

setspn -a CS/dummy dummyuser

setspn -a CS/dummy@abc.com dummyuser

在 SPN 中指定服务名称时,是否也必须包含域组件?你能澄清一下吗?

【问题讨论】:

    标签: kerberos spn keytab


    【解决方案1】:

    由于您没有提及,我假设您在 Windows Active Directory 域环境中?我这么说是因为您的示例中给出的命令“ktpass”是 Windows 原生的。基于此,我将假设您的 Active Directory DNS 域名是 abc.com,而 Kerberos 域名是 ABC.COM。

    1. 当您创建 keytab 时,SPN 会被映射到当时的用户或计算机对象(主体,在 Kerberos 术语中),因此您无需在之后调整该主体的 SPN除非 您将它们添加为辅助 SPN。
    2. 帮自己一个忙,将 Kerberos 领域名称以大写形式放在您的密钥表创建命令中。最好随机化密码,这样没人知道。 Kerberos SSO 功能可以正常工作。并且 Kerberos 领域名称需要附加到“/mapUser”参数。我已将您的示例修改为您应该使用的更好的示例。
    3. 它超出了您的问题范围,但不再使用 DES 加密。它在业界早已失宠。我不会对此多说,因为这不是你要问的。
    4. 不要使用“setspn -a”语法在主体上添加或创建 SPN,而是使用“setspn -s”作为“-s”检查重复 SPN 而“-a”不检查(参见: “setspn -s” vs. “setspn -a”)。
    5. 确保您完全限定了 SPN 的主机部分(即 dummy.abc.com,而不仅仅是 dummy)。否则,身份验证机制可能会立即尝试 NTLM 而不是 Kerberos,这不是您想要的。
    6. 在仅由单个 DNS 域和单个 Kerberos 域组成的简单环境中,并且 Kerberos 域到 DNS 域的映射已经设置(在 UNIX/Linux 上通常由 /etc/krb5.conf 设置,Windows 会自动处理)但如果没有,它将尝试 C:\Windows\krb5.ini(如果存在),而在运行“setspn -a”或“setspn -s”时,您不需要将 Kerberos 领域限定为 SPN 的一部分,您应该在您的 Kerberos 创建命令中执行此操作。

    因此,就您而言,根据我提到的所有内容,您可以使用:

    setspn -a CS/dummy dummyuser
    

    最好还是这样做:

    setspn -s CS/dummy.abc.com dummyuser
    

    为了额外的功劳,我还相应地修改了您的密钥表创建命令,但保留了 DES 部分以免进一步混淆。

    ktpass +rndPass -out dummy.1.keytab -princ CS/dummy.abc.com@ABC.COM -crypto DES-CBC-MD5 +DumpSalt -ptype KRB5_NT_PRINCIPAL +desOnly /mapOp set /mapUser dummyuser@ABC.COM
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多