...
| Раскрыть | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В таблице перечислены все специальные термины и аббревиатуры, применяемые в статье, с их пояснениями.
|
...
Инструмент ipa-healthcheck предоставляется пакетом freeipa-healthcheck. Пакет входит в расширенный репозиторий. Установить пакет можно используяГрафический менеджер пакетов synaptic, или из командной строки:
| Блок кодаcommand | ||
|---|---|---|
| ||
sudo apt install freeipa-healthcheck |
...
| Раскрыть | ||
|---|---|---|
| ||
Доступные параметры CLI:
|
Пример готовых команд:
- Выполнение конкретной проверки сертификатов с фильтрацией по уровню серьезности и показом только ошибок:
titleБлок кода Command shell sudo ipa-healthcheck --source=ipahealthcheck.ipa.certs --check=IPACertExpirationCheck --severity=ERROR --severity=CRITICAL --failures-only --output-type=human
- Запуск с использованием собственного файла конфигурации, сохранением результата в файл, режимами подробного логирования и отладки:
Блок кодаcommand title shell sudo ipa-healthcheck --config=/etc/ipahealthcheck/myconfig.conf --output-file=/var/log/ipa/healthcheck/healthcheck.log --indent=4 --verbose --debug
- Запуск проверки топологии с выводом в формате Prometheus и заданным префиксом для метрик:
Блок кодаcommand title shell sudo ipa-healthcheck --source=ipahealthcheck.ipa.topology --check=IPATopologyDomainCheck --output-type=prometheus --metric-prefix=ipa_health
...
- ipahealthcheck.ipa.files
Проверяет разрешения, владельцев и целостность основных файлов, используемых FreeIPA, таких как конфигурационные файлы и файлы NSS‑базы.Раскрыть title Проверки в источнике ipahealthcheck.ipa.files IPAFileNSSDBCheck
IPAFileCheck
TomcatFileCheck
Эти проверки проверяют владельца и режим файлов, установленных или настроенных IPA. Существует множество вариантов прав доступа к файлам и владельцев, которые могут быть допустимыми и продолжать работать. Здесь приведены ожидаемые значения для чистой установки IPA. Отклонения фиксируются на уровне WARNING.
Блок кода title json { "source": "ipahealthcheck.ipa.files", "check": "IPAFileCheck", "result": "WARNING", "kw": { "key": "_etc_ipa_ca.crt_mode", "path": "/etc/ipa/ca.crt", "type": "mode", "expected": "0644", "got": "0444", "msg": "Permissions of /etc/ipa/ca.crt are 0444 and should be 0644" } } { "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" } } { "source": "ipahealthcheck.ipa.files", "check": "IPAFileCheck", "result": "WARNING", "uuid": "148fd972-76b5-45ce-b87b-b7069ba017f5", "when": "20350403134616Z", "duration": "0.002585", "kw": { "key": "_var_log_apache2_error.log_owner", "path": "/var/log/apache2/error.log", "type": "owner", "expected": "root", "got": "user", "msg": "Ownership of /var/log/apache2/error.log is user and should be root" } } { "source": "ipahealthcheck.ipa.files", "check": "IPAFileCheck", "result": "WARNING", "uuid": "3caf9c40-fd40-4ad6-8ccf-6188daa93873", "when": "20350403134616Z", "duration": "0.002660", "kw": { "key": "_var_log_apache2_error.log_group", "path": "/var/log/apache2/error.log", "type": "group", "expected": "adm", "got": "user", "msg": "Group of /var/log/apache2/error.log is user and should be adm" } }
- ipahealthcheck.ipa.host
Выполняет проверку, связанную с аутентификацией текущего хоста, включая проверку корректности файла keytab для различных служб (LDAP, HTTP, DNS и др.).Раскрыть title Проверки в источнике ipahealthcheck.ipa.host IPAHostKeytab
Обеспечивает, что keytab для службы host (обычно
/etc/krb5.keytab) существует на сервере и позволяет получить TGT через GSSAPI.Блок кода title json { "source": "ipahealthcheck.ipa.host", "check": "IPAHostKeytab", "severity": 2, "uuid": "123e4567-e89b-12d3-a456-426614174000", "when": "20250422T102030Z", "duration": 0.015, "kw": { "service": "host", "path": "/etc/krb5.keytab", "msg": "Service host keytab /etc/krb5.keytab does not exist." } }DSKeytab
Обеспечивает, что keytab для службы ldap (обычно
/etc/dirsrv/ds.keytab) существует и позволяет получить билет.Блок кода title json { "source": "ipahealthcheck.ipa.host", "check": "DSKeytab", "result": "ERROR", "uuid": "5ba452bb-f460-489e-adf6-bce7ccd529e3", "when": "20250422214408Z", "duration": "0.000053", "kw": { "service": "ldap", "path": "/etc/dirsrv/ds.keytab", "msg": "Service {service} keytab {path} does not exist." } }HTTPKeytab
Обеспечивает, что keytab для службы HTTP (обычно
/var/lib/ipa/gssproxy/http.keytab) существует и позволяет получить TGT для аутентификации веб‑сервера.Блок кода title json { "source": "ipahealthcheck.ipa.host", "check": "HTTPKeytab", "result": "ERROR", "uuid": "75320965-ac11-41ed-8375-fb96f0dfd636", "when": "20250422215025Z", "duration": "0.000071", "kw": { "service": "HTTP", "path": "/var/lib/ipa/gssproxy/http.keytab", "msg": "Service {service} keytab {path} does not exist." } }DNSKeytab
Проверяет, что keytab для службы DNS (обычно
/etc/bind/krb5.keytab) существует и может получить TGT, но только если на хосте настроен DNS‑сервер IPA. При отсутствии записи вdns_server_serverпроверка пропускается.Блок кода title json { "source": "ipahealthcheck.ipa.host", "check": "DNSKeytab", "result": "ERROR", "uuid": "01a7db34-4567-4126-b761-93030e5a61ff", "when": "20250422215654Z", "duration": "0.000171", "kw": { "service": "DNS", "path": "/etc/bind/krb5.keytab", "msg": "Service {service} keytab {path} does not exist." } }DNS_keysyncKeytab
Проверяет, что keytab для службы ipa-dnskeysyncd (обычно
/etc/ipa/dnssec/ipa-dnskeysyncd.keytab) существует и позволяет получить TGT, но только если хост настроен как DNS‑сервер IPA. При отсутствии записи вdns_server_serverпроверка пропускается.Блок кода title json { "source": "ipahealthcheck.ipa.host", "check": "DNS_keysyncKeytab", "result": "ERROR", "uuid": "7c6f7fcf-a35f-45c5-ad57-dbc2f273973e", "when": "20250422215025Z", "duration": "0.000095", "kw": { "service": "ipa-dnskeysyncd", "path": "/etc/ipa/dnssec/ipa-dnskeysyncd.keytab", "msg": "Service {service} keytab {path} does not exist." } }
...