...
- ipahealthcheck.ipa.certs
Содержит набор проверок, связанных с сертификатами FreeIPA: от контроля срока действия, проверки цепочки доверия до сравнения сертификатов, а также отслеживания их состояния с помощью certmonger.Раскрыть IPACertmongerExpirationCheck
Перебирает все ожидаемые запросы certmonger и проверяет срок действия сертификата, основываясь на информации, которой располагает certmonger. Если сертификат истекает в пределах cert_expiration_days (по умолчанию 28 дней), выдается предупреждение.
Истекший сертификат:
Блок кода title json { "source": "ipahealthcheck.ipa.certs", "check": "IPACertmongerExpirationCheck", "result": "ERROR", "kw": { "key": 1234, "expiration_date": "20160101001704Z", "msg": "Request id 1234 expired on 20160101001704Z" } }Сертификат, истекающий скоро:
Блок кода title json { "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 устарели по сравнению с сертификатом, находящимся на диске.
Если файл сертификата не может быть открыт:
Блок кода title json { "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-база не может быть открыта:
Блок кода title json { "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-базе:
Блок кода title json { "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]" } }Истекший сертификат:
Блок кода title json { "source": "ipahealthcheck.ipa.certs", "check": "IPACertfileExpirationCheck", "result": "ERROR", "kw": { "key": 1234, "expiration_date", "20160101001704Z", "msg": "Request id 1234 expired on 20160101001704Z" } }Сертификат, истекающий скоро:
Блок кода title json { "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).
Сертификат, истекающий скоро:
Блок кода title 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." } }Истекший сертификат:
Блок кода { "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." } }IPACertTracking
Сравнивает информацию отслеживания (tracking) сертификатов, полученную от certmonger, с ожидаемыми значениями. Результат показывает ошибку, если какая-либо часть отслеживания отсутствует или отличается от ожидаемой.
Если отслеживание отсутствует:
КопироватьБлок кода title json
{
{ "source": "ipahealthcheck.ipa.certs",
"check": "IPACertTracking",
"result": "ERROR",
{"kw":
ca{ "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_
,ra_cert"
ca"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_
ra_cert"
}} }
Если отслеживается неизвестный сертификат:json
КопироватьБлок кода
{title
json { "source": "ipahealthcheck.ipa.certs",
"check": "IPACertTracking",
"result": "WARNING",
{"kw":
{ "key": 1234,
1234""msg": "Unknown certmonger id
}1234' } }
IPACertNSSTrust
Сравнивает настройки доверия для сертификатов, хранящихся в NSS-базе, с известным корректным состоянием.
КопироватьБлок кода title 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
Удостоверяется, что записи сертификата ЦС CA в LDAP совпадают с данными, полученными из NSS-базы (или файла).
КопироватьБлок кода title 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.
Блок кода title 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].
КопироватьБлок кода title 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.
КопироватьБлок кода title 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.
КопироватьБлок кода title 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.
КопироватьБлок кода title 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 для определения списка сертификатов, подлежащих проверке.
КопироватьБлок кода title 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.
КопироватьБлок кода title 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.dna
Отвечает за проверку диапазона DNA (Domain Number Allocation), который используется для распределения идентификаторов в системе, чтобы избежать конфликтов.Раскрыть
...