4.14. 身份管理
samba
rebase 到版本 4.18.6
samba
软件包已升级到上游版本 4.18.6,与之前的版本相比,它提供了 bug 修复和增强。最显著的更改:
- 之前版本中的安全性改进影响了高元数据工作负载的服务器消息块(SMB)服务器的性能。此更新在这种情况下提高了性能。
-
新的
wbinfo --change-secret-at=<domain_controller>
命令强制执行指定域控制器上信任帐户密码的更改。 -
默认情况下,Samba 将访问控制列表(ACL)存储在文件的
security.NTACL
扩展属性中。现在,您可以使用/etc/samba/smb.conf
文件中的acl_xattr:<security_acl_name>
设置自定义属性名称。请注意,自定义扩展属性名称不是一个作为security.NTACL
的受保护的位置。因此,具有本地访问服务器权限的用户可以修改自定义属性的内容并破坏 ACL。
请注意,从 Samba 4.11 开始,服务器消息块块版本 1 (SMB1)协议已被弃用,并将在以后的发行版本中删除。
在启动 Samba 前备份数据库文件。当 smbd
、nmbd
或 winbind
服务启动时,Samba 会自动更新其 tdb
数据库文件。红帽不支持降级 tdb
数据库文件。
更新 Samba 后,使用 testparm
工具来验证 /etc/samba/smb.conf
文件。
ipaclient
角色现在允许在 IdM 级别上配置用户 subID 范围
有了此更新,ipaclient
ansible-freeipa
角色提供 ipaclient_subid
选项,您可以使用此选项在身份管理(IdM)级别上配置 subID 范围。没有明确设置为 true
的新选项,ipaclient
角色会保持默认行为,并在没有为 IdM 用户配置 subID 范围的情况下安装客户端。
在以前的版本中,角色配置了 sssd
authselect
配置文件,它会自定义 /etc/nsswitch.conf
文件。subID 数据库没有使用 IdM,只依赖于 /etc/subuid
和 /etc/subgid
的本地文件。
现在,可以在单个 Ansible 任务中管理多个 IdM 组和服务
通过 ansible-freeipa
中的这一增强,您可以使用单个 Ansible 任务添加、修改和删除多个身份管理(IdM)用户组和服务。为此,请使用 ipagroup
和 ipaservice
模块的 groups
和 services
选项。
使用 ipagroup
中的 groups
选项,您可以指定仅应用到特定组的多个组变量。这个组由 name
变量定义,这是 groups
选项的唯一强制变量。
同样,使用 ipaservice
中的 services
选项,您可以指定仅适用于特定服务的多个服务变量。此服务由 name
变量定义,这是 services
选项的唯一强制变量。
Jira:RHELDOCS-16474[1]
ansible-freeipa
ipaserver
角色现在支持随机序列号
有了此更新,您可以将 ipaserver_random_serial_numbers=true
选项与 ansible-freeipa
ipaserver
角色一起使用。这样,当使用 Ansible 安装身份管理(IdM)服务器时,您可以为 PKI 中的证书和请求生成完全随机的序列号。使用 RSNv3,您可以避免大型 IdM 安装中的范围管理,并防止重新安装 IdM 时常见的冲突。
RSNv3 仅支持新的 IdM 安装。如果启用,则需要在所有 PKI 服务上使用 RSNv3。
Jira:RHELDOCS-16462[1]
ipa
rebase 到版本 4.10.2
ipa
软件包已升级到版本 4.10.2 。主要变更包括:
- 在 IdM CLI 和 Web UI 中搜索和列出证书现在提供更好的性能。
如需更多信息,请参阅 上游 FreeIPA 发行注记。
ipaserver_remove_on_server
和 ipaserver_ignore_topology_disconnect
选项现在在 ipaserver
角色中提供
如果使用 ipaserver
ansible-freeipa
角色的 remove_server_from_domain
选项从身份管理(IdM)拓扑中删除一个副本导致一个断开的拓扑,则必须指定您要保留域的哪一部分。具体来说,您必须执行以下操作:
-
指定
ipaserver_remove_on_server
值,以识别您要保留拓扑的哪一部分。 -
将
ipaserver_ignore_topology_disconnect
设置为 True。
请注意,如果使用 remove_server_from_domain
选项从 IdM 中删除一个副本会保留一个连接的拓扑,则不需要这些选项的任何一个。
IdM 现在支持 min_lifetime
参数
有了此增强,min_lifetime
参数已添加到 /etc/gssproxy114.conf
文件中。如果剩余生命周期低于这个值,则 min_lifetime
参数会触发续订服务票据。
默认情况下,其值为 15 秒。对于 NFS 等网络卷客户端,若要降低 KDC 暂时不可用时丢失访问权限的风险,请将此值设为 60 秒。
您现在可以使用 ipacert
Ansible 模块管理 IdM 证书
您现在可以使用 ansible-freeipa
ipacert
模块为身份管理(IdM)用户、主机和服务请求或检索 SSL 证书。然后,用户、主机和服务可以使用这些证书向 IdM 进行身份验证。您还可以撤销证书,并恢复已搁置的证书。
optional_pac_tkt_chksum
选项帮助保留不同 krb5
版本间的互操作性
现在,您可以使用 optional_pac_tkt_chksum
选项来保留运行 krb5
软件包不同版本的 RHEL Kerberos 分发中心(KDC)服务器之间的互操作性。特别是,您可以更改其有关 Privilege Attribute Certificate(PAC)票据名验证的行为。如果将期望签名票据的 Kerberos 主体的 optional_pac_tkt_chksum
字符串属性设为 true
,则 KDC 不会拒绝包含缺少 PAC 票据签名的票据的用户(S4U)请求的服务。签名票据的主体是票据授予服务(TGS)主体或跨领域 TGS 主体,具体取决于票据目标服务的领域。
由于 krb5-1.20
发行版,MIT Kerberos KDC 已要求在基于 Kerberos 票据的加密部分的 PACs 中存在票据签名,以便可以成功处理 S4U 请求。在以前的版本中,这在逐步升级场景中是一个问题,其中某些 KDC 使用 krb5-1.19
或更早版本,而其他 KDC 使用 krb5-1.20
或更新版本。对 S4U 请求使用较新版本 krb5
的 KDC 拒绝使用旧版本 krb5
的 KDC 提供的服务票据,如果服务为 S4U 请求使用了它们。
有关此功能如何在身份管理(IdM)中使用的更多信息,请参阅 此拉取请求。
IdM 现在支持基于资源的受限委托
有了此更新,IdM 支持基于资源的受限委托(RBCD)。RBCD 允许资源级别上委派的精细控制,并且可由凭据委派给的服务的所有者来设置访问权限。
例如在 IdM 和活动目录(AD)之间的集成中 RBCD 可能很有用,因为在目标和代理服务都属于不同的林时 AD 强制使用 RBCD。
目前,只有 IdM 域中的服务才能使用 RBCD 规则进行配置。如果目标服务是 AD 域的一部分,则只能在 AD 端授予权限。因为 AD 域控制器无法解析创建规则的 IdM 服务信息,因此目前还不支持此功能。
有关委派场景的更多信息,请参阅 FreeIPA 设计页。
RHEL 9.3 提供 389-ds-base
2.3.4
RHEL 9.3 与 389-ds-base
软件包版本 2.3.4 一起分发。与 2.3.4 版本相比,重要的 bug 修复和增强包括:
- https://www.port389.org/docs/389ds/releases/release-2-2-8.html
- https://www.port389.org/docs/389ds/releases/release-2-2-9.html
- https://www.port389.org/docs/389ds/releases/release-2-3-0.html
- https://www.port389.org/docs/389ds/releases/release-2-3-1.html
- https://www.port389.org/docs/389ds/releases/release-2-3-2.html
- https://www.port389.org/docs/389ds/releases/release-2-3-3.html
- https://www.port389.org/docs/389ds/releases/release-2-3-4.html
现在,如果 bind
操作失败,目录服务器现在可以关闭客户端连接
在以前的版本中,当 bind
操作失败时,一些忽略 bind
返回码的应用程序可能会通过进一步请求加载目录服务器。
使用 cn=config
条目下的新的 nsslapd-close-on-failed-bind
配置属性,服务器可在 bind
操作失败时关闭客户端连接。因此,可以减少服务器负载。
Automembership 插件改进。默认情况下,它不再清理组
在以前的版本中,automember 重建任务会遍历所有 automember 规则,并删除所有成员资格,然后任务从头开始重新构建成员资格。因此,重建任务的成本很高,特别是在启用了其他 be_txn
插件时。
有了此更新,Automembership 插件有以下改进:
- 一次只允许一个重建任务。
Automembership 插件现在默认不会清理以前的成员。使用新的 CLI 选项
--cleanup
,来在从头开始重新构建前有意清理成员资格:# dsconf slapd-instance_name plugins automember fixup -f objectclass=posixaccount -s sub --cleanup "ou=people,dc=example,dc=com"
- 改进了日志记录以显示修复进度。
新的 passwordAdminSkipInfoUpdate: on/off
配置选项现在可用
您可以在 cn=config
条目下添加一个新的 passwordAdminSkipInfoUpdate: on/off
设置,以对密码管理员执行的密码更新提供精细控制。当您启用此设置时,密码更新不会更新某些属性,例如 passwordHistory
,passwordExpirationTime
,passwordRetryCount
,pwdReset
和 passwordExpWarned
。
新的 slapi_memberof()
插件函数现在可用于目录服务器插件和客户端应用程序
新的 slapi_memberof()
函数检索给定条目直接或间接所属组的可分辨名称(DN)。在以前的版本中,MemberOf、referential Integrity 和 ACL 插件实现了自己的机制来检索此类组。有了此更新,您可以使用引入了一个统一机制的 slapi_memberof()
函数来返回组 DN。
目录服务器现在使用受管的和过滤的角色的索引属性来替换虚拟属性 nsRole
在以前的版本中,LDAP 搜索过滤器中包含的虚拟属性 nsRole
非常耗时,因为该属性无法被索引。有了此更新,当您在过滤器中使用虚拟属性 nsRole
执行 ldapsearch
时,目录服务器使用以下方法替换 nsRole
属性:
-
对于受管角色,
nsRole
属性被nsRoleDN
属性替代。 -
对于过滤的角色,
nsRole
属性被nsRoleFilter
属性替代。
因此,使用 nsRole
属性搜索的响应时间会改进,因为搜索变为索引的。
请注意,此次更新不适用于嵌套角色。
新的 nsslapd-numlisteners
配置选项现在可用
nsslapd-numlisteners
属性指定目录服务器用来监控已建立连接的监听程序线程的数量。您可以通过增加属性值来提高服务器遇到大量客户端连接时的响应时间。
IdM 支持选项来控制用于为 PAC 签名的加密类型
默认情况下,Kerberos 密钥分发中心(KDC)为 Privilege Attribute 证书(PAC)生成 AES HMAC-SHA2 签名。但是,活动目录(AD)不支持此加密类型。因此,AD 跨领域约束的委托请求无法被正确处理。
有了这个增强,您现在可以通过在 TGS 主体,krbtgt/[realm]@[realm]
上设置 pac_privsvr_entype
属性,来将用于为 PAC 签名的加密类型控制为目标域所需的加密类型。在 IdM 中,当 AD 信任存在时,会自动配置此字符串属性。
WARNING: This update is about standalone MIT realms. Do not change the Kerberos Distribution Center (KDC) configuration in RHEL Identity Management.
例如,对于 MIT
领域和 AD
领域,以确保跨域票据授予票据(TGT)使用 AD 兼容的加密类型,管理员必须配置跨领域 TGS 主体,如在 MIT 端如下所示。这会使使用 AES 256 HMAC-SHA1 加密类型和受限委托请求的跨领域 TGT 被正确处理。
kadmin.local <<EOF setstr krbtgt/AD@IPA pac_privsvr_enctype aes256-cts-hmac-sha1-96 setstr krbtgt/IPA@AD pac_privsvr_enctype aes256-cts-hmac-sha1-96 EOF
现在完全支持身份管理 API
在 RHEL 9.2 中,身份管理(IdM) API 作为技术预览提供,它从 RHEL 9.3 开始被完全支持。
用户可以使用现有工具和脚本来启用多个 API 命令版本,即使 IdM API 已被改进。这些改进不会以不兼容的方式更改命令的行为。这有以下优点:
- 管理员可以在服务器上而不是在管理客户端上使用之前或更高版本的 IdM。
- 开发人员可以使用 IdM 调用的特定版本,即使 IdM 版本在服务器上发生了变化。
无论使用哪一端,都可以与服务器进行通信,例如,未来引入新选项的较新版本。
- 注意
- 虽然 IdM API 提供了 JSON-RPC 接口,但不支持这种类型的访问。红帽建议使用 Python 访问 API。使用 Python 自动化重要的部分,如从服务器检索的元数据,其允许列出所有可用的命令。