第 14 章 身份管理


以下章节包含对 RHEL 8 和 RHEL 9 之间身份管理(IdM)的最显著的更改。

14.1. 新功能

SSSD 中提供了一个新的无密码验证方法

从 RHEL 9.4 开始,您可以在 SSSD 中启用和配置无密码身份验证,以使用与 FIDO2 规范兼容的生物识别设备,如 YubiKey。您必须提前注册 FIDO2 令牌,并将此注册信息存储在 RHEL IdM、活动目录或 LDAP 存储中的用户帐户中。RHEL 实现了 FIDO2 与 libfido2 库的兼容,该库目前仅支持基于 USB 的令牌。

现在完全支持身份管理 API

从 RHEL 9.3 开始,身份管理(IdM) API 是一个完全支持的功能。

即使 IdM API 已被改进,用户也可以使用现有工具和脚本,来启用多个 API 命令版本。这些增强功能不会以不兼容的方式更改命令的行为。这有以下优点:

  • 与管理客户端相比,管理员可以在服务器上使用之前或之后版本的 IdM 。
  • 开发人员可以使用 IdM 调用的特定版本,即使 IdM 版本在服务器上发生了变化。

无论一端是否使用了为某个功能引入了新选项的较新版本,都可以与服务器进行通信。

注意
虽然 IdM API 提供 JSON-RPC 接口,但不支持这种类型的访问。红帽建议使用 Python 访问 API。使用 Python 可以自动化重要的部分,如从服务器检索元数据,其允许列出所有可用的命令。

身份管理安装软件包已进行演示

在以前的版本中,在 RHEL 8 中,IdM 软件包作为模块发布,需要启用流并安装与所需安装对应的配置集。IdM 安装软件包在 RHEL 9 中进行了演示,因此您可以使用以下 dnf 命令安装 IdM 服务器软件包:

  • 对于没有集成 DNS 服务的服务器:

    # dnf install ipa-server
    Copy to Clipboard Toggle word wrap
  • 对于具有集成 DNS 服务的服务器:

    # dnf install ipa-server ipa-server-dns
    Copy to Clipboard Toggle word wrap

SSSD 隐式文件供应商域默认禁用

SSSD 隐式 文件 供应商域,从 /etc/shadow/etc/ groups 等本地文件检索用户信息,现已默认禁用。

使用 SSSD 从本地文件检索用户和组信息:

  1. 配置 SSSD.选择以下选项之一:

    1. 使用 sssd.conf 配置文件中的 id_provider=files 选项明确配置本地域。

      [domain/local]
      id_provider=files
      ...
      Copy to Clipboard Toggle word wrap
    2. 通过在 sssd.conf 配置文件中设置 enable_files_domain=true 选项来启用文件供应商。

      [sssd]
      enable_files_domain = true
      Copy to Clipboard Toggle word wrap
  2. 配置名称服务切换。

    # authselect enable-feature with-files-provider
    Copy to Clipboard Toggle word wrap
  3. 要恢复用户信息的缓存和同步,请通过创建符号链接来启用 shadow-utilssssd_cache 之间的集成:

    # ln -s /usr/sbin/sss_cache /usr/sbin/sss_cache_shadow_utils
    Copy to Clipboard Toggle word wrap

KDC 的新领域配置模板启用 FIPS 140-3 兼容密钥加密

此更新在 /var/kerberos/krb5kdc/kdc.conf 文件中提供了一个新的 EXAMPLE.COM 示例领域配置。它会带来两个变化:

  • FIPS 140-3 兼容 AES HMAC SHA-2 系列被添加到密钥加密的支持类型的列表中。
  • KDC 主密钥的加密类型从 AES 256 HMAC SHA-1 切换到 AES 256 HMAC SHA-384
警告

这个更新是独立的 MIT 领域。不要更改 RHEL 身份管理中的 Kerberos 分发中心(KDC)配置。

建议为新领域使用新的配置模板。模板不会影响任何已部署的领域。如果您计划根据模板升级领域的配置,请考虑以下几点:

对于升级主密钥,更改 KDC 配置中的设置不够充分。按照 MIT Kerberos 文档 中所述的流程进行操作。

AES HMAC SHA-2 系列添加到密钥加密的支持类型中在任何时候都安全,因为它不会影响 KDC 中的现有条目。只有在创建新主体或续订凭证时,才会生成密钥。请注意,无法根据现有密钥生成此新类型的密钥。要使这些新加密类型对某个主体可用,必须续订其凭证,这意味着也续订服务主体的 keytab。

主体不具有 AES HMAC SHA-2 密钥的唯一情况是活动目录(AD)跨域票据授予票据(TGT)。由于 AD 不实现 RFC8009,所以不使用 AES HMAC SHA-2 加密类型系列。因此,使用 AES HMAC SHA-2 加密的 跨域 TGT 的跨域 TGS-REQ 将失败。防止 MIT Kerberos 客户端使用针对 AD 的 AES HMAC SHA-2 的最佳方法是不为 AD 跨域主体提供 AES HMAC SHA-2 密钥。要做到这一点,请确保使用 AD 支持的密钥加密类型的明确列表创建跨域 TGT 条目:

  kadmin.local <<EOF
  add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[MIT realm]@[AD realm]
  add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[AD realm]@[MIT realm]
  EOF
Copy to Clipboard Toggle word wrap

要确保 MIT Kerboros 客户端使用 AES HMAC SHA-2 加密类型,您还必须在客户端和 KDC 配置中将这些加密类型设为 permitted。在 RHEL 上,此设置由加密策略系统管理。例如,在使用 DEFAULT 加密策略的 RHEL 9 主机上允许 AES HMAC SHA-2AES HMAC SHA-1 加密票据,而使用 FIPS 加密策略的主机只接受 AES HMAC SHA-2 票据。

改进了 SSSD 多线程性能

在以前的版本中,SSSD 从多线程应用程序(如 Red Hat Directory Server 和 Identity Management)序列化并行请求。从 RHEL 9.1 开始,所有 SSSD 客户端库(如 nsspam )不会序列化请求,因此允许来自多个线程的请求并行执行以提高性能。

要启用以前的序列化行为,请将环境变量 SSS_LOCKFREE 设置为 NO

ansible-freeipa 现在还在 ansible-freeipa-collection 子软件包中额外提供了角色和模块来作为 Ansible 集合

要使用新集合:

  1. 安装 ansible-freeipa-collection 子软件包。
  2. freeipa.ansible_freeipa 前缀添加到角色和模块的名称中。使用完全限定名称来遵循 Ansible 建议。例如,要引用 ipahbacrule 模块,请使用 freeipa.ansible_freeipa.ipahbacrule

您可以通过应用 module_defaults 来简化作为 freeipa.ansible_freeipa 集合一部分的模块的使用。

IdM 现在完全支持 HSM

现在,身份管理(IdM)完全支持硬件安全模块(HSM)。您可以在 HSM 上存储 IdM Cerificate Authority (CA)和密钥恢复授权(KRA)的密钥对和证书。这为私钥材料增加了物理安全。

IdM 依赖于 HSM 的网络功能,来在机器之间共享密钥来创建副本。HSM 提供了额外的安全性,而不会明显影响大多数 IPA 操作。当使用低级别工具时,证书和密钥会以不同的方式处理,但对大多数用户来说这是无缝的。

注意

不支持将现有 CA 或 KRA 迁移到基于 HSM 的设置中。您需要在 HSM 上使用密钥重新安装 CA 或 KRA。

您需要以下内容:

  • 一个支持的 HSM
  • HSM Public-Key Cryptography Standard (PKCS) modprobe 库
  • 一个可用的插槽、令牌和令牌密码

要安装存储在 HSM 上的密钥的 CA 或 KRA,您必须指定令牌名称和 PKCS swig 库的路径。例如:

ipa-server-install -r EXAMPLE.TEST -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers --token-name=HSM-TOKEN --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so --setup-kra
Copy to Clipboard Toggle word wrap

named 现在使用 OpenSSL 确保 DNSSEC 验证

在 RHEL 9 中,RHEL Identity Management (IdM)中的 命名 守护进程已采用 OpenSSL PKCSxdg 引擎来保护 DNS 数据,并带有数字签名来保护 DNS 数据,以防止 DNS 免受攻击。在以前的版本中,在 RHEL 8 中,IdM 使用 bind 软件包的一个特殊版本,即 bind-pkcs11。另外,这个更新删除了 bind-pkcs11-utils 软件包。使用 opensc 软件包中的 pkcs11-tool 来管理 PKCSClusterImageSets 令牌或存储的密钥。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat