Red Hat Training

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

第 51 章 认证和互操作性

通过 SSL 从 CA 导入用户证书的问题

pki user-cert-add 命令提供了一个选项,可直接从 CA 导入用户证书。由于客户端库初始化不正确,当命令通过 SSL 端口执行时,命令会失败,并显示以下错误消息:
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated.
要临时解决这个问题,请使用 pki cert-show 命令将证书从 CA 下载到文件中。然后,使用 pki user-cert-add 命令从文件上传证书。在这个版本中,用户证书会被正确添加。(BZ#1246635)

IdM Web UI 在 Certificates 表中显示一个页面上显示所有证书

证书 表在身份管理(IdM) Web UI 中的 Authentication 选项卡下提供,忽略了 20 个条目的页大小限制。当有 20 个证书可用时,表会在一个页面中显示所有证书,而不是每行仅显示 20 个证书。(BZ#1358836)

使用 ipa-kra-installipa-ca-installipa-replica-install时的安全警告

当使用 ipa-kra-installipa-ca-installipa-replica-install 工具安装额外的密钥恢复授权(KRA)组件、证书颁发机构或副本时,会出现以下警告:
SecurityWarning: Certificate has no `subjectAltName`,
falling back to check for a `commonName` for now.
This feature is being removed by major browsers and deprecated by RFC 2818.
由于 RFC 2818 造成的错误,它会弃用在主题可分辨名称(DN)通用名称(CN)字段中执行主题主机名的过程。但是,三个实用程序成功。因此,您可以忽略警告信息。(BZ#1358457)

pam_pkcs11 只支持一个令牌

opensccoolkey 软件包中的 PKCS这个模块为各种类型的智能卡提供支持。但是 pam_pkcs11 模块一次仅支持其中一个。因此,您不能使用相同的配置使用 PKCS047 和 CAC 令牌。要临时解决这个问题,请安装以下之一:
  • 用于 PKCS the PIV 和 PIV 支持的 opensc 软件包
  • CAC、Coolkey 和 PIV 支持的 coolkey 软件包(BZ1141367919)

当目录服务器没有使用 LDAPS 配置时,在 IdM 副本上使用 ipa-ca-install 会失败

当副本上的 Directory Server 没有通过 LDAPS 配置时,在身份管理(IdM)副本中使用 ipa-ca-install 工具安装证书颁发机构(CA)会失败(通过端口 636 使用 TLS 协议)。尝试失败并显示以下错误:
[2/30]: configuring certificate server instance
ipa.ipaserver.install.cainstance.CAInstance: CRITICAL Failed to configure CA
instance: Command '/usr/sbin/pkispawn -s CA -f /tmp/tmpsDHYbO' returned non-zero exit status 1
...
在这种情况下无法安装副本。作为临时解决方案,请选择以下选项之一:
  • 在 master 服务器上安装 CA。
  • 在运行 ipa-ca-install 之前,手动在副本上启用 LDAPS。
在副本上手动启用 LDAPS:
1.从 /etc/httpd/alias 文件中导出服务器证书:
$ pk12util -d /etc/httpd/alias -k /etc/httpd/alias/pwdfile.txt -o temp.p12 -n 'ca1/replica'
ca1/replica 替换为您的证书的别名。
2.从证书中删除信任链,因为它已导入:
a.提取私钥:
$ openssl pkcs12 -in temp.p12 -nocerts -nodes -out temp.key
b.提取公钥:
$ openssl pkcs12 -in temp.p12 -nokeys -clcerts -out temp.pem
c.创建没有 CA 证书的 PKCS the 文件:
$ openssl pkcs12 -export -in temp.pem -inkey temp.key -out repl.p12 -name 'ca1/replica'
ca1/replica 替换为您的证书的别名。
3.将创建的证书导入到目录服务器的 NSSDB 数据库中:
$ pk12util -d /etc/dirsrv/slapd-EXAMPLE-COM -K '' -i repl.p12
4.删除临时证书文件:
$ rm -f temp.p12 temp.key temp.pem repl.p12
5.创建一个包含以下内容的文件 /tmp/enable_ssl.ldif
dn: cn=encryption,cn=config
changetype: modify
replace: nsSSL3
nsSSL3: off
-
replace: nsSSLClientAuth
nsSSLClientAuth: allowed
-
replace: nsSSL3Ciphers
nsSSL3Ciphers: default

dn: cn=config
changetype: modify
replace: nsslapd-security
nsslapd-security: on
6.修改 LDAP 配置以启用 SSL:
$ ldapmodify -H "ldap://localhost" -D "cn=directory manager" -f /tmp/enable_ssl.ldif -w dm_password
dm_password 替换为您的 Directory Manager 密码。
7.创建一个包含以下内容的文件 /tmp/add_rsa.ldif
dn: cn=RSA,cn=encryption,cn=config
changetype: add
objectclass: top
objectclass: nsEncryptionModule
cn: RSA
nsSSLPersonalitySSL: ca1/replica
nsSSLToken: internal (software)
nsSSLActivation: on
ca1/replica 替换为您的证书的别名。
8.在 LDAP 中添加条目:
$ ldapadd -H "ldap://localhost" -D "cn=directory manager" -f /tmp/add_rsa.ldif -w dm_password
dm_password 替换为您的 Directory Manager 密码。
9.删除临时文件:
$ rm -f /tmp/enable_ssl.ldif /tmp/add_rsa.ldif
10.重启目录服务器:
# systemctl restart dirsrv@EXAMPLE-COM.service
这些步骤后,启用了 LDAPS,您可以成功在副本上运行 ipa-ca-install。(BZ#1365858)

在将外部 CA 安装到 IdM 后,会重置第三方证书信任标志

ipa-ca-install --external-ca 命令用于将外部证书颁发机构(CA)安装到现有的身份管理(IdM)域中,生成用户必须提交到外部 CA 的证书签名请求(CSR)。
当使用之前安装的第三方证书为 CSR 签名时,会重置 NSS 数据库中的第三方证书信任标志。因此,证书不再标记为可信。此外,mod_nss 模块执行的检查失败,httpd 服务无法启动。在这种情况下,CA 安装会失败,并显示以下信息:
CA failed to start after 300 seconds
作为临时解决方案,在出现此消息后,将第三方证书标记重置为之前的状态,并重新启动 httpd。例如,如果 ca1 证书之前具有 C, 则信任标记:
# certutil -d /etc/httpd/alias -n 'ca1' -M -t C,,
# systemctl restart httpd.service
这会将系统恢复到正确的状态。(BZ#1318616)

realmd 无法从 AD 中删除计算机帐户

Red Hat Enterprise Linux 使用 Samba 作为活动目录(AD)域成员资格的默认后端。在这种情况下,如果您在 realm join 命令中使用 --computer-name 选项手动设置计算机名称,则保留域时无法从 AD 中删除该帐户。要临时解决这个问题,请不要使用 --computer-name 选项,而是将计算机名称添加到 /etc/realmd.conf 文件中。例如:
[domain.example.com]
computer-name = host_name
作为临时解决方案,主机可以成功加入到域,如果使用 realm leave --remove 命令离开域,则帐户会被自动删除。(BZ#1370457)

SSSD 无法从 LDAP 树管理 autofs 映射

在以前的版本中,在使用 RFC2307 LDAP 模式时,系统安全服务守护进程(SSSD)为 autofs 映射实施不正确的默认值。应用了补丁,它修复了与 schema 匹配的默认值。但是,连接到包含之前使用的模式 SSSD 的映射的 LDAP 服务器无法加载 autofs 属性。受影响的用户会在 /var/log/messages 日志文件中看到以下错误:
Your configuration uses the autofs provider with schema set to rfc2307 and default attribute mappings. The default map has changed in this release, please make sure the configuration matches the server attributes.
要临时解决这个问题,修改 /etc/sssd/sssd.conf 文件,并将您的域设置为使用现有属性映射:
[domain/EXAMPLE]
...
ldap_autofs_map_object_class   = automountMap
ldap_autofs_map_name           = ou
ldap_autofs_entry_object_class = automount
ldap_autofs_entry_key          = cn
ldap_autofs_entry_value        = automountInformation
因此,SSSD 可以从属性加载 autofs 映射。(BZ#1372814)

pkispawn 的依赖项列表不包括 openssl

如果没有安装 openssl 软件包,使用 pkispawn 工具会失败,并显示以下错误:
Installation failed: [Errno 2] No such file or directory
这是因为 openssl 软件包没有作为 pki-server 软件包中包含的 pki-core 软件包的运行时依赖项包括。作为临时解决方案,在运行 pkispawn 前安装 openssl。(BZ#1376488)

枚举大量用户会导致 CPU 负载过高,并减慢其他操作的速度

当在 etc/sssd/sssd.conf 文件中设置 enumerate=true,且 LDAP 服务器中存在大量用户(如 30,000 个用户)时,会出现一些性能问题:
  • sssd_be 进程几乎消耗了 CPU 资源
  • 某些操作(如以本地用户登录或注销)需要很长时间才能完成
  • sysdbtimestamp 缓存上运行 ldbsearch 操作会失败,并报告索引和完全搜索失败
请注意,这不是一个新的已知问题,因为这些问题也会在之前的 SSSD 版本中发生。(BZ#888739, BZ#1379774)

GDM 无法使用智能卡进行身份验证

使用智能卡验证时,系统安全服务守护进程(SSSD) PAM 响应器不会验证登录名称是否为 Kerberos 用户主体名称(UPN)。因此,当使用用户主体名称(UPN)作为登录名称时,gdm-password 可插拔验证模块(PAM)会显示密码提示而不是智能卡 PIN 提示符。因此,对 GNOME 显示管理器(GDM)的智能卡验证会失败。(BZ#1389796)

当使用大写或混合问题单用户名时,ipa passwd 命令会失败

身份管理(IdM) 4.0 在所有命令中引入了对用户主体的统一处理。但是,一些命令没有完全转换。因此,当您在用户名中使用大写字母或混合大写字母时,ipa passwd 命令会失败。要临时解决这个问题,请在使用 ipa passwd 命令时仅在用户名中使用小写字母。(BZ#1375133)

IdM Web UI 无法正确识别撤销的证书的状态

身份管理(IdM) Web UI 目前无法确定是否撤销了证书。因此:
  • 从用户、服务或主机详情页面查看证书时,不会显示 撤销 的符号。
  • Revoke 操作仍可从详情页面中获得。尝试撤销已经撤销的证书会导致错误对话框。
  • 即使因为证书冻结而撤销了证书,也始终禁用 Remove Hold 按钮(吊销原因 6)。(BZ#1371479)

对于小写,SSSD 只在 AD 的 sudoUser 属性中应用值

在以前的版本中,当系统安全服务守护进程(SSSD)从 Active Directory (AD)获取 sudo 规则时,sudoUser 属性必须与分配给规则的用户的 samAccountName 属性完全匹配。由于 Red Hat Enterprise Linux 7.3 中的回归,sudoUser 属性现在只匹配小写值。要临时解决这个问题,将 sudoUser 属性值重命名为小写。在这个版本中,sudo 规则会被正确应用。(BZ#1380436)

更新 ipa-clientipa-admintools 软件包可能会失败

在从 Red Hat Enterprise Linux 7.2 升级到 Red Hat Enterprise Linux 7.3 的过程中,在某些情况下,ipa-clientipa-admintools 软件包的更新可能会失败。要临时解决这个问题,请在升级到 Red Hat Enterprise Linux 7.3 之前卸载 ipa-clientipa-admintools,然后安装这些软件包的新版本。(BZ#1390565)

升级 SSSD 有时会导致 sssd 进程被终止

sssd 进程意外执行一个操作时,内部 watchdog 进程会终止它。但是 sssd 进程不会再次启动。如果 SSSD 数据库包含大量条目,则通常会在较慢的系统中升级 SSSD 时出现此问题。
要临时解决这个问题:
1.确保中央身份验证服务器可用。这样可确保用户在在下一步中删除 SSSD 缓存后用户可以进行身份验证。
2.在升级前,使用 sss_cache 工具删除 SSSD 缓存。
下一个更新将提供对此已知问题的修复。(BZ#1392441)

因为 bind-dyndb-ldap 模式错误,目录服务器会失败

Identity Management 中包含的 bind-dyndb-ldap LDAP 模式的版本包含语法错误,并缺少一个属性的描述。如果用户使用此版本的 schema,Directory 服务器组件将无法启动。因此,日志中会记录错误消息,告知用户有关不正确的语法。
要临时解决这个问题:
  1. 从上游 git.fedorahosted.org 存储库获取更正的 schema 文件:
    # wget https://git.fedorahosted.org/cgit/bind-dyndb-ldap.git/plain/doc/schema.ldif?id=17711141882aca3847a5daba2292bcbcc471ec63 -O /usr/share/doc/bind-dyndb-ldap-10.0/schema.ldif
  2. 将更正的模式文件复制到目录服务器的实例配置文件夹中。
    # cp /usr/share/doc/bind-dyndb-ldap-10.0/schema.ldif /etc/dirsrv/slapd-[EXAMPLE-COM]/schema/[SCHEMA_FILE_NAME].ldif
  3. 重启目录服务器:
    # systemctl restart dirsrv.target
(BZ#1413805)