53.2. 验证 Kerberos keytab 文件是否与 IdM 数据库同步


当您更改 Kerberos 密码时,IdM 会自动生成新的对应的 Kerberos 密钥并增加其密钥版本号(KVNO)。如果没有使用新密钥和 KVNO 更新 Kerberos keytab,则任何依赖于 keytab 获取有效密钥的服务可能无法验证 Kerberos 密钥分发中心(KDC)。

如果您的 IdM 服务无法与其他服务通信,请使用以下步骤验证您的 Kerberos keytab 文件与存储在 IdM 数据库中的密钥同步。如果它们没有同步,请使用更新的密钥和 KVNO 来检索 Kerberos keytab。这个示例比较,并检索 IdM 服务器更新的 DNS 主体。

先决条件

  • 您必须作为 IdM admin 帐户进行身份验证才能检索 keytab 文件
  • 您必须以 root 帐户的身份进行身份验证,才能修改其他用户所拥有的 keytab 文件

流程

  1. 在您要验证的 keytab 中显示主体的 KVNO。在以下示例中,/etc/named.keytab 文件具有 KVNO 为 2 的 DNS/server1.idm.example.com@EXAMPLE.COM 主体的密钥。

    [root@server1 ~]# klist -ekt /etc/named.keytab
    Keytab name: FILE:/etc/named.keytab
    KVNO Timestamp           Principal
    ---- ------------------- ------------------------------------------------------
       2 11/26/2021 13:51:11 DNS/server1.idm.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
       2 11/26/2021 13:51:11 DNS/server1.idm.example.com@EXAMPLE.COM (aes128-cts-hmac-sha1-96)
       2 11/26/2021 13:51:11 DNS/server1.idm.example.com@EXAMPLE.COM (camellia128-cts-cmac)
       2 11/26/2021 13:51:11 DNS/server1.idm.example.com@EXAMPLE.COM (camellia256-cts-cmac)
  2. 显示存储在 IdM 数据库中的主体的 KVNO。在这个示例中,IdM 数据库中密钥的 KVNO 与 keytab 中的 KVNO 不匹配。

    [root@server1 ~]# kvno DNS/server1.idm.example.com@EXAMPLE.COM
    DNS/server1.idm.example.com@EXAMPLE.COM: kvno = 3
  3. 作为 IdM admin 帐户进行身份验证。

    [root@server1 ~]# kinit admin
    Password for admin@IDM.EXAMPLE.COM:
  4. 为主体检索更新的 Kerberos 密钥并将其存储在其 keytab 中。以 root 用户身份执行此步骤,以便您可以修改 /etc/named.keytab 文件,该文件归 named 用户所有。

    [root@server1 ~]# ipa-getkeytab -s server1.idm.example.com -p DNS/server1.idm.example.com -k /etc/named.keytab

验证

  1. 在 keytab 中显示主体的更新 KVNO。

    [root@server1 ~]# klist -ekt /etc/named.keytab
    Keytab name: FILE:/etc/named.keytab
    KVNO Timestamp           Principal
    ---- ------------------- ------------------------------------------------------
       4 08/17/2022 14:42:11 DNS/server1.idm.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
       4 08/17/2022 14:42:11 DNS/server1.idm.example.com@EXAMPLE.COM (aes128-cts-hmac-sha1-96)
       4 08/17/2022 14:42:11 DNS/server1.idm.example.com@EXAMPLE.COM (camellia128-cts-cmac)
       4 08/17/2022 14:42:11 DNS/server1.idm.example.com@EXAMPLE.COM (camellia256-cts-cmac)
  2. 显示 IdM 数据库中存储的主体的 KVNO,并确保它与 keytab 中的 KVNO 匹配。

    [root@server1 ~]# kvno DNS/server1.idm.example.com@EXAMPLE.COM
    DNS/server1.idm.example.com@EXAMPLE.COM: kvno = 4
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.