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

Ключ

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

...

Информация
titleТерминология

В таблице перечислены все специальные термины и аббревиатуры, применяемые в статье, с их пояснениями.

ТерминПояснение 
Источник (source)

Модуль или пространство имён для сбора данных (например, ipahealthcheck.ipa.certs). Полный список источников см. Обзор источников и проверок для диагностики и мониторинга FreeIPA.

Проверка (check)

Конкретная проверка в рамках источника (например, IPADNSSystemRecordsCheck). Полный список проверок см. Обзор источников и проверок для диагностики и мониторинга FreeIPA.

Якорь
CLI
CLI

 CLI

Аббревиатура от Command Line Interface.
Текстовый интерфейс для взаимодействия с операционной системой или программой через ввод команд в консоли, без использования графических элементов.

Якорь
CS
CS
CS

Аббревиатура от Certificate System.
В контексте DogTag это подсистема, отвечающая за работу центра сертификации и связанных сервисов.

Якорь
CA
CA
CA

Аббревиатура от Certificate Authority.
В контексте DogTag это подсистема, отвечающая за выпуск, подпись и отзыв цифровых сертификатов, а также публикацию списков отозванных сертификатов (CRL) и работу OCSP-ответчика.

Якорь
CRL
CRL
CRL

Аббревиатура от Certificate Revocation List
Периодически публикуемый центром сертификации (CA) файл, содержащий список отозванных цифровых сертификатов, срок доверия к которым прекращён.

Якорь
CA
CA
KRA

Аббревиатура от Key Recovery Authority.
В контекстеDogTag это подсистема, обеспечивающая архивирование и восстановление закрытых ключей пользователей: при запросе сертификата приватный ключ шифруется и сохраняется в KRA, что позволяет восстановить доступ к данным, если оригинальный ключ утерян.

Якорь
DSLE
DSLE
DSBLE, DSCLE, DSDSLE и т.д.

Аббревиатуры от Directory Server <сокращенное название проверки> Lint Error.
Это специальный тип ошибки, который используется в механизме проверок 389-DS для описания несоответствий конфигурации и ACI (Access Control Instructions) в LDAP-сервере. Он возникает при выполнении команды dsctl <instance> healthcheck, служит для структурированного представления найденных проблем (код ошибки, уровень серьёзности, описание и контекст) для последующего ручного или автоматического их устранения.

Якорь
CScfg
CScfg
CS.cfg

Главный файл конфигурации подсистемы DogTag CS.
Создается при инициализации контроллера ЕПП FreeIPA с центром сертификации DogTag (см. FreeIPA: Подключение центра сертификации DogTag в Astra Linux Common Edition).

В DogTag подсистемы запускаются независимо, каждая со своим CS.cfg:

  • /etc/pki/pki-tomcat/ca/CS.cfg настраивает CA,

  • /etc/pki/pki-tomcat/kra/CS.cfg настраивает KRA.

Якорь
DNS
DNS
DNS

Аббревиатура от Domain Name System.
Иерархическая распределённая система, преобразующая доменные имена в IP-адреса и обратно в Интернете.

Якорь
LDAP
LDAP
LDAP

Аббревиатура от Lightweight Directory Access Protocol.
Протокол прикладного уровня для доступа и управления распределённой каталоговой службой, широко используется для хранения и поиска информации об учётных записях, группах и политиках в сетях.

Якорь
NSS
NSS
NSS

Аббревиатура от Network Security Services
Набор библиотек защитного преобразования, используемых приложениями и сервисами для работы с сертификатами, ключами и безопасными соединениями.

Якорь
DS
DS
DS

Аббревиатура от Directory Server
LDAP-сервер, реализованный на основе проекта 389 Directory Server, обеспечивающий хранение, поиск и модификацию данных каталоговой службы (учётные записи, группы, политики).

Якорь
RUV
RUV
RUV

Аббревиатура от Replica Update Vector.
Набор счётчиков состояния репликации в DS, хранящийся на каждом узле; позволяет определить, какие изменения между всеми участниками топологии уже переданы, а какие ещё нужно синхронизировать.

Якорь
SSL
SSL
Якорь
TLS
TLS
TLS/SSL

Аббревиатура от Transport Layer Security (TLS) и Secure Sockets Layer (SSL).
Протоколы, обеспечивающие защитное преобразование и аутентификацию сетевых соединений в интернете и приложениях.

Якорь
certmonger
certmonger
certmonger

Служба для автоматического управления жизненным циклом сертификатов: генерирует запросы, отслеживает их, обновляет истекающие сертификаты и взаимодействует с центром сертификации для их продления.

Якорь
FQDN
FQDN
FQDN

Аббревиатура от Fully Qualified Domain Name.
Полное доменное имя узла, включающее все уровни DNS-иерархии (например, host.example.com).

Якорь
KDC
KDC
KDC 

Аббревиатура от Key Distribution Center.
Компонент Kerberos, отвечающий за аутентификацию клиентов и выдачу Ticket Granting Tickets и сервисных билетов (TGS)

Якорь
TGT
TGT
TGT

Аббревиатура от Ticket Granting Ticket.
В Kerberos-системе билет, выдаваемый KDC после аутентификации, позволяющий без повторного ввода пароля запрашивать сервисные билеты.

Якорь
DNA
DNA
DNA

Аббревиатура от Distributed Numeric Assignment
Плагин 389 Directory Server, который автоматически распределяет диапазоны POSIX UID/GID между серверами — выделяет каждому мастеру и реплике поддиапазон из общего пространства идентификаторов, обеспечивая их уникальность и отказоустойчивость при создании новых учётных записей и групп

Якорь
keytab
keytab
keytab

Файл “key table” Kerberos, хранящий длинно-срочные ключи одного или нескольких принципалов. Используется сервисами для автоматической аутентификации без ввода пароля.

Якорь
AJP
AJP
AJP

Аббревиатура от Apache JServ Protocol.
Бинарный сетевой протокол для проксирования HTTP-запросов от веб-сервера к серверу приложений (например, Tomcat).

Якорь
ТР
ТР
Топология репликации

Схема взаимосвязей и соглашений репликации между IPA-серверами.

Якорь
AD
AD
AD

Аббревиатура от Active Directory
Cлужба каталогов Microsoft для управления объектами Windows-домена (пользователи, компьютеры, политики). Использует LDAP, Kerberos и DNS для централизованной аутентификации и авторизации.

Якорь
RID
RID
Якорь
SID
SID
RID/SID

RID (Аббревиатура от Relative Identifier)
Относительный идентификатор, присваиваемый объектам при создании и становящийся частью SID.

SID (Аббревиатура от Security Identifier)
Уникальный идентификатор безопасности в Windows AD, состоящий из доменного S-идентификатора и RID

Якорь
IPA
IPA
IPA

Аббревиатура от Identity, Policy, Audit.
Интегрированное решение для централизованного управления удостоверениями, политиками аутентификации и аудита на Linux/UNIX. Основано на LDAP, Kerberos, Dogtag и BIND.

...

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

Параметры в секции [default]

Информация
titleСинтаксис

Значения параметров задаются строками вида <имя_параметра> = <значение>.

  • 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). Полный список источников см. Обзор источников и проверок для диагностики и мониторинга FreeIPA.
  • check:
    Позволяет запустить конкретную проверку внутри выбранного источника, этот параметр используется совместно с source (например, IPADNSSystemRecordsCheck). Полный список проверок см. Обзор источников и проверок для диагностики и мониторинга FreeIPA.

Параметры в секции [excludes]

...

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

Доступные параметры CLI:

  • --list-sources:
    Выводит список доступных источников и проверок, что помогает определить, какие группы тестов доступны в вашей установке.
  • --config=FILE:
    Задает файл конфигурации, который будет использоваться при запуске. Если указать пустую строку, то файл конфигурации не загружается. По умолчанию используется файл /etc/ipahealthcheck/ipahealthcheck.conf.
  • --source=SOURCE:
    Исполняет проверки только из указанного источника или пространства имен (например, ipahealthcheck.ipa.certs). Полный список источников см. Обзор источников и проверок для диагностики и мониторинга FreeIPA.
  • --check=CHECK:
    Позволяет запустить конкретную проверку внутри выбранного источника, этот параметр используется совместно с --source (например, IPADNSSystemRecordsCheck). Полный список проверок см. Обзор источников и проверок для диагностики и мониторинга FreeIPA.
  • --output-type=TYPE:
    Определяет формат вывода результатов. Допустимые значения:
    – json (по умолчанию, машиночитаемый формат),
    – human (удобочитаемый формат для пользователей),
    – prometheus (формат для экспозиции метрик Prometheus).
  • --failures-only:
    При активном использовании этого параметра в вывод будут включены только проверки, завершившиеся предупреждениями, ошибками или критическими сбоями (WARNING, ERROR, CRITICAL). Если вывод идёт в терминал, флаг включается автоматически; при выводе в файл — выключен
  • --all:
    Выводит все результаты проверок, независимо от их уровня. Этот параметр отменяет действие --failures-only.
  • --severity=SEVERITY:
    Позволяет фильтровать вывод по уровню серьезности, чтобы отображались только результаты с заданными уровнями. Допустимые значения:
    – SUCCESS
    – WARNING
    – ERROR
    – CRITICAL
  • --verbose:
    Активирует подробное логирование для получения дополнительной информации о работе инструмента. Эта опция полезна для диагностики, однако при автоматических запусках она может создавать избыточный вывод.
  • --debug:
    Активирует режим отладки, при котором в выводе появляются дополнительные подробности, что полезно для диагностики проблем.
  • --output-file=FILENAME:
    Указывает путь к файлу, в который будет записываться вывод вместо стандартного вывода (stdout).
  • --input-file=FILENAME:
    Позволяет прочитать результаты предыдущего запуска (обычно в формате JSON) и отобразить их в другом формате или просто повторно показать сохранённые данные.
  • --indent=INDENT:
    При использовании JSON-вывода задаёт уровень отступов для форматирования результата.
  • --metric-prefix=PREFIX:
    При использовании формата вывода prometheus задает префикс, который будет добавляться к именам метрик.

...

Предупреждение
titleВажно!

При запуске инструмент сначала загружает параметры из файла конфигурации, затем применяются параметры командной строки. Действуют следующие правила:

  • Любой параметр, указанный в конфигурационном файле, считается уже установленным и не может быть переопределён параметром командной строки.

  • Только те параметры, которых нет в конфигурационном файле, будут считаться и применены из командной строки.

  • Исключение: если загружен другой конфигурационный файл (например, --config=myconf.conf) или отключена загрузка конфигурационного файла совсем (--config=""), тогда логика «первым пришёл» пересчитывается относительно нового (или отсутствующего) файла, и параметры командной строки смогут вступить в силу.

...

Предупреждение
titleВажно!

Запуск службы ipa‑healthcheck.service может завершиться ошибкой (failed) если какая-либо тестовая проверка не выполнена. В этом случае для диагностики следует просмотреть журнал службы с помощью команды:

Command
sudo journalctl -u ipa-healthcheck.service

...

  • ipahealthcheck.dogtag.ca
    Отвечает за диагностику служб центра сертификации DogTag (если DogTag используется). Диагностируются службы CA и FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК].
    Раскрыть
    titleПроверки в источнике ipahealthcheck.dogtag.ca

    DogtagCertsConfigCheck

    Сравнивает значение сертификатов центра сертификации (а также FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], если установлен) с значением, найденным в файле 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

    Информация
    titleСправка

    Команда ipa cert-show отображает полную информацию о сертификате из IPA-CA по его серийному номеру: метаданные и сам сертификат в PEM-формате.

    Выполняет эквивалент команды "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.disk_space
    Проверяет состояние свободного места на дисках, особенно на критичных разделах, таких как каталоги логов или резервных копий, чтобы предупредить о риске переполнения.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ds.disk_space

    DiskSpaceCheck

    Проверяет свободное место на ключевых томах DS и выдаёт ERROR, если свободного объёма меньше 1 024 МБ или свободного пространства менее 20 % 20%, и CRITICAL, если свободного пространства остаётся менее 10 % 10%.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.disk_space",
      "check": "DiskSpaceCheck",
      "result": "CRITICAL",
      "uuid": "908d8cb4-988a-4c82-a00e-38716987ae16",
      "when": "20250421070353Z",
      "duration": "0.016273",
      "kw": {
        "key": "DSDSLE0001",
        "items": [
          "Server",
          "cn=config"
        ],
        "msg": "The disk partition used by the server (/), either for the database, the\nconfiguration files, or the logs is over 90% full.  If the partition becomes\ncompletely filled serious problems can occur with the database or the server's\nstability."
      }
    }
    
  • ipahealthcheck.ds.dse
    Проверяет рассинхронизацию времени между репликами FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК].
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ds.dse

    DSECheck

    Контролирует рассинхронизацию времени между репликами FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], считывая атрибут nsState из dse.ldif; выдаёт ERROR, если расхождение превышает 12 часов, и CRITICAL, когда оно выходит за предел 24 часов.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.dse",
      "check": "DSECheck",
      "result": "CRITICAL",
      "uuid": "ecc2c131-b86a-4851-a156-c304d77ebb0b",
      "when": "20230822183329Z",
      "duration": "0.012828",
      "kw": {
        "key": "DSSKEWLE0003",
        "items": [
          "Replication",
          "dc=DOMAIN,dc=DOMAIN,dc=DOMAIN",
          "Time Skew",
          "Skew: 30145 days, 2 hours, 20 minutes, 16 seconds"
        ],
        "msg": "The time skew is over 24 hours.  Setting nsslapd-ignore-time-skew\nto "on" on each replica will allow replication to continue, but if the\ntime skew continues to increase other serious replication problems can\noccur."
    }
  • ipahealthcheck.ds.encryption
    Анализирует настройки защитных преобразований.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ds.encryption

    EncryptionCheck

    Проверяет, что в разделе cn=encryption,cn=config атрибут sslVersionMin задаёт минимальную версию FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК] не ниже 1.2; если версия ниже порога, возвращает ERROR, а при отсутствии раздела или невозможности подключиться к экземпляру FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]CRITICAL.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.encryption",
      "check": "EncryptionCheck",
      "result": "ERROR",
      "uuid": "d96da377-9133-4fc4-ab4e-e30d7c4ea41b",
      "when": "20250422154500Z",
      "duration": "0.017686",
      "kw": {
        "key": "DSELE0001",
        "items": [
          "cn=encryption,cn=config"
        ],
        "msg": "This Directory Server may not be using strong TLS protocol versions. TLS1.0 is known to\nhave a number of issues with the protocol. Please see:\n\nhttps://tools.ietf.org/html/rfc7457\n\nIt is advised you set this value to the maximum possible."
      }
    }
  • ipahealthcheck.ds.ds_plugins
    Отвечает за проверку дополнительных плагинов FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑сервера.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ds.ds_plugins

    RIPluginCheck

    Проверяет, что у плагина Referential Integrity плагина Referential Integrity параметр nsslapd‑referint‑update‑delay равен 0 (синхронный режим) и что для каждого атрибута из referint‑membership‑attr во всех пользовательских базах данных существует индекс равенства (nsIndexType=eq).

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.ds_plugins",
      "check": "RIPluginCheck",
      "result": "WARNING",
      "uuid": "85048bc3-bdc7-4423-9577-fedb9fb5b04a",
      "when": "20210328044440Z",
      "duration": "0.192629",
      "kw": {
        "key": "DSRILE0001",
        "items": [
          "cn=referential integrity postoperation,cn=plugins,cn=config"
        ],
        "msg": "The referential integrity plugin has an asynchronous processing mode.\nThis is controlled by the update-delay flag.  When this value is 0, referential\nintegrity plugin processes these changes inside of the operation that modified\nthe entry - ie these are synchronous.\n\nHowever, when this is > 0, these are performed asynchronously.\n\nThis leads to only having referint enabled on one supplier in MMR to prevent replication conflicts and loops.\nAdditionally, because these are performed in the background these updates may cause spurious update\ndelays to your server by batching changes rather than smaller updates during sync processing.\n\nWe advise that you set this value to 0, and enable referint on all suppliers as it provides a more predictable behaviour.\n"
      }
    }
  • ipahealthcheck.ds.replication
    Контролирует репликацию данных между серверами, проверяя синхронизацию данных и анализируя журналы изменений.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ds.replication

    ReplicationCheck

    Проверяет все объекты nsDS5ReplicationAgreement во всех репликационных репозиториях FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]: убеждается, что состояние соглашения (nsds5replicaEnabled=on, nsds5replicaLastUpdateStatus=0) и канал связи к удалённому хосту исправны, что счётчик отставания (FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]) синхронизирован и нет поломанных либо отключённых соглашений. Также проверяет репликацию на конфликты.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.replication",
      "check": "ReplicationCheck",
      "result": "CRITICAL",
      "uuid": "4e0472b9-bc3a-495e-a15a-55c5788e665d",
      "when": "20250422165825Z",
      "duration": "0.204692",
      "kw": {
        "key": "DSREPLLE0001",
        "items": [
          "Replication",
          "Agreement"
        ],
        "msg": "The replication agreement (metoipacln.testdomain.test) under \"dc=testdomain,dc=test\" is not in synchronization."
      }
    }

    ReplicationChangelogCheck

    Проверяет, что у журнала репликации cn=changelog5,cn=config включен trimming (задан хотя бы один из параметров nsslapd‑changelogmaxage, nsslapd‑changelogmaxentries  nsslapd‑changelogmaxentries или nsslapd‑changelogtrim‑interval); при отсутствии trimming выдаёт отчёт DSCLLE0001.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.replication",
      "check":  "ReplicationChangelogCheck",
      "result": "WARNING",                 
      "uuid":   "c7f7a268-2c1b-4d7b-9e5a-6133ff4b0c1e",
      "when":   "20250422T103259Z",        
      "duration": "0.000214",
      "kw": {
        "key":   "DSCLLE0001",
        "items": [
    	  "cn=changelog5,
           cn=config"
        ],
        "msg": "The replication changelog does not have any kind of trimming configured. "
               "This will cause the changelog to grow indefinitely, potentially exhausting disk space. "
      }
    }
  • ipahealthcheck.ds.ruv
    Следит за корректностью записей FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], необходимых для правильной работы репликации.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ds.ruv

    RUVCheck

    Извлекает текущий (локальный) RUV для основного FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑суффикса и для суффикса Dogtag CA и возвращает их как единичные значения.

    Блок кода
    titlejson
    { 
      "source": "ipahealthcheck.ds.ruv",
      "check": "RUVCheck",
      "result": "SUCCESS",
      "uuid": "9875d929-c813-4a91-b757-57798fc5aaff",
      "when": "20250421034249Z",
      "duration": "0.002770",
      "kw": {
        "key": "dc=testdomain,dc=test",
        "ruv": "4"
      }
    }

    KnownRUVCheck

    Сканирует записи из tombstone, содержащие атрибут nsds50ruv, извлекает из них все известные RUV для каждого суффикса и возвращает список кортежей (host, replicaID), что помогает выявить устаревшие записи репликации.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ds.ruv",
      "check": "KnownRUVCheck",
      "result": "SUCCESS",
      "uuid": "95da5759-5e7d-4260-9d79-01fa9d591b25",
      "when": "20250421034249Z",
      "duration": "0.002467",
      "kw": {
        "key": "ruvs_dc=testdomain,dc=test",
        "suffix": "dc=testdomain,dc=test",
        "ruvs": [
          [
            "ipasrv.testdomain.test",
            "4"
          ],
          [
            "ipacln.testdomain.test",
            "3"
          ]
        ]
      }
    }
  • ipahealthcheck.ipa.certs
    Содержит набор проверок, связанных с сертификатами FreeIPA: контролирует срок действия сертификатов, проверяет целостность и корректность цепочки доверия, сверяет сертификаты в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-базах и PEM-файлах, а также их соответствие записям в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК].
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ipa.certs

    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]"
      }
    }

    Если FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-база не может быть открыта:

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

    Если отслеживаемый никнейм не найден в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-базе:

    Блок кода
    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).

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

    Блок кода
    titlejson
    {
      "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) сертификатов, полученную от FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], с ожидаемыми значениями. Результат показывает ошибку, если какая-либо часть отслеживания отсутствует или отличается от ожидаемой.

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

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

    Если отслеживается неизвестный сертификат:

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertTracking",
      "result": "WARNING",
      "kw": {
        "key": 1234,
        "msg": "Unknown certmonger id 1234'
      }
    }

    IPACertNSSTrust

    Сравнивает настройки доверия для сертификатов, хранящихся в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-базе, с известным корректным состоянием.

    Блок кода
    titlejson
    {
      "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 совпадают с данными, полученными из FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-базы (или файла).

    Блок кода
    titlejson
    {
      "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, присутствующие как в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-базе, так и в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК].

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

    Информация
    titleСправка

    Команда"certutil -V -u V -e -d [dbdir] -n [nickname]"проверяет указанный сертификат на валидность цепочки доверия и корректность подписи из NSS-базы.

    -d [dbdir] и -n [nickname] — путь к базе и её псевдоним.
    -V -u V -e — валидация по дате/флагам доверия и проверка подписи.

    Проверяет цепочку сертификатов, полученных из FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-базы. Выполняется команда "certutil -V -u V -e -d [dbdir] -n [nickname]".

    Блок кода
    titlejson
    {
      "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. Выполняется команда

    Информация
    titleСправка

    Команда "openssl verify -verbose -show_chain -CAfile /etc/ipa/ca.crt /path/to/cert.pem

    .

    " проверяет цепочку доверия для сертификата /path/to/cert.pem, используя доверенный FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-файл /etc/ipa/ca.crt.

    Проверяет цепочку сертификатов для файлов OpenSSL. Выполняется команда "openssl verify -verbose -show_chain -CAfile /etc/ipa/ca.crt /path/to/cert.pem".

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.
    Блок кода
    titlejson
    {
      "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-агента в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК].

    Блок кода
    titlejson
    {
      "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 для FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]-агента в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК].

    Блок кода
    titlejson
    {
      "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 для определения списка сертификатов, подлежащих проверке.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertRevocation",
      "result": "ERROR",
      "kw": {
        "key": 1234,
        "revocation_reason": "superseded",
        "msg": "Certificate is revoked, superseded"
      }
    }

    IPACertmongerCA

    Проверяет корректность конфигурации CA в FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], анализируя настройки dogtag-ipa-ca-renew-agent и dogtag-ipa-ca-renew-agent-reuse.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertmongerCA",
      "result": "ERROR",
      "kw": {
        "key": "dogtag-ipa-ca-renew-agent",
        "msg": "Certmonger CA 'dogtag-ipa-ca-renew-agent' missing"
      }
    }

    IPACertDNSSAN

    Проверяет, что во всех действующих заявках certmonger на серверные сертификаты профиля caIPAserviceCert для CA присутствует FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑Subject Alt Name, совпадающий с FQDN текущего хоста.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "IPACertDNSSAN",
      "result": "ERROR",
      "uuid": "431c42c0-9396-4593-ad2b-09b40298ba1f",
      "when": "20240416115958Z",
      "duration": "0.904624",
      "kw": {
        "key": "20240318110910",
        "hostname": "ipa-ca.example.com",
        "san": [
          "ipa02.example.com"
        ],
        "ca": "IPA",
        "profile": "caIPAserviceCert",
        "msg": "Certificate request id {key} with profile {profile} for CA {ca} does not have a DNS SAN {san} matching name {hostname}"
      }
    }

    CertmongerStuckCheck

    Ищет заявки FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], у которых статус stuck = true, и оповещает об «застрявших» запросах.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.certs",
      "check": "CertmongerStuckCheck",
      "result": "WARNING",
      "uuid": "d32781d5-09e7-4d52-89f1-57eca541e9e4",
      "when": "20230407120255Z",
      "duration": "0.019584",
      "kw": {
        "key": "20230407091205",
        "msg": "certmonger request {key} is in the stuck state"
      }
    }

...

  • ipahealthcheck.ipa.files
    Проверяет разрешения, владельцев и целостность основных файлов, используемых FreeIPA, таких как конфигурационные файлы и файлы FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑базы.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ipa.files

    IPAFileNSSDBCheck

    IPAFileCheck

    TomcatFileCheck

    Эти проверки проверяют владельца и режим файлов, установленных или настроенных FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]. Существует множество вариантов прав доступа к файлам и владельцев, которые могут быть допустимыми и продолжать работать. Здесь приведены ожидаемые значения для чистой установки FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]. Отклонения фиксируются на уровне WARNING.

    Блок кода
    titlejson
    {
      "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 для различных служб.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ipa.host

    IPAHostKeytab

    Обеспечивает, что keytab для службы host (обычно /etc/krb5.keytab) существует на сервере и позволяет получить TGT через GSSAPI.

    Блок кода
    titlejson
    {
      "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) существует и позволяет получить билет.

    Блок кода
    titlejson
    {
      "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 для аутентификации веб‑сервера.

    Блок кода
    titlejson
    {
      "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) существует и может получить FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], но только если на хосте настроен FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑сервер FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]. При отсутствии записи в dns_server_server проверка пропускается.

    Блок кода
    titlejson
    {
      "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) существует и позволяет получить FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], но только если хост настроен как FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑сервер FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]. При отсутствии записи в dns_server_server проверка пропускается.

    Блок кода
    titlejson
    {
      "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."
      }
    }
  • ipahealthcheck.ipa.kdc
    Следит за состоянием рабочих процессов FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], необходимых для работы аутентификации.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ipa.kdc

    KDCWorkersCheck

    Проверяет, что в файле/etc/default/krb5-kdc kdc в параметре KRB5KDC_ARGS указано число рабочих процессов (-w N), совпадающее с количеством онлайн‑ядер CPU на хосте. Если -w не задан и ядер больше одного, выдается предупреждение; если KRB5KDC_ARGS не найден, тоже предупреждение.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.kdc",
      "check": "KDCWorkersCheck",
      "result": "WARNING",
      "uuid": "e2e667d0-83ac-41f7-8e71-8c5bc6a1397c",
      "when": "20250422221706Z",
      "duration": "0.000664",
      "kw": {
        "key": "workers",
        "cpus": 2,
        "workers": 4,
        "sysconfig": "/etc/default/krb5-kdc",
        "msg": "The number of CPUs {cpus} does not match the number of workers {workers} in {sysconfig}"
      }
    }
  • ipahealthcheck.ipa.meta
    Собирает общую информацию о сервере FreeIPA.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ipa.meta

    IPAMetaCheck

    Вызывает внутренний API FreeIPA для получения списка всех зарегистрированных FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑серверов и возвращает их метаданные простым массивом имён мастеров. Если при вызове возникает любое исключение, генерируется ошибка с кодом ERROR.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.meta",
      "check": "IPAMetaCheck",
      "result": "SUCCESS",
      "uuid": "0923fc34-6c27-4cfd-8cd0-04f30b8ec74e",
      "when": "20250422222216Z",
      "duration": "0.015272",
      "kw": {
        "masters": [
          "ipacln.testdomain.test",
          "ipasrv.testdomain.test"
        ]
      }
    }

...

  • ipahealthcheck.ipa.topology
    Проводит проверки топологии репликации и сетевой конфигурации.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ipa.topology

    Проверки топологии для проверки соответствия как рекомендациям, так и выявления ошибок.

    IPATopologyDomainCheck

    Информация
    titleСправка

    Команда "ipa topologysuffix-verify [suffix]" проверяет целостность топологии репликации для указанного суффикса.

    Предоставляет эквивалент команды: "ipa topologysuffix-verify [suffix]".

    При сбое возвращает обнаруженные ошибки, такие как ошибки подключения или слишком большое количество репликационных соглашений.

    При успешном выполнении возвращаются настроенные домены.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.topology",
      "check": "IPATopologyDomainCheck",
      "result": "SUCCESS",
      "kw": {
        "suffix": "domain"
      }
    },
    {
      "source": "ipahealthcheck.ipa.topology",
      "check": "IPATopologyDomainCheck",
      "result": "SUCCESS",
      "kw": {
        "suffix": "ca"
      }
    }
  • ipahealthcheck.ipa.trust
    Отвечает за диагностику доверительных отношений с FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], проверяя настройки доверительных-агентов, списки доверенных доменов, корректность конфигураций принципалов, членство в группах и наличие необходимых пакетов.
    Раскрыть
    titleПроверки в источнике ipahealthcheck.ipa.trust

    Проверка общих проблем конфигурации доверительных отношений FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК].
    Проверки вернут статус SUCCESS, если система не настроена как агент доверия или контроллер.

    IPATrustAgentCheck

    Проверка конфигурации sssdSSSD, когда машина настроена в качестве агента доверия.

    Параметр provider должен иметь значение ipa, а ipa_server_mode – быть установлен в true.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustAgentCheck",
      "severity": ERROR,
      "kw": {
        "key": "ipa_server_mode_false",
        "attr": "ipa_server_mode",
        "sssd_config": "/etc/sssd/sssd.conf",
        "domain": "ipa.example.com",
        "msg": "{attr} is not True in {sssd_config} in the domain {domain}"
      }
    }

    IPATrustDomainsCheck

    Информация
    titleСправка

    Команда "sssctl domain-list" выводит список всех доменов, к которым SSSD подключён, включая доверенные домены.

    Проверяет, что домен IPA присутствует в выводе команды "sssctl domain-list", а домены доверия совпадают с доменами, указанными в SSSD.

    Если списки доменов не совпадают:

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustDomainsCheck",
      "result": "ERROR",
      "kw": {
        "key": "domain-list",
        "sslctl": "/usr/sbin/sssctl",
        "sssd_domains": "ad.vm",
        "trust_domains": "",
        "msg": "{sslctl} {key} reports mismatch: sssd domains {sssd_domains} trust domains {trust_domains}"
      }
    }

    IPATrustCatalogCheck

    Информация
    titleСправка

    Команда "sssctl domain-status" проверяет доступность и состояние указанного домена SSSD на клиенте.

    Проверка, разрешающая имя пользователя FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК], например, Administrator@REALM. Эта операция заполняет значения глобального каталога AD и контроллера домена AD в выводе команды "sssctl domain-status".

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustCatalogCheck",
      "result": "ERROR",
      "kw": {
        "key": "AD Global Catalog",
        "output": "Active servers:\nAD Domain Controller: root-dc.ad.vm\nIPA: ipa.example.com",
        "sssctl": "/usr/sbin/sssctl",
        "domain": "ad.vm",
        "msg": "{key} not found in {sssctl} 'domain-status' output: {output}"
      }
    }

    IPAsidgenpluginCheck

    Проверяет, что плагин sidgen включен в экземпляре IPA 389-ds.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPAsidgenpluginCheck",
      "result": "ERROR",
      "kw": {
        "key": "IPA SIDGEN",
        "error": "no such entry",
        "msg": "Error retrieving 389-ds plugin {key}: {error}"
      }
    }

    IPATrustAgentMemberCheck

    Проверяет, что текущий хост является членом группы cn=adtrust agents,cn=sysaccounts,cn=etc,SUFFIX.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustAgentMemberCheck",
      "result": "ERROR",
      "kw": {
        "key": "ipa.example.com",
        "group": "adtrust agents",
        "msg": "{key} не является членом {group}"
      }
    }

    IPATrustControllerPrincipalCheck

    Проверяет, что основной cifs-принципал текущего хоста является членом группы cn=adtrust agents,cn=sysaccounts,cn=etc,SUFFIX.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustControllerPrincipalCheck",
      "result": "ERROR",
      "kw": {
        "key": "cifs/ipa.example.com@EXAMPLE.COM",
        "group": "adtrust agents",
        "msg": "{key} is not a member of {group}"
      }
    }

    IPATrustControllerServiceCheck

    Проверяет, что на текущем хосте запущена служба ADTRUST в рамках ipactl.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustControllerServiceCheck",
      "result": "ERROR",
      "kw": {
        "key": "ADTRUST",
        "msg": "{key} service is not enabled"
      }
    }

    IPATrustControllerConfCheck

    Информация
    titleСправка

    Команда "net conf list" выводит все параметры конфигурации Samba, хранящиеся в реестре, в формате, похожем на smb.conf.

    Проверяет, что для backend passdb в выводе команды "net conf list включён " включён ldapi.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustControllerConfCheck",
      "result": "ERROR",
      "kw": {
        "key": "net conf list",
        "got": "",
        "expected": "ipasam:ldapi://%2fvar%2frun%2fslapd-EXAMPLE-COM.socket",
        "option": "passdb backend",
        "msg": "{key} option {option} value {got} doesn't match expected value {expected}"
      }
    }

    IPATrustControllerGroupSIDCheck

    Проверяет, что SID группы администраторов заканчивается на 512 (RID для Domain Admins).

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustControllerGroupSIDCheck",
      "result": "ERROR",
      "kw": {
        "key": "ipantsecurityidentifier",
        "rid": "S-1-5-21-1078564529-1875285547-1976041503-513",
        "msg": "{key} is not a Domain Admins RID"
      }
    }

    IPATrustPackageCheck

    Если система не является контроллером доверия и доверительные отношения AD включены, проверяется наличие установленного пакета trust‑ad.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustPackageCheck",
      "result": "WARNING",
      "kw": {
        "key": "adtrustpackage",
        "msg": "trust-ad sub-package is not installed. Administration will be limited."
      }
    }

    IPADomainCheck

    Проверяет, что провайдер домена IPA в SSSD настроен на использование «ipa»: читает секцию домена для текущего FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑домена в файле /etc/sssd/sssd.conf, убеждается, что в ней присутствуют опции id_provider, auth_provider, chpass_provider и access_provider, и что их значение равно "ipa"; в противном случае возвращает ERROR, а при успешной проверке — SUCCESS.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPADomainCheck",
      "result": "SUCCESS",
      "uuid": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
      "when": "20220427190310Z",
      "duration": "0.012345",
      "kw": {
        "key": "domain-check"
      }
    }

    IPATrustControllerAdminSIDCheck

    Проверяет, что SID учётной записи admin в доверенном контроллере завершает­ся на 500: выполняет FreeIPA Health Check. Обзор функциональных возможностей. [ЧЕРНОВИК]‑запрос к записи uid=admin, атрибуту ipantsecurityidentifier, и возвращает ERROR, если идентификатор отсутствует или не оканчивается на 500 (с ключом ipantsecurityidentifier и полем rid), иначе — SUCCESS.

    Блок кода
    titlejson
    {
      "source": "ipahealthcheck.ipa.trust",
      "check": "IPATrustControllerAdminSIDCheck",
      "result": "ERROR",
      "uuid": "d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f90",
      "when": "20250422101530Z",
      "duration": "0.018234",
      "kw": {
        "key": "ipantsecurityidentifier",
        "rid": "S-1-5-21-123456789-123456789-123456789-501",
        "msg": "ipantsecurityidentifier is not a Domain Admin RID"
      }
    }

...