Контроль целостности

Контроль целостности (КЦ) представляет собой процесс, направленный на обнаружение и предотвращение несанкционированных изменений или повреждений файлов, которые могут привести к нарушению безопасности и работоспособности системы ARMA Стена.

Контроль целостности осуществляется автоматически при запуске системы и затем каждый час (хх:00:00), а также при выполнении команд «reboot» и «poweroff».

Существует возможность инициировать проверку целостности вручную с помощью команды:

admin@ngfwos:~$ integrity-check run <path/to/file | all>

где:

  • <path/to/file> - путь к контролируемому файлу;

  • <all> - проверить целостность всех контролируемых объектов.

Регистрация событий КЦ

Целостность объекта верифицируется посредством сопоставления его хэша с эталонным значением в базе данных механизма КЦ.

В случае обнаружения несоответствия текущего хэш-значения объекта наблюдения эталонному значению в процессе функционирования системы ARMA Стена, система выведет предупреждающее сообщение и выполнит предусмотренные действия в отношении данного объекта: перейдёт в режим аварийной работы (см. Рисунок – Переход в аварийный режим при нарушении КЦ) или выведет уведомление о нарушении целостности объекта (см. Рисунок – Предупреждение о нарушении КЦ)).

../../../_images/ngfw.ra.integrity-control_1.1.png

Рисунок – Переход в аварийный режим при нарушении КЦ

../../../_images/ngfw.ra.integrity-control_1.2.png

Рисунок – Предупреждение о нарушении КЦ

В случае если при загрузке системы контрольные объекты не пройдут проверку на целостность, то в зависимости от заданного параметра «action», после завершения загрузки будет выведено предупреждение (см. Рисунок – Не удалось выполнить проверку КЦ) или произойдёт переход в аварийный режим (см. Рисунок – Аварийный режим. Не удалось выполнить проверку КЦ).

../../../_images/ngfw.ra.integrity-control_1.3.png

Рисунок – Не удалось выполнить проверку КЦ

../../../_images/ngfw.ra.integrity-control_1.4.png

Рисунок – Аварийный режим. Не удалось выполнить проверку КЦ

Для выявления объекта, который не прошёл проверку КЦ, необходимо ввести в эксплуатационном режиме команду «integrity-check run all». Система выдаст предупреждение и укажет на объект, который не прошёл проверку:

admin@ngfwos:~$ integrity-check run all

Violation checking integrity of file ['/usr/bin/apt']

Файл «apt» не прошёл проверку КЦ. Это событие приведено в качестве примера.

Все события, связанные с функционированием механизма контроля целостности, включая действия администратора, регистрируются в глобальном журнале. Для просмотра этих событий возможно использовать фильтр «arma-endpoint» для глобального журнала:

admin@ngfwos:~$ show logging arma-endpoint

Пересчёт эталонных значений КЦ

Предусмотрено два механизма пересчёта эталонных значений КЦ: автоматический и ручной.

Автоматический пересчёт эталонных значений КЦ

Автоматический пересчет эталонных значений КЦ выполняется после каждой команды «save».

Примечание

В аварийном режиме работы системы автоматический пересчёт эталонных значений КЦ не производится.

Ручной пересчёт эталонных значений КЦ

Для пересчёта эталонных значений контроля целостности необходимо ввести команду:

admin@ngfwos:~$ integrity-control update <path/to/file | all>

где:

  • <path/to/file> - путь к объекту, для которого необходимо пересчитать эталонное значение;

  • <all> - пересчёт эталонных значений для всех контролируемых объектов.

Примечание

Право на выполнение команды пересчёта эталонных значений для контроля целостности предоставлено исключительно встроенной учетной записи «admin».

Настройка списка объектов КЦ

Для вывода списка контролируемых объектов необходимо ввести следующую команду:

admin@ngfwos:~$ integrity-check list

Список контролируемых объектов по умолчанию (см. Таблица «Список контролируемых объектов по умолчанию»):

Таблица «Список контролируемых объектов по умолчанию»

Действие

Объект

emergency

/config/config.boot

emergency

/opt/ngfwos/etc/config.boot.default

emergency

/opt/ngfwos/etc/config.boot.ssh_dhcp

emergency

/opt/ngfwos/etc/config.boot.ssh_dhcp_static_ips

notify

/boot/initrd.img

notify

/boot/initrd.img-6.6.54-amd64-vyos

notify

/boot/vmlinuz

notify

/boot/vmlinuz-6.6.54-amd64-vyos

notify

/etc/containers/containers.conf

notify

/etc/containers/registries.conf

notify

/etc/containers/storage.conf

notify

/etc/curlrc

notify

/etc/hosts

notify

/etc/logrotate.d/vyos-rsyslog

notify

/etc/modprobe.d/vyatta_nf_conntrack.conf

notify

/etc/motd

notify

/etc/nginx/sites-enabled/default

notify

/etc/nginx/sites-enabled/ngfw-web.conf

notify

/etc/nsswitch.conf

notify

/etc/resolv.conf

notify

/etc/rsyslog.d/00-vyos.conf

notify

/etc/ssh/ssh_config.d/91-ngfwos-ssh-client-options.conf

notify

/etc/systemd/journald.conf

notify

/home/admin/.ssh/authorized_keys

notify

/usr/bin/

notify

/usr/bin/все файлы каталога

notify

/usr/lib/live/mount/persistence//boot/grub/grub.cfg.d/vyos-versions/4.5._имя_сборки.cfg

notify

/usr/sbin/

notify

/usr/sbin/все файлы каталога

notify

/usr/share/pam-configs/ngfwos_auth

Для добавления файла, подлежащего контролю, необходимо ввести команду:

admin@ngfwos:~$ integrity-control add <path/to/file> [action <emergency|notify>]

где:

В случае отсутствия параметра «action», система автоматически применит к объекту действие «notify».

Для удаления объекта наблюдения из списка КЦ необходимо ввести следующую команду:

admin@ngfwos:~$ integrity-control delete <path/to/file>

где <path/to/file> - путь к объекту.

Примечание

Удаление объекта КЦ из списка мониторинга, при установленном параметре «action» со значением «emergency», не допускается. В случае попытки удаления такого объекта из списка, система выведет предупреждающее сообщение о невозможности выполнить операцию: «</…/имя_файла> in emergency action mode. If you wish to delete, please change it’s action to `notify`».

Для удаления необходимо предварительно изменить значение параметра «action» на «notify», после чего произвести операцию удаления.

Примечание

Запрещено удалять из списка объекты по умолчанию (см. Таблица «Список контролируемых объектов по умолчанию»).