使用 IdM Healthcheck 监控 IdM 环境


Red Hat Enterprise Linux 8

执行状态和健康检查

Red Hat Customer Content Services

摘要

ipa-healthcheck 工具帮助管理员检测 Red Hat Identity Management (IdM)环境中的问题。这包括对 IdM 服务、配置文件权限、复制状态和证书问题的状态检查。

对红帽文档提供反馈

我们感谢您对我们文档的反馈。让我们了解如何改进它。

通过 Jira 提交反馈(需要帐户)

  1. 登录到 Jira 网站。
  2. 单击顶部导航栏中的 Create
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您的改进建议。包括文档相关部分的链接。
  5. 点对话框底部的 Create

第 1 章 安装并运行 IdM Healthcheck 工具

了解有关 IdM Healthcheck 工具以及如何安装并运行它的更多信息。

注意
  • Healthcheck 工具只在 RHEL 8.1 或更高版本中提供。

1.1. IdM 中的 Healthcheck

Identity Management (IdM)中的 Healthcheck 命令行工具可帮助查找可能会影响 IdM 环境性能的问题。使用 Healthcheck,您可以预先识别问题,以便在它成为关键状态前更正它。

注意

您可以在不获取 Kerberos ticket 的情况下使用 Healthcheck。

模块是独立的

Healthcheck 由独立的模块组成,用于检查:

  • 复制问题
  • 证书有效期
  • 证书颁发机构基础架构问题
  • IdM 和 Active Directory 信任问题
  • 正确的文件权限和所有权设置

输出格式和目的地

您可以使用 output-type 选项为 Healthcheck 设置以下类型的输出类型:

  • JSON :JSON 格式的机器可读输出(默认)
  • human:人类可读的输出

您可以使用-- output-file 选项指定存储输出的文件。

结果

每个 Healthcheck 模块返回以下结果之一:

SUCCESS
该系统按预期配置。
WARNING
建议您监控或评估配置。
ERROR
该系统没有按预期配置。
CRITICAL
配置不如预期,可能会影响 IdM 部署的功能。

1.2. 安装 IdM Healthcheck

了解如何安装 IdM Healthcheck 工具。

先决条件

  • root 身份登录。

流程

  • 安装 ipa-healthcheck 软件包:

    [root@server ~]# yum install ipa-healthcheck
    Copy to Clipboard Toggle word wrap
    注意

    在 RHEL 8.1 和 8.2 系统上,使用 yum install /usr/bin/ipa-healthcheck 命令。

验证

  • 执行基本 Healthcheck 测试:

    [root@server ~]# ipa-healthcheck
    []
    Copy to Clipboard Toggle word wrap

    空方括号 [] 表示 IdM 安装的功能。

1.3. 运行 IdM Healthcheck

您可以使用以下方法之一执行 Healthcheck 测试:

本节论述了如何手动执行测试。

先决条件

流程

  1. [可选] 要显示所有可用 Healthcheck 测试列表,请输入:

    [root@server ~]# ipa-healthcheck --list-sources
    Copy to Clipboard Toggle word wrap
  2. 要运行 Healthcheck 工具,请输入:

    [root@server ~]# ipa-healthcheck
    Copy to Clipboard Toggle word wrap

1.4. 日志轮转

日志轮转每日创建新的日志文件,并且按日期组织这些文件。该日期包含在文件名中。

使用日志轮转,您可以配置要存储的日志文件的最大数量。如果超过这个数字,最新的文件会替换最旧的文件。例如,如果最大轮转号为 30irty,则第三十优先日志文件将替换第一个,这是最旧的日志文件。

日志轮转会减少大量日志文件并组织它们。这有助于您分析日志。

1.5. 在调度上运行 IdM Healthcheck

按照以下步骤将 IdM Healthcheck 配置为按调度运行。这包括配置以下工具:

  • 定期运行 Healthcheck 工具的 systemd 计时器并生成日志。
  • 用于确保日志轮转的 crond 服务。

默认的日志名是 healthcheck.log,轮转的日志使用 healthcheck.log-YYYYMMDD 格式。

注意

Healthcheck 计时器工具不是实时工具。它仅用于在一小时内运行。如果您需要实时监控服务或磁盘空间,请使用不同的工具。

先决条件

  • 您有 root 特权。

流程

  1. 启用 systemd 计时器:

    # systemctl enable ipa-healthcheck.timer
    Created symlink /etc/systemd/system/multi-user.target.wants/ipa-healthcheck.timer -> /usr/lib/systemd/system/ipa-healthcheck.timer.
    Copy to Clipboard Toggle word wrap
  2. 启动 systemd 计时器:

    # systemctl start ipa-healthcheck.timer
    Copy to Clipboard Toggle word wrap
  3. 打开 /etc/logrotate.d/ipahealthcheck 文件,以配置您要保存的日志数:

    [...]
        rotate 30
    }
    Copy to Clipboard Toggle word wrap

    默认情况下,在日志被较新的日志覆盖前,日志会存储 30 天。

  4. 在同一文件中,配置存储日志的文件的路径。

    /var/log/ipa/healthcheck/healthcheck.log {
    [...]
    Copy to Clipboard Toggle word wrap

    默认情况下,日志保存在 /var/log/ipa/healthcheck/ 目录中。

  5. 保存该文件。
  6. 确保 crond 服务已启用并正在运行:

    # systemctl enable crond
    # systemctl start crond
    Copy to Clipboard Toggle word wrap
  7. 要开始生成日志,启动 IdM healthcheck 服务:

    # systemctl start ipa-healthcheck
    Copy to Clipboard Toggle word wrap

验证

  1. 进入 /var/log/ipa/healthcheck/ 目录。
  2. 显示日志文件的内容,以检查它是否已正确创建。

1.6. IdM Healthcheck 配置修改

您可以通过在 /etc/ipahealthcheck/ipahealthcheck.conf 文件中添加所需的命令行选项来更改身份管理(IdM) Healthcheck 设置。例如,这在之前配置了日志轮转时很有用,现在希望确保日志采用适合自动分析的格式,但不想设置新的计时器。

注意

此 Healthcheck 功能仅适用于 RHEL 8.7 或更新版本。

在修改后,Healthcheck 创建的所有日志遵循新的设置。这些设置也应用到健康检查的任何手动执行。

注意

手动运行 Healthcheck 时,配置文件中的设置优先于命令行中指定的选项。例如,如果在配置文件中将 output_type 设为 human,则在命令行上指定 json 不起作用。您用来在配置文件中指定的任何命令行选项都会正常应用。

1.7. 配置 Healthcheck 以更改输出日志格式

按照以下步骤,使用已配置的计时器配置 Healthcheck。在本例中,您重新配置 Healthcheck 以人类可读的格式开始生成日志,并包括成功结果而不是仅错误。

先决条件

  • 您的系统正在运行 RHEL 8.7 或更高版本。
  • 您有 root 特权。
  • 您之前已在计时器中配置了日志轮转。

流程

  1. 在文本编辑器中打开 /etc/ipahealthcheck/ipahealthcheck.conf 文件。
  2. 将选项 output_type=humanall=True 添加到 [default] 部分。
  3. 保存并关闭该文件。

验证

  1. 手动运行 Healthcheck:

    # ipa-healthcheck
    Copy to Clipboard Toggle word wrap
  2. 进入 /var/log/ipa/healthcheck/,检查日志是否采用正确的格式。

第 2 章 使用 IdM Healthcheck 检查服务

您可以使用 Healthcheck 工具监控身份管理(IdM)服务器使用的服务。

先决条件

  • Healthcheck 工具只在 RHEL 8.1 及更新版本中可用

2.1. IdM 服务 Healthcheck 测试

Healthcheck 工具包含一个测试,用于检查身份管理(IdM)服务是否正确运行。从这个 Healthcheck 测试启动,因为未正确运行的 IdM 服务可能会导致其他 Healthcheck 测试失败。

根据配置的功能,服务测试是特定于上下文的。例如,只有在 IdM 服务器上配置了集成的 IdM DNS 服务时,才会检查 named。其他,如 smbwinbind,只有在启用了 IdM-AD 信任时才会检查。

测试评估的 IdM 服务列表如下:

  • certmonger
  • dirsrv
  • gssproxy
  • httpd
  • ipa_custodia
  • ipa_dnskeysyncd
  • ipa_otpd
  • kadmin
  • krb5kdc
  • named
  • pki_tomcatd
  • sssd

您可以通过运行 ipa-healthcheck --list-sources 命令并识别输出中的 ipahealthcheck.meta.services 部分来查看此列表。

2.2. 使用 Healthcheck 进行 IdM 服务

按照以下步骤,使用 Healthcheck 工具运行在身份管理(IdM)服务器上运行的服务的独立手动测试。

流程

  • 输入:

    # ipa-healthcheck --source=ipahealthcheck.meta.services
    Copy to Clipboard Toggle word wrap
    • the- source=ipahealthcheck.meta.services 选项可确保 IdM Healthcheck 仅执行服务测试。
    • 默认情况下启用 --failures-only 选项,它可确保 IdM Healthcheck 仅报告警告、错误和严重问题。

成功测试会显示空括号:

[ ]
Copy to Clipboard Toggle word wrap

如果其中一个服务失败,则结果可能类似以下示例:

{
  "source": "ipahealthcheck.meta.services",
  "check": "httpd",
  "result": "ERROR",
  "kw": {
    "status": false,
    "msg": "httpd: not running"
  }
}
Copy to Clipboard Toggle word wrap
注意

当尝试发现问题时,在所有 IdM 服务器中运行这个测试。

第 3 章 使用 IdM Healthcheck 检查磁盘空间

您可以使用 Healthcheck 工具监控身份管理服务器的可用磁盘空间。

先决条件

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

3.1. 磁盘空间健康检查测试

Healthcheck 工具包括 FileSystemSpaceCheck 测试,用于检查可用磁盘空间。测试会检查以下内容:

  • 需要最少的原始可用字节数。
  • 最小可用磁盘空间百分比为 20%。

测试检查以下路径:

Expand
表 3.1. 测试的路径
测试检查的路径以 MB 为单位的最小磁盘空间

/var/lib/dirsrv/

1024

/var/lib/ipa/backup/

512

/var/log/

1024

var/log/audit/

512

/var/tmp/

512

/tmp/

512

可用磁盘空间不足可能会导致以下问题:

  • 日志
  • 执行
  • Backups

您可以通过运行 ipa-healthcheck --list-sources 命令并识别输出中的 ipahealthcheck.system.filesystemspace 部分来查找 FileSystemSpaceCheck 测试。

3.2. 使用 Healthcheck 工具强制磁盘空间

按照以下流程,使用 Healthcheck 工具在身份管理(IdM)服务器上对可用磁盘空间运行独立的手工测试。

流程

  • 输入:

    # ipa-healthcheck --source=ipahealthcheck.system.filesystemspace
    Copy to Clipboard Toggle word wrap
    • the- source=ipahealthcheck.meta.services 选项可确保 IdM Healthcheck 仅执行磁盘空间测试。

成功测试会显示空括号:

[]
Copy to Clipboard Toggle word wrap

例如,测试失败可显示:

{
  "source": "ipahealthcheck.system.filesystemspace",
  "check": "FileSystemSpaceCheck",
  "result": "ERROR",
  "kw": {
    "msg": "/var/lib/dirsrv: free space under threshold: 0 MiB < 1024 MiB",
    "store": "/var/lib/dirsrv",
    "free_space": 0,
    "threshold": 1024
  }
}
Copy to Clipboard Toggle word wrap

此失败的测试会通知您 /var/lib/dirsrv 目录中没有可用的空间。

注意

当尝试发现问题时,在所有 IdM 服务器中运行这个测试。

了解如何使用 Healthcheck 工具测试身份管理(IdM)配置文件。

先决条件

  • Healthcheck 工具仅在 RHEL 8.1 或更新的系统中可用。

4.1. 文件权限健康检查测试

Healthcheck 工具测试由 Identity Management (IdM)安装或配置的文件的所有权和权限。

如果您更改了这些文件的所有权或权限,测试会在 result 部分中返回警告。虽然这不一定意味着配置不起作用,但这意味着文件与默认配置不同。

您可以在 ipa-healthcheck --list-sources 命令的输出的 ipahealthcheck.ipa.files 源中找到文件权限测试。

IPAFileNSSDBCheck
如果相关,此测试会检查 389-ds NSS 数据库和证书颁发机构(CA)数据库。389-ds 数据库位于 /etc/dirsrv/slapd-<dashed-REALM> 中,CA 数据库位于 /etc/pki/pki-tomcat/alias/ 中。
IPAFileCheck

此测试检查以下文件:

  • /var/lib/ipa/ra-agent.{key|pem}
  • /var/lib/ipa/certs/httpd.pem
  • /var/lib/ipa/private/httpd.key
  • /etc/httpd/alias/ipasession.key
  • /etc/dirsrv/ds.keytab
  • /etc/ipa/ca.crt
  • /etc/ipa/custodia/server.keys
  • /etc/resolv.conf
  • /etc/hosts

    如果启用了 PKINIT,它也测试:

  • /var/lib/ipa/certs/kdc.pem
  • /var/lib/ipa/private/kdc.key

    如果配置了 DNS,它也会测试:

  • /etc/named.keytab
  • /etc/ipa/dnssec/ipa-dnskeysyncd.keytab
TomcatFileCheck

此测试会检查某些特定于 tomcat的文件:

  • /etc/pki/pki-tomcat/password.conf
  • /var/lib/pki/pki-tomcat/conf/ca/CS.cfg
  • /etc/pki/pki-tomcat/server.xml

4.2. 使用 Healthcheck 处理配置文件

按照以下流程,使用 Healthcheck 工具对身份管理(IdM)服务器的配置文件运行独立的手工测试。

Healthcheck 工具包含许多测试。可以通过以下方法缩小结果:

  • 仅包含所有者和权限测试 :-- source=ipahealthcheck.ipa.files

流程

  1. 要在 IdM 配置文件所有权和权限中运行 Healthcheck 测试,同时只显示警告、错误和严重问题,请输入:

    # ipa-healthcheck --source=ipahealthcheck.ipa.files
    Copy to Clipboard Toggle word wrap

成功测试会显示空括号:

# ipa-healthcheck --source=ipahealthcheck.ipa.files
[]
Copy to Clipboard Toggle word wrap

失败的测试显示结果 类似如下

{
  "source": "ipahealthcheck.ipa.files",
  "check": "IPAFileNSSDBCheck",
  "result": "WARNING",
  "kw": {
    "key": "_etc_dirsrv_slapd-EXAMPLE-TEST_pkcs11.txt_mode",
    "path": "/etc/dirsrv/slapd-EXAMPLE-TEST/pkcs11.txt",
    "type": "mode",
    "expected": "0640",
    "got": "0666",
    "msg": "Permissions of /etc/dirsrv/slapd-EXAMPLE-TEST/pkcs11.txt are 0666 and should be 0640"
  }
}
Copy to Clipboard Toggle word wrap
注意

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

第 5 章 使用 IdM Healthcheck 检查 DNS 记录

您可以使用 Healthcheck 工具识别身份管理(IdM)中与 DNS 记录有关的问题。

先决条件

  • DNS 记录 Healthcheck 工具仅在 RHEL 8.2 或更新版本中可用。

5.1. DNS 记录健康检查测试

Healthcheck 工具包括 IPADNSSystemRecordsCheck 测试,用于检查自动发现所需的预期 DNS 记录是否可以解析。具体来说,测试会使用您登录的 IdM 服务器上的 /etc/resolv.conf 文件中指定的第一个解析器检查 ipa dns-update-system-records --dry-run 命令获取的 DNS 记录。

您可以在 ipa-healthcheck --list-sources 命令的输出的 ipahealthcheck.ipa.idns 源下找到 IPADNSSystemRecordsCheck 测试。

5.2. 使用 Healthcheck 工具建立 IdM DNS 记录

按照以下步骤,使用 Healthcheck 工具在身份管理(IdM)服务器上运行 DNS 记录独立手动测试。

Healthcheck 工具包含许多测试。通过添加 --source ipahealthcheck.ipa.idns 选项,可以只包含 DNS 记录测试来缩小结果范围。

先决条件

  • 您有 root 特权。

流程

  • 输入:

    # ipa-healthcheck --source ipahealthcheck.ipa.idns
    Copy to Clipboard Toggle word wrap
    • --source ipahealthcheck.ipa.idns 选项可确保 IdM Healthcheck 仅执行 DNS 记录测试。

      如果记录可以解析,测试会返回 SUCCESS,从而返回:

      {
          "source": "ipahealthcheck.ipa.idns",
          "check": "IPADNSSystemRecordsCheck",
          "result": "SUCCESS",
          "uuid": "eb7a3b68-f6b2-4631-af01-798cac0eb018",
          "when": "20200415143339Z",
          "duration": "0.210471",
          "kw": {
            "key": "_ldap._tcp.idm.example.com.:server1.idm.example.com."
          }
      }
      Copy to Clipboard Toggle word wrap

      例如,当记录数量与预期数目不匹配时,测试将返回 WARNING

    {
        "source": "ipahealthcheck.ipa.idns",
        "check": "IPADNSSystemRecordsCheck",
        "result": "WARNING",
        "uuid": "972b7782-1616-48e0-bd5c-49a80c257895",
        "when": "20200409100614Z",
        "duration": "0.203049",
        "kw": {
          "msg": "Got {count} ipa-ca A records, expected {expected}",
          "count": 2,
          "expected": 1
        }
    }
    Copy to Clipboard Toggle word wrap

您可以在身份管理(IdM)中使用 Healthcheck 工具来验证 Kerberos 密钥分发中心(KDC)是否已被配置为使用 krb5kdc worker 进程的最佳数量,它应该等于主机上 CPU 的核数。

先决条件

  • 您使用 RHEL 8.7 或更高版本。
  • 您有 root 特权。

流程

  • 输入:

    # ipa-healthcheck --source ipahealthcheck.ipa.kdc
    Copy to Clipboard Toggle word wrap
    • --source ipahealthcheck.ipa.kdc 选项可确保 IdM Healthcheck 仅执行 KDCWorkersCheck 测试。

      如果 KDC worker 进程数与 CPU 核数匹配,则测试返回 SUCCESS

      {
      	"source": "ipahealthcheck.ipa.kdc",
      	"check": "KDCWorkersCheck",
      	"result": "SUCCESS",
      	"uuid": "68f6e20a-0aa9-427d-8fdc-fbb8196d56cd",
      	"when": "20230105162211Z",
      	"duration": "0.000157",
      	"kw": {
        	"key": "workers"
      	}
      }
      Copy to Clipboard Toggle word wrap

      如果 worker 进程数与 CPU 核数不匹配,则测试返回 WARNING。在以下示例中,两个核的主机被配置为只有一个 KDC worker 进程:

      {
          "source": "ipahealthcheck.ipa.kdc",
          "check": "KDCWorkersCheck",
          "result": "WARNING",
          "uuid": "972b7782-1616-48e0-bd5c-49a80c257895",
          "when": "20230105122236Z",
          "duration": "0.203049",
          "kw": {
            "key": ‘workers’,
            "cpus": 2,
            "workers": 1,
            "expected": "The number of CPUs {cpus} does not match the number of workers {workers} in {sysconfig}"
          }
      }
      Copy to Clipboard Toggle word wrap

      如果没有配置的 worker,测试也输出 WARNING。在以下示例中,/etc/sysconfig/krb5kdc 配置文件中缺少 KRB5KDC_ARGS 变量:

      {
        "source": "ipahealthcheck.ipa.kdc",
        "check": "KDCWorkersCheck",
        "result": "WARNING",
        "uuid": "5d63ea86-67b9-4638-a41e-b71f4
    56efed7",
        "when": "20230105162526Z",
        "duration": "0.000135",
        "kw": {
          "key": "workers",
          "sysconfig": "/etc/sysconfig/krb5kdc",
          "msg": "KRB5KDC_ARGS is not set in {sysconfig}"
        }
      }
    Copy to Clipboard Toggle word wrap

第 7 章 使用 Healthcheck 检查 IdM 复制

您可以使用 Healthcheck 工具测试身份管理(IdM)复制。

先决条件

  • 您使用 RHEL 版本 8.1 或更新版本。

7.1. IdM 复制和拓扑 Healthcheck 测试

Healthcheck 工具包含身份管理(IdM)拓扑配置的测试。测试会搜索复制冲突问题。

您可以在 ipa-healthcheck --list-sources 命令的输出的 ipahealthcheck.ipa.topologyipahealthcheck.ds.replication 源下找到 IPATopologyDomainCheckReplicationConflictCheck 测试。

IPATopologyDomainCheck

测试以下配置:

  • 没有 IdM 服务器与拓扑断开连接。
  • IdM 服务器没有超过推荐的复制协议数量。

如果测试成功,则测试会返回配置的域。否则,将报告特定的连接错误。

注意

测试为 domain 后缀运行 ipa topologysuffix-verify 命令。如果在此服务器上配置了 IdM Certificate Authority server 角色,它也会为 ca 后缀运行命令。

ReplicationConflictCheck
搜索 LDAP 匹配中的条目 (& (! (objectclass=nstombstone)) (nsds5ReplConflict 3.3.0))

7.2. 使用 Healthcheck 进行复制

按照以下步骤,使用 Healthcheck 工具运行身份管理(IdM)复制和拓扑配置的独立手动测试。

先决条件

  • 您有 root 特权。

流程

  • 输入:

    # ipa-healthcheck --source=ipahealthcheck.ds.replication --source=ipahealthcheck.ipa.topology
    Copy to Clipboard Toggle word wrap
    • --source=ipahealthcheck.ds.replication and-- source=ipahealthcheck.ipa.topology 选项可确保 IdM Healthcheck 只执行复制冲突和拓扑测试。

    可能会有四种不同的结果:

    • SUCCESS SAS- SAS 测试成功通过。

      {
        "source": "ipahealthcheck.ipa.topology",
        "check": "IPATopologyDomainCheck",
        "result": "SUCCESS",
        "kw": {
          "suffix": "domain"
        }
      }
      Copy to Clipboard Toggle word wrap
    • 预告:测试通过,但可能存在问题。
    • ERROR SAS- SAS 测试失败。

      {
        "source": "ipahealthcheck.ipa.topology",
        "check": "IPATopologyDomainCheck",
        "result": "ERROR",
        "uuid": d6ce3332-92da-423d-9818-e79f49ed321f
        "when": 20191007115449Z
        "duration": 0.005943
        "kw": {
          "msg": "topologysuffix-verify domain failed, server2 is not connected (server2_139664377356472 in MainThread)"
        }
      }
      Copy to Clipboard Toggle word wrap
    • CRITICAL SAS- SAS 测试失败,它会影响 IdM 服务器功能。
注意

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

7.3. 其他资源

了解如何使用 Healthcheck 工具识别身份管理(IdM)和活动目录(AD)之间的信任问题。

先决条件

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

8.1. IdM 和 AD 信任健康检查测试

Healthcheck 工具包括多个测试,用于测试身份管理(IdM)和活动目录(AD)之间的信任状态。

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

# ipa-healthcheck --list-sources
Copy to Clipboard Toggle word wrap

您可以在 ipahealthcheck.ipa.trust 源下找到所有与信任相关的测试:

IPATrustAgentCheck
如果当前主机被配置为信任代理,则此测试会检查 SSSD 配置。对于 /etc/sssd/sssd.conf 中的每个域,其中 id_provider=ipa 确保 ipa_server_mode 为 True
IPATrustDomainsCheck
此测试通过将 sssctl domain-list 中的域列表与 ipa trust-find 之外的 IdM 域的域列表进行比较,来检查信任域是否与 SSSD 域匹配。
IPATrustCatalogCheck

此测试解析为 AD 用户 Administrator@REALM。这将填充 sssctl domain-status 输出中的 AD Global 目录和 AD 域控制器值。

对于每个信任域,查找 SID + 500 的 ID 的用户,即管理员 ID,然后检查 sssctl domain-status <domain> --active-server 的输出,以确保域处于活动状态。

IPAsidgenpluginCheck
此测试会验证 IdM 389-ds 实例中是否启用了 sidgen 插件。该测试还验证 cn=plugins,cn=config 中的 IPA SIDGENipa-sidgen-task 插件是否包含 nsslapd-pluginEnabled 选项。
IPATrustAgentMemberCheck
此测试将验证当前主机是否为 cn=adtrust 代理,cn=sysaccounts,cn=etc,SUFFIX 的成员。
IPATrustControllerPrincipalCheck
此测试将验证当前主机是否为 cn=adtrust 代理,cn=sysaccounts,cn=etc,SUFFIX 的成员。
IPATrustControllerServiceCheck
此测试会验证当前主机是否在 ipactl 中启动 ADTRUST 服务。
IPATrustControllerConfCheck
此测试验证 net conf 列表输出中是否为 passdb 后端启用了 ldapi
IPATrustControllerGroupSIDCheck
此测试将验证 admins 组的 SID 是否以 512 结尾,这是域管理员的 RID。
IPATrustPackageCheck
如果没有启用信任控制器和 AD 信任,这个测试会验证是否安装了 trust-ad 软件包。

8.2. 使用 Healthcheck 工具建立信任

按照以下流程,使用 Healthcheck 工具对身份管理(IdM)和活动目录(AD)信任健康检查运行独立的手工测试。

流程

  • 输入:

    # ipa-healthcheck --source=ipahealthcheck.ipa.trust --failures-only
    Copy to Clipboard Toggle word wrap
    • --source=ipahealthcheck.ipa.trust 选项可确保 IdM Healthcheck 仅执行信任测试。

成功测试会显示空括号:

# ipa-healthcheck --source=ipahealthcheck.ipa.trust
[]
Copy to Clipboard Toggle word wrap
注意

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

第 9 章 使用 IdM Healthcheck 验证系统证书

了解更多有关使用 Healthcheck 工具识别身份管理(IdM)中系统证书的问题的信息。

先决条件

  • Healthcheck 工具仅在 RHEL 8.1 或更新版本中可用。

9.1. 系统证书健康检查测试

Healthcheck 工具包括用于验证系统或 Dogtag、证书的多个测试。

您可以在 ipa-healthcheck --list-sources 命令的输出中的 ipahealthcheck.dogtag.ca 源下找到与证书相关的所有测试。

DogtagCertsConfigCheck

此测试将其 NSS 数据库中的 CA(证书授权机构)证书与存储在 CS.cfg 中的相同值进行比较。如果不匹配,CA 无法启动。

具体来说,它会检查:

  • auditSigningCert cert-pki-ca against ca.audit_signing.cert
  • ocspSigningCert cert-pki-ca against ca.ocsp_signing.cert
  • caSigningCert cert-pki-ca against ca.signing.cert
  • subsystemCert cert-pki-ca against ca.subsystem.cert
  • 针对 ca.sslserver.certServer-Cert cert-pki-ca

如果安装了 Key Recovery Authority (KRA),它也会检查:

  • transportCert cert-pki-kra against ca.connector.KRA.transportCert
DogtagCertsConnectivityCheck

此测试验证连接性。此测试等同于检查以下内容的 ipa cert-show 1 命令:

  • Apache 中的 PKI 代理配置
  • IdM 能够找到 CA
  • RA 代理客户端证书
  • CA 回复请求的正确性

该测试会验证是否可以执行 ipa cert-show 命令,以及是否从 IdM CA 返回预期响应 - 证书本身或 未找到 的响应。

9.2. 使用 Healthcheck 强制系统证书

按照以下流程,使用 Healthcheck 工具对身份管理(IdM)证书运行独立的手工测试。

流程

  • 输入:

    # ipa-healthcheck --source=ipahealthcheck.dogtag.ca
    Copy to Clipboard Toggle word wrap
    • --source=ipahealthcheck.dogtag.ca 选项可确保 Healthcheck 仅执行证书测试。

测试成功示例:

{
  "source: ipahealthcheck.dogtag.ca",
  "check: DogtagCertsConfigCheck",
  "result: SUCCESS",
  "uuid: 9b366200-9ec8-4bd9-bb5e-9a280c803a9c",
  "when: 20191008135826Z",
  "duration: 0.252280",
  "kw:" {
    "key": "Server-Cert cert-pki-ca",
    "configfile":  "/var/lib/pki/pki-tomcat/conf/ca/CS.cfg"
    }
}
Copy to Clipboard Toggle word wrap

测试失败的示例:

{
  "source: ipahealthcheck.dogtag.ca",
  "check: DogtagCertsConfigCheck",
  "result: CRITICAL",
  "uuid: 59d66200-1447-4b3b-be01-89810c803a98",
  "when: 20191008135912Z",
  "duration: 0.002022",
  "kw:" {
    "exception": "NSDB /etc/pki/pki-tomcat/alias not initialized",
    }
}
Copy to Clipboard Toggle word wrap
注意

当尝试找到问题时,在所有 IdM 服务器中运行证书测试。

第 10 章 使用 IdM Healthcheck 验证证书

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

先决条件

  • Healthcheck 工具只在 RHEL 8.1 及更新版本中可用。

10.1. IdM 证书健康检查测试

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

此测试套件检查证书过期、验证、信任和其他配置。健康检查可以报告同一底层问题的多个错误。

您可以在 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 证书的证书链。具体来说,健康检查执行以下 OpenSSL 命令:

openssl verify -verbose -show_chain -CAfile /etc/ipa/ca.crt [cert file]
Copy to Clipboard Toggle word wrap
IPARAAgent
此测试将磁盘上的证书与 uid=ipara,ou=People,o=ipaca 中 LDAP 中的等效记录进行比较。
IPACertRevocation
此测试会验证由 certmonger 维护的证书是否已被撤销。
IPACertmongerCA

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

Certmonger 维护一组 CA 帮助程序。名为 IPA 的 CA 通过 IdM 为主机或服务发布证书,以主机或用户主体进行身份验证。

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

10.2. 使用 Healthcheck 工具验证证书

按照以下步骤,使用 Healthcheck 工具运行身份管理(IdM)证书健康检查的独立手动测试。

先决条件

  • 您有 root 特权。

流程

  • 输入:

    # ipa-healthcheck --source=ipahealthcheck.ipa.certs --failures-only
    Copy to Clipboard Toggle word wrap
    • the- source=ipahealthcheck.ipa.certs 选项可确保 IdM Healthcheck 仅执行 certmonger 证书测试。

      成功测试会显示空括号:

      []
      Copy to Clipboard Toggle word wrap

      失败的测试会显示以下输出:

      {
        "source": "ipahealthcheck.ipa.certs",
        "check": "IPACertfileExpirationCheck",
        "result": "ERROR",
        "kw": {
          "key": 1234,
          "dbdir": "/path/to/nssdb",
          "error": [error],
          "msg": "Unable to open NSS database '/path/to/nssdb': [error]"
        }
      }
      Copy to Clipboard Toggle word wrap

    在打开 NSS 数据库时,这个 IPACertfileExpirationCheck 测试失败。

注意

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

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部