Контроль целостности
Контроль целостности файлов СУС и сенсоров выполняется службой integrity-server. Служба входит в состав eSensor и устанавливается совместно с соответствующими компонентами изделия.
Сервер контроля целостности предназначен для:
-
хранения сведений о контролируемых объектах;
-
расчета и проверки их контрольных сумм;
-
регистрации нарушений целостности.
Администратор может инициировать проверку целостности отдельной записи, группы записей или сервиса, сведения о которых зарегистрированы на сервере контроля целостности.
Объекты контроля целостности СУС
На сервере контроля целостности, размещенном на одной машине с СУС, автоматически создаются группы записей для контроля объектов, приведенных в таблице 21.
Таблица 21 – Группы записей контролируемых объектов СУС
| Группа записей | Контролируемый объект | Путь |
|---|---|---|
| main_config_<uuid_СУС> – уникальный идентификатор установленного экземпляра СУС | Конфигурационный файл СУС. | /opt/echelon/ids-backend/config.yaml |
| repositories_path_<uuid_СУС> | Репозитории групп правил, базы GeoIP и индикаторов компрометации. | /var/opt/echelon/ids-backend/repositories |
| executable_path_<uuid_СУС> | Исполняемый файл СУС. | /opt/echelon/ids-backend/ids-backend |
Объекты контроля целостности сенсоров
После установки каждого сенсора на сервере контроля целостности, размещенном на одной машине с данным сенсором, автоматически создаются группы записей для контроля объектов, приведенных в таблице 22.
Таблица 22 – Группы записей контролируемых объектов сенсоров
| Группа записей | Контролируемый объект | Путь |
|---|---|---|
| main_config_<uuid_сенсора> | Статический конфигурационный файл сенсора. | /opt/echelon/ids-backend/config.yaml |
| dynamic_configs_<uuid_сенсора> | Динамические конфигурационные файлы сенсора. | /var/opt/echelon/ids-sensor-<порт_сенсора>/dynamic-configs/* |
| suricata_rules_path_<uuid_сенсора> | Загруженные правила Suricata. | /var/opt/echelon/ids-sensor-<порт_сенсора>/rules/ suricata/** |
| suricata_datasets_path_<uuid_сенсора> | Загруженные списки индикаторов компрометации. | /var/opt/echelon/ids-sensor-<порт_сенсора>/suricata-datasets/** |
| executable_path_<uuid_сенсора> | Исполняемый файл сенсора. | /opt/echelon/ids-sensor/ids-sensor |
Проверка целостности
Управление работой сервера контроля целостности осуществляется в локальной консоли управления с помощью утилиты integrity-cli.
Проверка выполняется на машине, где установлен контролируемый компонент и доступен соответствующий сервер контроля целостности.
Подробное описание работы с данной утилитой можно получить, вызвав справку (рис. 10) с помощью команды: /opt/echelon/integrity/integrity-cli.

Рис. 10 – Справка утилиты контроля целостности
Запуск проверки целостности
Для запуска проверки следует выполнить следующие действия:
-
установить SSH-соединение с машиной, на которой размещен контролируемый компонент;
-
проверить службу контроля целостности, выполнив команду:
sudo systemctl status integrity-server.service;
-
получить перечень групп и текущее состояние: /opt/echelon/integrity/integrity-cli get service --id <uuid_сервиса>. В выводе отображается (рис. 11) состояние сервиса, группы записей, контролируемые пути, настройки хэширования и идентификаторы групп.
-
сохранить uuid нужной группы, если требуется выборочная проверка;

Рис. 11 – Отображение состояния сервиса
- для проверки всего сервиса следует выполнить команду:
/opt/echelon/integrity/integrity-cli verify service --id <uuid_сервиса>
- для проверки отдельной группы записей следует выполнить команду:
/opt/echelon/integrity/integrity-cli verify group --id <uuid_группы>
- проверка целостности сервиса считается пройденной (статус OK), если все файлы прошли проверку, иначе проверка считается проваленной (статус FAIL).
Обработка результатов проверки
При обнаружении несоответствия фактической контрольной суммы сохраненному значению сервер контроля целостности регистрирует нарушение целостности соответствующего объекта.
Обнаружение нарушения целостности не препятствует запуску и дальнейшей работе службы СУС или сенсора. Автоматическая блокировка запуска компонентов eSensor по результатам проверки целостности не выполняется.
Пользователю с ролью «Администратор» необходимо проанализировать зарегистрированное нарушение и определить причину изменения файла.
В случае выявления несанкционированного нарушения целостности системных файлов необходимо восстановить работоспособность eSensor из резервной копии в соответствии с процедурой, приведенной в разделе «Резервное копирование» этой документации.
Обработка штатных изменений
Следующие контролируемые объекты могут изменяться средствами eSensor в процессе штатной эксплуатации:
-
репозитории групп правил;
-
база GeoIP;
-
индикаторы компрометации;
-
динамические конфигурационные файлы сенсоров;
-
правила Suricata;
-
списки индикаторов компрометации сенсоров.
При изменении таких объектов средствами eSensor сервер контроля целостности автоматически обновляет сохраненные контрольные суммы. Данные изменения считаются штатными и не регистрируются как нарушения целостности.
Отображение нарушений целостности
Сервер контроля целостности СУС интегрирован с подсистемой мониторинга состояния eSensor. Сведения о нарушениях целостности учитываются при формировании общего индикатора состояния компонентов, отображаемого в веб-интерфейсе (раздел «Иконки интерфейса» этой документации).
При обнаружении нарушения целостности информация о проблеме отображается в перечне актуальных проблем. В зависимости от установленного уровня такая проблема может изменить цвет общего индикатора состояния на желтый или красный.
После закрытия или устранения проблемы общее состояние eSensor пересчитывается автоматически.