11.12. 身份管理
将 cert-fix
程序与 --agent-uid pkidbuser
选项一同使用会破坏证书系统
使用带有 --agent-uid pkidbuser
选项的 cert-fix
工具可破坏证书系统的 LDAP 配置。因此,,证系统可能会变得不稳定,需要手动步骤才能恢复该系统。
IdM 主机上的 /var/log/lastlog
稀疏文件可能会导致性能问题
在 IdM 安装过程中,从总计 10,000 个可能范围内会随机选择并分配一个 200,000 UID 范围。当您决定以后合并两个独立的 IdM 域时,以这种方法选择一个随机范围可显著降低冲突 ID 的可能性。
但是,高 UID 可能会导致 /var/log/lastlog
文件出现问题。例如,如果 UID 为 1280000008 的用户登录到 IdM 客户端,则本地 /var/log/lastlog
文件的大小会增加到近 400 GB。虽然实际文件是稀疏的,且没有使用所有空间,但某些应用程序默认不是为识别稀疏文件而设计的,且可能需要一个特定的选项来处理这些文件。例如,如果设置比较复杂,备份和复制应用程序无法正确处理稀疏文件,则该文件会像大小为 400 GB 一样被复制。这个行为可能会导致性能问题。
要临时解决这个问题:
- 如果是标准软件包,请参考其文档来识别处理稀疏文件的选项。
-
如果是自定义应用程序,请确保它能够正确管理稀疏文件,如
/var/log/lastlog
。
(JIRA:RHELPLAN-59111)
FIPS 模式不支持使用共享 secret 建立跨林信任
在 FIPS 模式中使用共享 secret 建立跨林信任会失败,因为 NTLMSSP 身份验证不兼容 FIPS。要临时解决这个问题,在启用了 FIPS 模式的 IdM 域和 AD 域间建立信任时,使用 Active Directory(AD)管理帐户进行身份验证。
FreeRADIUS 服务器无法在 FIPS 模式下运行
默认情况下,在 FIPS 模式下,OpenSSL 禁止使用 MD5 摘要算法。由于 RADIUS 协议需要 MD5 来在 RADIUS 客户端和 RADIUS 服务器之间加密 secret,因此这会导致 FreeRADIUS 服务器在 FIPS 模式下失败。
要临时解决这个问题,请遵循以下步骤:
流程
为
radiusd
服务创建环境变量RADIUS_MD5_FIPS_OVERRIDE
:systemctl edit radiusd [Service] Environment=RADIUS_MD5_FIPS_OVERRIDE=1
要应用这些更改,请重新加载
systemd
配置,并启动radiusd
服务:# systemctl daemon-reload # systemctl start radiusd
要在调试模式下运行 FreeRADIUS:
# RADIUS_MD5_FIPS_OVERRIDE=1 radiusd -X
请注意,虽然 FreeRADIUS 可以在 FIPS 模式下运行,但这并不意味着它符合 FIPS ,因为它在 FIPS 模式下使用弱密码和功能。
有关在 FIPS 模式下配置 FreeRADIUS 身份验证的更多信息,请参阅 在 FIPS 模式下如何配置 FreeRADIUS 身份验证。
IdM 到 AD 跨域 TGS 请求失败
IdM Kerberos 票据中的 Privilege Attribute 证书(PAC) 信息现在使用 AES SHA-2 HMAC 加密进行签名,这是 Active Directory (AD) 不支持的。
因此,IdM 到 AD 跨域 TGS 请求(即双向信任设置)失败,并显示以下错误:
"Generic error (see e-text) while getting credentials for <service principal>"
迁移的 IdM 用户可能会因为不匹的域 SID 而无法登录
如果您使用 ipa migrate-ds
脚本将用户从一个 IdM 部署迁移到另一个,则这些用户可能会在使用 IdM 服务时有问题,因为它们之前存在的安全标识符(SID)没有当前 IdM 环境的域 SID。例如,这些用户可以使用 kinit
工具检索 Kerberos 票据,但不能登录。要临时解决这个问题,请参阅以下知识库文章: Migrated IdM 用户因为不匹配的域 SID 而无法登录。
(JIRA:RHELPLAN-109613)
FIPS 模式下的 IdM 不支持使用 NTLMSSP 协议来建立双向跨林信任
在活动目录(AD)和启用了 FIPS 模式的身份管理(IdM)之间建立双向跨林信任会失败,因为新技术局域网管理器安全支持提供程序 (NTLMSSP)身份验证不符合 FIPS。FIPS 模式下的 IdM 不接受在尝试验证时 AD 域控制器使用的 RC4 NTLM 哈希。
IdM Vault 加密和解密在 FIPS 模式下失败
如果启用了 FIPS 模式,则 OpenSSL RSA-PKCS1v15 填充加密会被阻止。因此,身份管理(IdM) Vault 无法正常工作,因为 IdM 目前正在使用 PKCS1v15 填充来用传输证书包装会话密钥。
将 Samba 作为打印服务器运行,并从 RHEL 8.4 或更早版本更新时所需的操作
有了这个更新,samba
软件包不再创建 /var/spool/samba/
目录。如果您将 Samba 用作打印服务器,并将 [printers]
共享中的 /var/spool/samba/
用于假脱机打印作业,则SELinux 会阻止 Samba 用户在此目录中创建文件。因此,打印作业失败,auditd
服务会在 /var/log/audit/audit.log
中记录一跳 denied
消息。要在更新 8.4 及更早版本的系统后避免此问题:
-
在
/etc/samba/smb.conf
文件中搜索[printers]
共享。 -
如果共享定义包含
path = /var/spool/samba/
,请更新设置,并将path
参数设为/var/tmp/
。 重启
smbd
服务:# systemctl restart smbd
如果在 RHEL 8.5 或更高版本上新安装了 Samba,则不需要任何操作。在本例中,samba-common
软件包提供的默认 /etc/samba/smb.conf
文件已将 /var/tmp/
目录用于假脱机打印作业。
(BZ#2009213)
在 rebase 到版本 1.2.2 后,降级authselect
会破坏系统身份验证
authselect
软件包已 rebase 到最新的上游版本 1.2.2
。不支持降级 authselect
,这会中断所有用户的系统身份验证,包括root
用户。
如果您将authselect
软件包降级到 1.2.1
或更早版本,请执行以下步骤来解决这个问题:
-
在 GRUB 引导屏幕中,选择带有您要引导的内核版本的
Red Hat Enterprise Linux
,然后按e
编辑该条目。 -
在以
linux
开头的行的末尾输入single
作为单独的单词,然后按Ctrl+X
启动引导过程。 - 以单用户模式引导时,输入 root 密码。
使用以下命令恢复 authselect 配置:
# authselect select sssd --force
NSS 中启用的密码的 default
关键字无法与其他密码一起使用
在目录服务器中,您可以使用 default
关键字来指向网络安全服务(NSS)中启用的默认密码。但是,如果您要使用命令行或 Web 控制台来启用默认的密码和附加密码,目录服务器将无法解析 default
关键字。因此,服务器只启用额外指定的密码,并记录类似如下的错误:
Security Initialization - SSL alert: Failed to set SSL cipher preference information: invalid ciphers <default,+cipher_name>: format is +cipher1,-cipher2... (Netscape Portable Runtime error 0 - no error)
作为临时解决方案,指定 NSS 中默认启用的所有密码,包括您要额外启用的密码。
从 RHEL 8.6 到 RHEL 8.7 的 pki-core-debuginfo
更新会失败
将 pki-core-debuginfo
软件包从 RHEL 8.6 更新至 RHEL 8.7 会失败。要临时解决这个问题,请运行以下命令:
-
yum remove pki-core-debuginfo
-
yum update -y
-
yum install pki-core-debuginfo
-
yum install idm-pki-symkey-debuginfo idm-pki-tools-debuginfo
对 ldap_id_use_start_tls
选项使用默认值时的潜在风险
当使用没有 TLS 的 ldap://
进行身份查找时,可能会带来攻击向量的风险。特别是中间人(MITM)攻击,其允许攻击者,例如通过更改 LDAP 搜索中返回的对象的 UID 或 GID 来冒充用户。
目前,强制 TLS 的 SSSD 配置选项 ldap_id_use_start_tls
默认为 false
。确保您的设置操作在可信环境中运行,并决定对 id_provider = ldap
使用未加密的通信是否安全。注意 id_provider = ad
和 id_provider = ipa
不受影响,因为它们使用 SASL 和 GSSAPI 保护的加密连接。
如果使用未加密的通信不安全,请在 /etc/sssd/sssd.conf
文件中将 ldap_id_use_start_tls
选项设置为 true
来强制使用 TLS。计划在以后的 RHEL 版本中更改的默认行为。
(JIRA:RHELPLAN-155168)