6.12. 身份管理
ipa-healthcheck 现在会发出与过期证书相关的警告
在这个版本中,ipa-healthcheck 工具评估用户提供的 HTTP、DS 和 PKINIT 证书以进行过期,并在过期日期前提供 28 天警告。这是为了防止证书过期,这可能会导致停机。
Jira:RHELDOCS-20303[1]
ansible-freeipa rebase 到 1.15.1
freeipa.ansible_freeipa RPM 集合(提供管理 Red Hat Identity Management (IdM)环境的模块和角色)已从 1.13.2 升级到 1.15.1。更新包括以下功能增强:
-
RPM 集合现在与 Red Hat Ansible Automation Hub (RH AAH)提供的
redhat.rhel_idm集合的命名空间和名称兼容。如果您已安装 RPM 集合,您现在可以运行引用 AAH 角色和模块的 playbook。请注意,内部会使用 RPM 集合中的命名空间和名称。
Jira:RHELDOCS-20257[1]
如果启用了 krbLastSuccessfulAuth,则 Healthcheck 会警告
如果同时验证大量用户,在 ipaConfigString 属性中启用 krbLastSuccessfulAuth 设置可能会导致性能问题。因此,它会被默认禁用。在这个版本中,如果启用了 krbLastSuccessfulAuth,Healthcheck 会显示一条消息,警告可能的性能问题。
Jira:RHEL-84771[1]
IdM 现在支持最多 Linux 最大 UID 限制的 UID 用于旧的系统兼容性
在这个版本中,您可以使用用户和组 ID 最多 4294、967、293 或 2^32-1。这会使 IdM 的最大值与 Linux UID 限制一致,在标准 IdM 范围最多为 2,147,483,647 的个别情况下非常有用。具体来说,它启用了 IdM 部署以及需要完整 32 位 POSIX ID 空间的传统系统。
在标准部署中,IdM 为 subIDS 保留 2,147,483,648 - 4,294,836,223 范围。使用 2^31 到 2^32-1 UID 范围需要禁用 subID 功能,因此与现代 Linux 功能冲突。
启用 UID 最多 2^32-1:
禁用从属 ID 功能:
ipa config-mod --addattr ipaconfigstring=SubID:Disable
$ ipa config-mod --addattr ipaconfigstring=SubID:DisableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除任何现有从属 ID 范围:
ipa idrange-del <id_range>
$ ipa idrange-del <id_range>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 IdM 服务器上,确保正确删除内部 DNA 插件配置:
ipa-server-upgrade
# ipa-server-upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 添加一个覆盖 2^31 的新本地 ID 范围,到 2^32-1 空间。确保为此新范围定义了 RID 基础,以便 IdM 可以为用户和组正确生成 SID。
只有尚未分配子 ID 时,才能禁用从属 ID 功能。
Jira:RHEL-67686[1]
samba rebase 到版本 4.22.4
samba 软件包已更新至版本 4.22.4。此版本提供了 bug 修复和增强,最重要的是:
- Samba 支持服务器消息块版本 3 (SMB3)目录租期。在这个版本中,客户端可以缓存目录列表,这可减少网络流量并提高性能。
-
Samba 支持使用基于 TCP 的 LDAP 或 LDAPS 查询域控制器(DC)信息,作为端口 389 上的传统 UDP 方法的替代选择。此功能增强提高了与防火墙限制的环境的兼容性。您可以使用
客户端 netlogon ping protocol参数(默认值:CLADP)配置协议。 以下配置参数已被删除:
-
nmbd_proxy_logon: 此设置用于将 NetLogon 身份验证请求转发到 Windows NT4 主域控制器(PDC),然后 Samba 通过 TCP/IP (NBT)服务器引入了自己的 NetBIOS。 -
CLDAP
端口:无轻量级目录访问协议(CLDAP)始终使用 UDP 端口 389。另外,Samba 代码没有一致地使用这个参数,因此行为不一致。 -
fruit:posix_rename: 这个选项的vfs_fruit模块已被删除,因为它可能会导致 Windows 客户端出现问题。为了防止在网络挂载上创建.DS_Store文件,请在 MacOS 上使用默认值 write com.apple.desktopservices DSDontWriteNetworkStores true命令。
-
请注意,从 Samba 4.11 开始,服务器消息块块版本 1 (SMB1)协议已被弃用,并将在以后的发行版本中删除。
在启动 Samba 前,备份数据库文件。当 smbd、nmbd 或 winbind 服务启动时,Samba 会自动更新其 tdb 数据库文件。红帽不支持降级 tdb 数据库文件。
更新 Samba 后,使用 testparm 工具来验证 /etc/samba/smb.conf 文件。
Identity Management Upgrade Helper
Identity Management Upgrade Helper 是一个新应用程序,简化了将 IdM 环境升级到较新的 RHEL 版本。它提供了一个升级计划,其中包含特定于您的升级路径的逐步说明。因此,您可以使用应用程序准备部署,设置新副本,并使用明确的说明弃用旧服务器。
要使用此应用程序,请参阅红帽客户门户网站上的 Identity Management Upgrade Helper。
Jira:RHELDOCS-21103[1]
现在,您可以使用 dsconf 或 Web 控制台从属性唯一验证中排除子树
在这个版本中,您可以直接通过 dsconf 实用程序和 web 控制台为 Attribute Uniqueness 插件配置 uniqueness-exclude-subtrees 参数。在此次更新之前,只有使用 ldapmodify 程序设置 uniqueness-exclude-subtrees。
对 dsconf plugin attr-uniq set 命令使用-- exclude-subtree 选项设置可分辨名称(DN),该插件会跳过属性值的唯一验证。或者,进入 web 控制台中的 Plugins 菜单,添加或编辑 Attribute Uniqueness 插件配置并设置 Excluded Subtrees 字段。
389-ds-base rebase 到版本 3.1.3
389-ds-base 软件包已更新至版本 3.1.3。此版本提供各种程序错误修复和增强,最重要的是:
- 支持会话跟踪控制互联网草案
-
PBKDF2Producer 插件的
nsslapd-pwdPBKDF2NumIterations配置属性 - 错误日志的日志缓冲
-
支持
CRYPT-YESCRYPT作为密码存储方案 - 访问和错误日志的 JSON 格式
各种
dsidm程序错误修复:-
dsidm不再失败并显示参数必须是字符串或数字错误。 -
dsidm get_dn不再为机构单元、服务和 POSIX 组失败。 -
dsidm uniquegroup 成员可以正确地显示唯一的组成员。 -
dsidm 角色 rename-by-dn可以正确地重命名角色。 -
dsidm -j account get-by-dn和dsidm -j role get-by-dn以 JSON 格式返回输出。 -
dsidm 角色 subtree-status可以正确地显示子树状态。 -
dsidm role create-nested和dsidm role create-filteredcreate nested and filtered 角色。 -
dsidm role delete正确删除角色。 -
dsidm 用户重命名了用户。 -
dsidm account unlock重新启用正确达到不活跃限制的用户帐户。
-
属性唯一插件中的自定义匹配规则用于搜索唯一属性
在这个版本中,在属性唯一配置中,您可以为您要强制唯一性的属性指定匹配的规则。例如,当您想从 大小写准确 或问题单中覆盖属性的语法时,会忽略。
在插件配置中指定属性及其匹配规则,如下所示:
uniqueness-attribute-name: <attribute>:<Matching rule OID>:
uniqueness-attribute-name: <attribute>:<Matching rule OID>:
在此次更新之前,如果您使用带有 大小写准确 语法的属性 cn,则 Attribute Uniqueness 插件无法找到匹配的值,如果两者之间的两个值不同,则属性 Uniqueness 插件无法找到匹配的值。现在,您可以设置匹配的规则,并使其成为 case ignore,插件会看到值匹配:
uniqueness-attribute-name: cn:caseIgnoreMatch:
uniqueness-attribute-name: cn:caseIgnoreMatch:
Jira:RHEL-109018[1]
JSON 格式可用于 389-ds-base中的访问和错误日志
在这个版本中,您可以使用以下命令为访问和错误日志文件配置 JSON 格式:
dsconf <instance_name> logging access set log-format json dsconf <instance_name> logging error set log-format json
# dsconf <instance_name> logging access set log-format json
# dsconf <instance_name> logging error set log-format json
这些命令将 nsslapd-accesslog-log-format 或 nsslapd-errorlog-json-format 配置属性设置为 json。因此,标准解析工具可使用访问和错误日志记录。
请注意,当您更改 format 设置时,Directory 服务器会轮转当前的日志文件。
新的 list --full-dn 选项可用于 dsidm 工具
在这个版本中,您可以使用 list --full-dn 选项来获取同一类型条目的完整可分辨名称(DN)列表。例如,要查看角色 DN,请使用以下命令:
dsidm <instance_name> -b dc=example,dc=com role list --full-dn
# dsidm <instance_name> -b dc=example,dc=com role list --full-dn
在此次更新之前,您无法使用 dsidm 工具决定这些条目的 DN,因为现有 list 选项只显示相对可分辨名称(RDN)值。
389-ds-base 日志文件现在包含用于绑定或修改操作的会话标识符
有了这个增强,复制插件可用于会话跟踪功能,在 389-ds-base 中更正客户端操作与服务器操作。
在客户端,当启用复制 debug 级别时,客户端错误日志包含如下信息:
[time_stamp] - DEBUG - NSMMReplicationPlugin - repl5_inc_run - "EWBpte8J8Wx 2" - agmt="cn=004" (localhost:39004): State: wait_for_changes -> ready_to_acquire_replica
[time_stamp] - DEBUG - NSMMReplicationPlugin - repl5_inc_run - "EWBpte8J8Wx 2" - agmt="cn=004" (localhost:39004): State: wait_for_changes -> ready_to_acquire_replica
在服务器端,如果没有 debug 日志级别,访问日志会包含如下信息:
[time_stamp] conn=2 op=7 SRCH base="dc=example,dc=com" scope=2 filter="(objectClass=\*)" attrs="distinguishedName" [time_stamp]] conn=2 op=7 RESULT err=0 tag=101 nentries=1 wtime=0.000189515 optime=0.000171470 etime=0.000358345 notes=U,P details="Partially Unindexed Filter,Paged Search" pr_idx=0 pr_cookie=-1 sid="EWBpte8J8Wx 2"
[time_stamp] conn=2 op=7 SRCH base="dc=example,dc=com" scope=2 filter="(objectClass=\*)" attrs="distinguishedName"
[time_stamp]] conn=2 op=7 RESULT err=0 tag=101 nentries=1 wtime=0.000189515 optime=0.000171470 etime=0.000358345 notes=U,P details="Partially Unindexed Filter,Paged Search" pr_idx=0 pr_cookie=-1 sid="EWBpte8J8Wx 2"
因此,您可以更有效地跟踪连接或操作的来源。这提高了连接或操作部署中的整体效率和故障排除功能。
Jira:RHEL-31959[1]
ACME 服务器添加了对 ES256 签名算法的支持
在以前的版本中,自动证书管理环境(ACME)服务器不支持 JSON Web 密钥(JWK)验证的 ES256 签名算法。缺少支持会阻止某些客户端(如 Caddy web 服务器)成功获取证书。
在这个版本中,ACAC 服务器已被改进,以支持 JWK 验证的 ES256 签名算法。
因此,服务器可以与使用 ES256 的客户端(如 Caddy Web 服务器)交互,使它们能够成功获取证书并建立安全 HTTPS 通信。
Jira:RHEL-98721[1]
HSM 现在在 IdM 中被完全支持
硬件安全模块(HSM)现在在身份管理(IdM)中被完全支持。您可以在 HSM 上为 IdM 证书颁发机构(CA)和密钥恢复授权(KRA)存储密钥对和证书。这为私钥材料增加了物理安全。
IdM 依赖于 HSM 的网络功能,来在机器之间共享密钥来创建副本。HSM 提供了额外的安全性,而不会明显影响大多数 IdM 操作。当使用低级别工具时,证书和密钥会以不同的方式处理,但对大多数用户来说这是无缝的。
不支持将现有 CA 或 KRA 迁移到基于 HSM 的设置中。您需要在 HSM 上使用密钥重新安装 CA 或 KRA。
您需要以下内容:
- 一个支持的 HSM。
- HSM Public-Key Cryptography Standard (PKCS) #11 库。
- 一个可用的插槽、令牌和令牌密码。
要使用存储在 HSM 上的密钥安装 CA 或 KRA,您必须指定令牌名称和 PKCS #11 库的路径。例如:
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
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
Jira:RHELDOCS-17465[1]