第 10 章 使用 IdM Healthcheck 验证证书

了解更多有关理解和使用身份管理(IdM)中 Healthcheck 工具,以识别 certmonger 维护的 IPA 证书的问题。

详情请参阅 IdM 中的状况检查

先决条件

  • Healthcheck 工具仅适用于 RHEL 8.1 及更新版本。

10.1. IdM 证书 Healthcheck 测试

Healthcheck 工具包括几个测试,用于验证 Identity Management(IdM)中由 certmonger 维护的证书状态。有关 certmonger 的详情,请参阅使用 certmonger 为服务获取 IdM 证书

这个测试套件会检查过期、验证、信任和其他问题。可能会为相同的底层问题抛出多个错误。

要查看所有证书测试,请使用 --list-sources 选项运行 ipa-healthcheck:

# ipa-healthcheck --list-sources

您可以在 ipahealthcheck.ipa.certs 源中找到所有测试:

IPACertmongerExpirationCheck

此测试会检查 certmonger 中的过期时间。

如果报告错误,代表证书已过期。

如果显示警告,代表证书将很快过期。默认情况下,这个测试会在证书过期前的 28 天或更短的天数内应用。

您可以在 /etc/ipahealthcheck/ipahealthcheck.conf 文件中配置天数。打开文件后,更改 default 部分中的 cert_expiration_days 选项。

注意

certmonger 加载并维护其证书过期视图。此检查不会验证磁盘上的证书。

IPACertfileExpirationCheck

此测试会检查是否无法打开证书文件或 NSS 数据库。此测试还会检查过期时间。因此,仔细阅读错误或警告输出中的 msg 属性。消息指定了问题。

注意

此测试会检查磁盘上的证书。如果缺少证书且不可读取,也会引发单独的错误。

IPACertNSSTrust
此测试会比较 NSS 数据库中存储的证书的信任。对于 NSS 数据库中的预期跟踪证书,信任与预期值进行比较,导致在非匹配时引发错误。
IPANSSChainValidation
此测试会验证 NSS 证书的证书链。测试执行: certutil -V -u V -e -d [dbdir] -n [nickname]
IPAOpenSSLChainValidation

此测试会验证 OpenSSL 证书的证书链。为了可以与这里的 NSSChain 验证比较,执行 OpenSSL 命令:

openssl verify -verbose -show_chain -CAfile /etc/ipa/ca.crt [cert file]
IPARAAgent
此测试将磁盘上的证书与 uid=ipara,ou=People,o=ipaca 中的 LDAP 中的等效记录进行比较。
IPACertRevocation
此测试使用 certmonger 验证证书没有被撤销。因此,测试只能查找与由 certmonger 维护的证书连接的问题。
IPACertmongerCA

此测试会验证 certmonger 证书颁发机构(CA)配置。IdM 无法在没有 CA 的情况下发布证书。

certmonger 维护一组 CA 帮助程序。在 IdM 中,有一个名为 IPA 的 CA,它会在主机或服务证书中以主机或用户主体身份通过 IdM 发出证书。

另外,还有 dogtag-ipa-ca-renew-agentdogtag-ipa-ca-renew-agent-reuse,它们续订 CA 子系统证书。

注意

当尝试检查问题时,在所有 IdM 服务器中运行这些测试。