FreeIPA Health Check – утилита для диагностики работоспособности сервера FreeIPA.
Её основное назначение – автоматическая проверка корректности настроек, безопасности, доступности репликации и работы сервисов FreeIPA.
Программа предназначена для администраторов, требующих быстрой диагностики и своевременного обнаружения неисправностей.
Цели использования:
Обеспечение устойчивости работы серверов FreeIPA.
Выявление потенциальных ошибок в настройке.
Контроль состояния репликации и конфигурации Kerberos.
Своевременное оповещение о сбоях и нарушениях в системе.
Запуск утилиты производится на настроенном контроллере ЕПП FreeIPA. Порядок установки см. в статье:
Также утилита может проверять корректность работы реплик и доверительных отношений. Порядок установки см. в статьях:
Пакет freeipa-healthcheck входит в репозитории Astra Linux. Установить необходимый пакет можно используя Графический менеджер пакетов synaptic, или из командной строки:
sudo apt install freeipa-healthcheck |
После установки будут созданы конфигурационный файл /etc/ipahealthcheck/ipahealthcheck.conf и службы ipa-healthcheck.service и ipa-healthcheck.timer в systemd.
Файл конфигурации разделён как минимум на два раздела:
Параметры в разделе [default]
Параметры в разделе [excludes]
|
Пример готовой конфигурации может выглядеть так:
[default] cert_expiration_days = 7 timeout = 25 output_type = json output_file = /var/log/ipa-health.log indent = 2 verbose = True severity = ERROR CRITICAL debug = False [excludes] source = ipahealthcheck.ipa.certs check = IPADNSSystemRecordsCheck |
Также все параметры конфигурации поддерживаются в виде аргументов командой строки.
Аргументы командной строки
|
Пример готовых команд может выглядеть так:
sudo ipa-healthcheck --source=ipahealthcheck.ipa.certs --check=IPACertExpirationCheck --severity=ERROR --severity=CRITICAL --failures-only --output-type=human |
sudo ipa-healthcheck --config=/etc/ipahealthcheck/myconfig.conf --output-file=/var/log/ipa/healthcheck/healthcheck.log --indent=4 --verbose --debug |
sudo ipa-healthcheck --source=ipahealthcheck.ipa.topology --check=IPATopologyDomainCheck --output-type=prometheus --metric-prefix=ipa_health |
При запуске инструмент сначала загружает опции из файла конфигурации, затем применяются опции командной строки. |
После установки пакета в systemd появятся два системных юнита:
Порядок настройки таймеров в Astra Linux см. в статье:
Запуск таймера в системе производится так:
sudo systemctl enable ipa-healthcheck.timer && systemctl start ipa-healthcheck.timer |
Эта команда включает автоматический запуск таймера и инициирует его немедленный старт.
В файле /usr/libexec/ipa/ipa-healthcheck.sh можно указать, с какими параметрами командной строки будет запускаться служба ipa-healthcheck.service:
#!/bin/sh LOGDIR=/var/log/ipa/healthcheck /usr/bin/ipa-healthcheck --output-file $LOGDIR/healthcheck.log --source=ipahealthcheck.ipa.certs --check=IPACertExpirationCheck --severity=ERROR --severity=CRITICAL |
Кроме передачи опций через командную строку, параметры работы ipa‑healthcheck можно задать и в конфигурационном файле. См. Конфигурация и интеграция
Запуск юнита ipa‑healthcheck.service через systemd может завершиться статусом failed, если какая-либо тестовая проверка не выполнена. В этом случае утилита возвращает ненулевой код, а для диагностики стоит просмотреть логи с помощью команды:
|
Программа поддерживает следующие проверки:
DogtagCertsConfigCheck Сравнивает значение сертификатов центра сертификации (а также KRA, если установлен) с значением, найденным в файле CS.cfg. Если значения не совпадают, то, вероятно, CS не сможет запуститься.
DogtagCertsConnectivityCheck Выполняет эквивалент команды
|
ReplicationConflictCheck Ищет записи в LDAP, соответствующие фильтру (&(!(objectclass=nstombstone))(nsds5ReplConflict=*))
|
IPACertmongerExpirationCheck Перебирает все ожидаемые запросы certmonger и проверяет срок действия сертификата, основываясь на информации, которой располагает certmonger. Если сертификат истекает в пределах cert_expiration_days (по умолчанию 28 дней), выдается предупреждение. Истекший сертификат:
Сертификат, истекающий скоро:
IPACertfileExpirationCheck Похожа на IPACertmongerExpirationCheck, но сертификат извлекается из PEM-файла или базы NSS и повторно проверяется. Это используется в случае, если сведения certmonger устарели по сравнению с сертификатом, находящимся на диске. Если файл сертификата не может быть открыт:
Если NSS-база не может быть открыта:
Если отслеживаемый никнейм не найден в NSS-базе:
Истекший сертификат:
Сертификат, истекающий скоро:
IPACAChainExpirationCheck Сертификат, истекающий скоро:
Истекший сертификат:
IPACertTracking Если отслеживание отсутствует: json json json json json json json json json json json |
С полным списком можно также ознакомиться при помощи команды:
sudo ipa-healthcheck --list-sources |
1111