Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 16 章 管理服务

主机上运行的一些服务也可以属于 IdM 域。可以存储 Kerberos 主体或 SSL 证书(或两者)的任何服务都可以配置为 IdM 服务。向 IdM 域添加服务可让服务从域请求 SSL 证书或 keytab。(仅证书的公钥存储在服务记录中。私钥是该服务的本地密钥。)
IdM 域在机器之间建立通用性,具有通用身份信息、通用策略和共享服务。属于域的任何计算机充当域的客户端,这意味着它使用域所提供的服务。IdM 域(如 第 1 章 红帽身份管理简介所述)为机器提供三个主要服务:
  • DNS
  • Kerberos
  • 证书管理

16.1. 添加和编辑服务条目和密钥选项卡

与主机条目一样,主机(以及该主机上的任何其他服务)的服务条目必须手动添加到 IdM 域中。这个过程分为两个步骤。首先,必须创建服务条目,然后必须为该服务创建一个 keytab,它将用于访问域。
默认情况下,身份管理将其 HTTP keytab 保存到 /etc/httpd/conf/ipa.keytab
注意
此 keytab 用于 Web UI。如果密钥存储在 ipa.keytab 中,且删除了 keytab 文件,IdM Web UI 将停止工作,因为原始密钥也会被删除。
可以为每个需要让 Kerberos 感知的服务指定相似的位置。没有必须使用的特定位置,但在使用 ipa-getkeytab 时,您应该避免使用 /etc/krb5.keytab。此文件不应包含特定于服务的 keytab;每个服务都应将其 keytab 保存在特定位置,并且应配置访问权限(以及 SELinux 规则),以便只有此服务有权访问 keytab。

16.1.1. 从 Web UI 添加服务和 keytab

  1. 打开 Identity 选项卡,然后选择 Services 子选项卡。
  2. 单击 services 列表顶部的 Add 按钮。
  3. 从下拉菜单中选择服务类型,并为它指定一个名称。
  4. 选择运行该服务的 IdM 主机的主机名。主机名用于构造完整的服务主体名称。
  5. Add 按钮保存新服务主体。
  6. 使用 ipa-getkeytab 命令为服务主体生成并分配新的 keytab。
    [root@ipaserver ~]# # ipa-getkeytab -s ipaserver.example.com -p HTTP/server.example.com -k /etc/httpd/conf/krb5.keytab -e aes256-cts
    • realm name 是可选的。IdM 服务器会自动附加配置了它的 Kerberos 域。您无法指定不同的域。
    • 主机名必须解析为 DNS A 记录,然后才能用于 Kerberos。如果需要,您可以使用 --force 标志强制创建主体。
    • e 参数可以包含 要在 keytab 中包含的加密类型列表。这会取代任何默认加密类型。可以多次使用 选项设置条目列表,也可通过将选项列在大括号内的逗号分隔列表中,如 --option={val1,val2,val3}
    警告
    创建新密钥为指定主体重置 secret。这意味着该主体的所有其他 keytab 都会变为无效。

16.1.2. 从命令行添加服务和 keytab

  1. 创建服务主体。该服务通过名称(如 service/FQDN)来识别
    # ipa service-add serviceName/hostname
    例如:
    $ ipa service-add HTTP/server.example.com
    -------------------------------------------------------
    Added service "HTTP/server.example.com@EXAMPLE.COM"
    -------------------------------------------------------
      Principal: HTTP/server.example.com@EXAMPLE.COM
      Managed by: ipaserver.example.com
    
  2. 使用 ipa-getkeytab 命令创建服务 keytab 文件。此命令在 IdM 域中的客户端上运行。(实际上,它可以在任何 IdM 服务器或客户端上运行,然后复制到相应机器的密钥。不过,最简便的做法是在正在创建的 计算机上运行 命令。)
    命令需要 Kerberos 服务主体(-p)、IdM 服务器名称(-s)、要写入的文件(-k)和加密方法(-e)。务必将 keytab 复制到服务的相应目录。
    例如:
    # ipa-getkeytab -s server.example.com -p HTTP/server.example.com -k /etc/httpd/conf/krb5.keytab -e aes256-cts
    • realm name 是可选的。IdM 服务器会自动附加配置了它的 Kerberos 域。您无法指定不同的域。
    • 主机名必须解析为 DNS A 记录,然后才能用于 Kerberos。如果需要,您可以使用 --force 标志强制创建主体。
    • e 参数可以包含 要包含在 keytab 中的以逗号分隔的加密类型列表。这会取代任何默认加密类型。可以多次使用 选项设置条目列表,也可通过将选项列在大括号内的逗号分隔列表中,如 --option={val1,val2,val3}
    警告
    ipa-getkeytab 命令重置指定主体的 secret。这意味着该主体的所有其他 keytab 都会变为无效。