Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Раскрыть
titleПодробное описание параметров конфигурации...

Параметры в разделе [default]

  • cert_expiration_days:
    Задает порог в днях до истечения срока действия сертификата, после которого начинает выдаваться предупреждение (например, если установить значение 7, то предупреждение появится за 7 дней до истечения). Значение по умолчанию: 28.
  • timeout:
    Устанавливает максимальное время (в секундах) для выполнения каждой проверки. Если проверка выполняется дольше указанного времени, она считается прерванной с ошибкой. Значение по умолчанию: 10.
  • output_type:
    Определяет формат вывода результатов. Допустимые значения:
    – json (по умолчанию, машиночитаемый формат),
    – human (удобочитаемый формат для пользователей),
    – prometheus (формат для экспозиции метрик Prometheus).
  • output_file:
    Указывает путь к файлу, в который будет записываться вывод вместо стандартного вывода (stdout).
  • indent:
    При использовании JSON-вывода задаёт уровень отступов для форматирования результата.
  • verbose:
    Активирует подробное логирование для получения дополнительной информации о работе инструмента. Эта опция полезна для диагностики, однако при автоматических запусках она может создавать избыточный вывод.
  • debug:
    Активирует режим отладки, при котором в выводе появляются дополнительные подробности, что полезно для диагностики проблем.
  • severity:
    Позволяет фильтровать вывод по уровню серьезности, чтобы отображались только результаты с заданными уровнями. Допустимые значения:
    – SUCCESS (успешно),
    – WARNING (предупреждение),
    – ERROR (ошибка),
    – CRITICAL (критическая ошибка).
  • source:
    Исполняет проверки только из указанного источника или пространства имен. (например, ipahealthcheck.ipa.certs).
  • check:
    Позволяет запустить конкретную проверку внутри выбранного источника этот параметр используется совместно с source. (например, IPADNSSystemRecordsCheck).

Параметры в разделе [excludes]

  • source:
    Позволяет подавлять результаты, поступающие из определённого источника (например, ipahealthcheck.ipa.certs).

  • check:
    Позволяет подавлять конкретные имена проверок (например, IPADNSSystemRecordsCheck).

  • key:
    Позволяет подавлять результаты по конкретному ключу (обычно это уникальный идентификатор, например, ID запроса на сертификат).

...

  • ipahealthcheck.dogtag.ca
    Отвечает за проверки, связанные с сервером Dogtag (служба CA).
    Раскрыть
    ipahealthcheck.ds.backends
    Контролирует работоспособность backend‑модулей, которые отвечают за хранение данных (например, в LDAP‑хранилище) Раскрытьipahealthcheck.ds.config
    Проводит анализ конфигурационных настроек LDAP‑сервера и сопутствующих компонентов, чтобы удостовериться, что все параметры установлены корректно. Раскрытьipahealthcheck.ds.disk_space
    Проверяет состояние свободного места на дисках, особенно на критичных разделах, таких как каталоги логов или резервных копий, чтобы предупредить о риске переполнения. Раскрытьipahealthcheck.ds.dse
    Осуществляет диагностику DSE (Directory Server Engine) — базовой части LDAP‑сервера, которая отвечает за хранение и обработку данных. Раскрытьipahealthcheck.ds.encryption
    Анализирует настройки шифрования и криптографические параметры, что обеспечивает безопасную передачу и хранение данных. Раскрытьipahealthcheck.ds.fs_checks
    Выполняет проверки файловой системы, включая права доступа, целостность и корректность разрешений на важных файлах и каталогах. Раскрытьipahealthcheck.ds.nss_ssl
    Проверяет настройки NSS‑базы, которая используется для хранения сертификатов и ключей, а также тестирует соответствующие SSL‑настройки. Раскрытьipahealthcheck.ds.ds_plugins
    Отвечает за проверку дополнительных плагинов LDAP‑сервера, которые могут расширять его функциональность или влиять на безопасность. Раскрытьipahealthcheck.ds.replication
    Контролирует репликацию данных между серверами, проверяя синхронизацию данных и анализируя журналы изменений (changelogs) для обнаружения ошибок. Раскрытьipahealthcheck.ds.ruv
    Следит за корректностью записей RUV (Replication Update Values), необходимых для правильной работы репликации.

    DogtagCertsConfigCheck

    Сравнивает значение сертификатов центра сертификации (а также KRA, если установлен) с значением, найденным в файле CS.cfg. Если значения не совпадают, то, вероятно, CS не сможет запуститься.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.dogtag.ca",
      "check": "DogtagCertsConfigCheck",
      "result": "ERROR",
      "kw": {
        "key": "ocspSigningCert cert-pki-ca",
        "directive": "ca.ocsp_signing.cert",
        "configfile": "/var/lib/pki/pki-tomcat/conf/ca/CS.cfg",
        "msg": "Certificate 'ocspSigningCert cert-pki-ca' does not match the value of ca.ocsp_signing.cert in /var/lib/pki/pki-tomcat/conf/ca/CS.cfg"
        }
    }

    DogtagCertsConnectivityCheck

    Выполняет эквивалент команды ipa cert-show 1 для проверки базовой доступности.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.dogtag.ca",
      "check": "DogtagCertsConnectivityCheck",
      "result": "ERROR",
      "kw": {
        "msg": "Request for certificate failed, Certificate operation cannot be completed: Unable to communicate with CMS (503)"
      }
    }
  • ipahealthcheck.ds.backends
    Контролирует работоспособность backend‑модулей, которые отвечают за хранение данных (например, в LDAP‑хранилище)
    Раскрыть


  • ipahealthcheck.ds.config
    Проводит анализ конфигурационных настроек LDAP‑сервера и сопутствующих компонентов, чтобы удостовериться, что все параметры установлены корректно.
    Раскрыть


  • ipahealthcheck.ds.disk_space
    Проверяет состояние свободного места на дисках, особенно на критичных разделах, таких как каталоги логов или резервных копий, чтобы предупредить о риске переполнения.
    Раскрыть


  • ipahealthcheck.ds.dse
    Осуществляет диагностику DSE (Directory Server Engine) — базовой части LDAP‑сервера, которая отвечает за хранение и обработку данных.
    Раскрыть


  • ipahealthcheck.ds.encryption
    Анализирует настройки шифрования и криптографические параметры, что обеспечивает безопасную передачу и хранение данных.
    Раскрыть


  • ipahealthcheck.ds.fs_checks
    Выполняет проверки файловой системы, включая права доступа, целостность и корректность разрешений на важных файлах и каталогах.
    Раскрыть


  • ipahealthcheck.ds.nss_ssl
    Проверяет настройки NSS‑базы, которая используется для хранения сертификатов и ключей, а также тестирует соответствующие SSL‑настройки.
    Раскрыть


  • ipahealthcheck.ds.ds_plugins
    Отвечает за проверку дополнительных плагинов LDAP‑сервера, которые могут расширять его функциональность или влиять на безопасность.
    Раскрыть


  • ipahealthcheck.ds.replication
    Контролирует репликацию данных между серверами, проверяя синхронизацию данных и анализируя журналы изменений (changelogs) для обнаружения ошибок.
    Раскрыть

    ReplicationConflictCheck

    Ищет записи в LDAP, соответствующие фильтру (&(!(objectclass=nstombstone))(nsds5ReplConflict=*))

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.replication",
      "check": "ReplicationConflictCheck",
      "result": "ERROR",
      "kw": {
        "key": "nsuniqueid=66446001-1dd211b2+uid=bjenkins,cn=users,cn=accounts,dc=example,dc=test",
        "conflict": "namingConflict",
        "msg": "Replication conflict"
      }
    }
  • ipahealthcheck.ds.ruv
    Следит за корректностью записей RUV (Replication Update Values), необходимых для правильной работы репликации.
    Раскрыть


  • ipahealthcheck.ipa.certs
    Содержит набор проверок, связанных с сертификатами FreeIPA: от контроля срока действия, проверки цепочки доверия до сравнения сертификатов, а также отслеживания их состояния с помощью certmonger.
    Раскрыть

    IPACertmongerExpirationCheck

    Перебирает все ожидаемые запросы certmonger и проверяет срок действия сертификата, основываясь на информации, которой располагает certmonger. Если сертификат истекает в пределах cert_expiration_days (по умолчанию 28 дней), выдается предупреждение.

    Истекший сертификат:

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertmongerExpirationCheck",
      "result": "ERROR",
      "kw": {
        "key": 1234,
        "expiration_date": "20160101001704Z",
        "msg": "Request id 1234 expired on 20160101001704Z"
      }
    }

    Сертификат, истекающий скоро:

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertmongerExpirationCheck",
      "result": "WARNING",
      "kw": {
        "key": 1234,
        "expiration_date": "20160101001704Z",
        "days": 9,
        "msg": "Request id 1234 expires in 9 days"
      }
    }

    IPACertfileExpirationCheck

    Похожа на IPACertmongerExpirationCheck, но сертификат извлекается из PEM-файла или базы NSS и повторно проверяется. Это используется в случае, если сведения certmonger устарели по сравнению с сертификатом, находящимся на диске.

    Если файл сертификата не может быть открыт:

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertfileExpirationCheck",
      "result": "ERROR",
      "kw": {
        "key": 1234,
        "certfile": "/path/to/cert.pem",
        "error": [error],
        "msg": "Unable to open cert file '/path/to/cert.pem': [error]"
      }
    }

    Если NSS-база не может быть открыта:

    Блок кода
    titlejson
    {
      "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]"
      }
    }

    Если отслеживаемый никнейм не найден в NSS-базе:

    Блок кода
    titlejson
     {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertfileExpirationCheck",
      "result": "ERROR",
      "kw": {
        "key": 1234,
        "dbdir": "/path/to/nssdb",
        "nickname": [nickname],
        "error": [error],
        "msg": "Unable to retrieve cert '[nickname]' from '/path/to/nssdb': [error]"
      }
    }

    Истекший сертификат:

    Блок кода
    titlejson
     {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertfileExpirationCheck",
      "result": "ERROR",
      "kw": {
        "key": 1234,
        "expiration_date", "20160101001704Z",
        "msg": "Request id 1234 expired on 20160101001704Z"
      }
    }

    Сертификат, истекающий скоро:

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertfileExpirationCheck",
      "result": "WARNING",
      "kw": {
        "key": 1234,
        "expiration_date", "20160101001704Z",
        "days": 9,
        "msg": "Request id 1234 expires in 9 days"
      }
    }

    IPACAChainExpirationCheck
    Загружает цепочку сертификатов из файла /etc/ipa/ca.crt и проверяет срок действия каждого сертификата в цепочке. Это тест, предназначенный для подтверждения валидности всей цепочки доверия (включая случаи, когда сертификаты веб-сервера или LDAP были заменены, а цепочка находится в /etc/ipa/ca.crt).

    Сертификат, истекающий скоро:

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACAChainExpirationCheck",
      "result": "WARNING",
      "kw": {
        "path": "/etc/ipa/ca.crt",
        "key": "CN=Certificate Authority,O=EXAMPLE.TEST",
        "days": 2,
        "msg": "CA '{key}' is expiring in {days} days."
      }
    }
    Истекший сертификат:

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACAChainExpirationCheck",
      "result": "CRITICAL",
      "kw": {
        "path": "/etc/ipa/ca.crt",
        "key": "CN=Certificate Authority,O=EXAMPLE.TEST",
        "msg": "CA '{key}' is expired."
      }
    }
    IPACertTracking
    Сравнивает информацию отслеживания (tracking) сертификатов, полученную от certmonger, с ожидаемыми значениями. Результат показывает ошибку, если какая-либо часть отслеживания отсутствует или отличается от ожидаемой.

    Если отслеживание отсутствует:

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertTracking",
      "result": "ERROR",
      "kw": {
        "key": "cert-file=/var/lib/ipa/ra-agent.pem, key-file=/var/lib/ipa/ra-agent.key, ca-name=dogtag-ipa-ca-renew-agent, cert-storage=FILE, cert-presave-command=/usr/libexec/ipa/certmonger/renew_ra_cert_pre, cert-postsave-command=/usr/libexec/ipa/certmonger/renew_ca_cert",
        "msg": "Missing tracking for cert-file=/var/lib/ipa/ra-agent.pem, key-file=/var/lib/ipa/ra-agent.key, ca-name=dogtag-ipa-ca-renew-agent, cert-storage=FILE, cert-presave-command=/usr/libexec/ipa/certmonger/renew_ra_cert_pre, cert-postsave-command=/usr/libexec/ipa/certmonger/renew_ca_cert"
      }
    }
    Если отслеживается неизвестный сертификат:

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertTracking",
      "result": "WARNING",
      "kw": {
        "key": 1234,
        "msg": "Unknown certmonger id 1234"
      }
    }
    IPACertNSSTrust
    Сравнивает настройки доверия для сертификатов, хранящихся в NSS-базе, с известным корректным состоянием.

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertNSSTrust",
      "result": "ERROR",
      "kw": {
        "key": "auditSigningCert cert-pki-ca",
        "expected": "u,u,Pu",
        "got": "u,u,u",
        "nickname": "auditSigningCert cert-pki-ca",
        "dbdir": "/etc/pki/pki-tomcat/alias",
        "msg": "Incorrect NSS trust for auditSigningCert cert-pki-ca. Got u,u,u expected u,u,Pu"
      }
    }
    IPACertMatchCheck
    Удостоверяется, что записи сертификата ЦС в LDAP совпадают с данными, полученными из NSS-базы (или файла).

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertMatchCheck",
      "result": "ERROR",
      "kw": {
        "msg": "CA Certificate from /etc/ipa/nssdb does not match /etc/ipa/ca.crt"
      }
    }
    IPADogtagCertsMatchCheck
    Проверяет, совпадают ли сертификаты Dogtag, присутствующие как в NSS-базе, так и в LDAP.

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPADogtagCertsMatchCheck",
      "result": "ERROR",
      "kw": {
        "msg": "'subsystemCert cert-pki-ca' certificate in NSS DB does not match entry in LDAP"
      }
    }
    IPANSSChainValidation
    Валидирует цепочку сертификатов, полученных из NSS-базы. Выполняется команда certutil -V -u V -e -d [dbdir] -n [nickname].

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPANSSChainValidation",
      "result": "ERROR",
      "kw": {
        "key": "/etc/dirsrv/slapd-EXAMPLE-TEST:Server-Cert",
        "nickname": "Server-Cert",
        "dbdir": "[path to NSS database]",
        "reason": "certutil: certificate is invalid: Peer's Certificate issuer is not recognized.\n: ",
        "msg": "\"Validation of Server-Cert in /etc/dirsrv/slapd-EXAMPLE-TEST/ failed: certutil: certificate is invalid: Peer's Certificate issuer is not recognized.\n \""
      }
    }
    IPAOpenSSLChainValidation
    Валидирует цепочку сертификатов для файлов OpenSSL. Выполняется команда openssl verify -verbose -show_chain -CAfile /etc/ipa/ca.crt /path/to/cert.pem.

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPAOpenSSLChainValidation",
      "result": "ERROR",
      "kw": {
        "key": "/var/lib/ipa/ra-agent.pem",
        "reason": "O = EXAMPLE.TEST, CN = IPA RA\nerror 20 at 0 depth lookup: unable to get local issuer certificate\n",
        "msg": "Certificate validation for /var/lib/ipa/ra-agent.pem failed: O = EXAMPLE.TEST, CN = IPA RA\nerror 20 at 0 depth lookup: unable to get local issuer certificate\n"
      }
    }
    IPARAAgent
    Проверяет соответствие описания и значения атрибута userCertificate для RA-агента в LDAP.

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPARAAgent",
      "result": "ERROR",
      "kw": {
        "expected": "2;125;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST",
        "got": "2;7;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST",
        "msg": "RA agent description does not match. Found 2;7;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST in LDAP and expected 2;125;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST"
      }
    }
    IPAKRAAgent
    Проверяет соответствие описания и значения атрибута userCertificate для KRA-агента в LDAP.

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPAKRAAgent",
      "result": "ERROR",
      "kw": {
        "expected": "2;125;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST",
        "got": "2;7;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST",
        "msg": "KRA agent description does not match. Found 2;7;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST in LDAP and expected 2;125;CN=Certificate Authority,O=EXAMPLE.TEST;CN=IPA RA,O=EXAMPLE.TEST"
      }
    }
    IPACertRevocation
    Подтверждает, что сертификаты IPA не отозваны, используя отслеживание certmonger для определения списка сертификатов, подлежащих проверке.

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertRevocation",
      "result": "ERROR",
      "kw": {
        "key": 1234,
        "revocation_reason": "superseded",
        "msg": "Certificate is revoked, superseded"
      }
    }
    IPACertmongerCA
    Проверяет корректность конфигурации CA в certmonger, анализируя настройки dogtag-ipa-ca-renew-agent и dogtag-ipa-ca-renew-agent-reuse.

    json
    Копировать
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertmongerCA",
      "result": "ERROR",
      "kw": {
        "key": "dogtag-ipa-ca-renew-agent",
        "msg": "Certmonger CA 'dogtag-ipa-ca-renew-agent' missing"
      }
    }

    Раскрытьipahealthcheck.ipa.certs
    Содержит набор проверок, связанных с сертификатами FreeIPA: от контроля срока действия, проверки цепочки доверия до сравнения сертификатов, а также отслеживания их состояния с помощью certmonger.expand

  • ipahealthcheck.ipa.dna
    Отвечает за проверку диапазона DNA (Domain Number Allocation), который используется для распределения идентификаторов в системе, чтобы избежать конфликтов.
    Раскрыть


...