6 Контроль целостности файлов конфигурации "Спектра"
6.1 РЕД ОС Муром 8
Используется утилита afick в соответствии с redos.red-soft.ru/base/manual/redos-manual/safe-redos/afick/.
Все действия выполняются от имени администратора (root).
6.1.1 Включение контроля целостности
-
Установить утилиту контроля целостности
dnf install afick. -
Добавить список файлов и директорий для контроля в конфигурационный файл
/etc/afick.confв раздел# files to scanс необходимыми опциями. -
Запустить утилиту с ключом
--update afick --updateдля обновления и формирования базы контролируемых файлов.
Регулярная проверка целостности обеспечивается запуском cron-задачи. Задача создается при установке утилиты с регулярностью раз в сутки.
Результатом выполнения является сформированный отчет, который будет отправлен на электронный адрес, указанный в конфигурационном файле в секции @@define MAILTO root.
6.1.2 Периодичность запуска
Bash-скрипт, отвечающий за проверку целостности и отправки отчета, находится в /etc/cron.daily/afick_cron.
Настройка периодичности проверки целостности может быть изменена в соответствии с механизмом работы cron.
6.1.3 Проверка механизма контроля целостности
Для проверки того, что контроль целостности осуществляется:
-
Используя команду
afick -kпровести проверку целостности: ожидаемый результат — отсутствие изменений. -
Изменить контролируемый файл или создать новый в контролируемой директории.
-
Провести повторную проверку: ожидаемый результат — сообщение о нарушении целостности.
|
После настройки и постановки файлов на контроль целостности любые изменения конфигурации компонентов должны происходить через службу ИБ с последующим обновлением внутренней БД утилиты. |
После внесения изменений в контролируемые файлы и их фиксирования необходимо от имени администратора запустить afick --update.
6.2 Альт СП 8 р9 и СП 8 р10
Используется утилита osec в соответствии с руководством по комплексу средств защиты от «Базальт СПО» ("Руководство по комплексу средств защиты.pdf").
Если утилита не установлена, установка производится командой:
apt-get install osec
Все действия выполняются от имени администратора (root).
6.2.1 Включение контроля целостности
-
Проверить, что сервис контроля целостности при загрузке активирован (
enabled). Для этого выполнить команду:# systemctl is-enabled integalertЕсли в результате запуска команды будет получен ответ
disabled, выполнить команду для активации сервиса контроля целостности:# systemctl enable integalert* -
Определить каталоги для проверки целостности
osec(см. п. 6.2.2 "Определение каталогов для контроля целостности"). -
Выполнить запуск
osec:-
выполнить команду:
# integalert fix -
или сформировать контрольные суммы для измененных / новых объектов и занести их в базу данных. Для этого выполнить команду:
# osec -f /etc/osec/dirs.conf -D /var/lib/osec/
-
-
Для фиксации изменений и проверки конфигурации выполнить команду:
# systemctl restart osecПроверка целостности системы при помощи
osecвыполняется командойintegalert.При необходимости можно настроить / изменить периодичность запуска
osec.
6.2.2 Определение / изменение каталогов для проверки целостности
По умолчанию отслеживаются изменения в папках /bin, /sbin, /usr/bin, /usr/sbin.
Для того, чтобы определить или изменить список каталогов для проверки целостности, например, /bin, /sbi, /lib, /lib64, нужно отредактировать список каталогов, который хранится в файле /etc/osec/dirs.conf (строки, начинающиеся со знака #, игнорируются):
# vim /etc/osec/dirs.conf
После внесения изменений в файл /etc/osec/dirs.conf необходимо выполнить запуск osec.
6.2.3 Периодичность запуска osec
Кроме пакета программного комплекса osec в систему устанавливается пакет osec-timerunit. Он позволяет задать способ и периодичность запуска osec (файлы /lib/systemd/system/osec.service, /lib/systemd/system/osec.timer). В пакете osec-timerunit есть файл с заданием для демона cron и конфигурационные файлы (dirs.conf).
Для проверки статуса периодического контроля целостности выполнить команду:
# systemctl status osec.timer
Для активации периодического контроля целостности выполнить команды:
# systemctl enable osec.timer
# systemctl start osec.timer
По умолчанию в osec.timer задан запуск проверки ежедневно в полночь.
Если необходимо задавать другие периоды запуска osec, то необходимо создать файл /etc/systemd/system/osec.timer с измененными периодами и перезагрузить демон systemd:
# cp /lib/systemd/system/osec.timer /etc/systemd/system/osec.timer
# vim /etc/systemd/system/osec.timer
# systemctl daemon-reload
6.2.4 Проверка механизма контроля целостности
Для проведения теста необходимо авторизоваться в системе от имени администратора.
-
Подготовить каталог для базы данных:
# mkdir /tmp/base # chown osec:osec /tmp/base # cp -ar /var/lib/osec/* /tmp/base -
Сформировать контрольные суммы объектов (список путей к ним хранится в файле
/etc/osec/dirs.conf) и занести их в базу данных/tmp/base. -
Результат работы
osecвыводится на консоль, поэтому для перенаправления вывода результата в текстовый файл/tmp/report1нужно выполнить команду:# osec -f /etc/osec/dirs.conf -D /tmp/base/ –r >/tmp/report1 -
Не производя никаких изменений в системе, запустить
osecповторно и вывести результат работы в текстовый файл/tmp/report2:# osec -f /etc/osec/dirs.conf -D /tmp/base/ -r >/tmp/report2 -
Сравнить два результирующих файла
/tmp/report1и/tmp/report2:# diff -u0 /tmp/report1 /tmp/report2Два отчета должны совпадать, в консоли не должно быть выведено никаких различий.
-
Выполнить изменения в контролируемых файлах / директориях (добавить, удалить и т.д.)
-
Запустить
osecв режиме "только чтение" и перенаправить вывод в текстовый файл/tmp/report3:# osec -f /etc/osec/dirs.conf -D /tmp/base/ -r > /tmp/report3 -
Сравнить два результирующих файла
/tmp/report2и/tmp/report3:# diff -u0 /tmp/report2 /tmp/report3Ожидаемые результаты: сведения об изменениях, сделанных выше с конфигурационными файлами, должны выводиться на консоль.
6.2.5 Порядок восстановления целостности системы
В случае выявления нарушения целостности:
-
при проверке целостности системы командой
integalert; -
при загрузке ОС — вывод визуального оповещения с обязательным подтверждением дальнейшей загрузки ОС. Система загружается в однопользовательском режиме с запросом пароля суперпользователя.
Порядок восстановления:
-
От имени администратора (root) выполнить просмотр лога аудита и найти нарушение целостности.
-
Восстановить объект с нарушенной целостностью — заменить на эталон / переустановить или пропустить при подтверждении корректности внесенного в объект изменения.
-
Запустить восстановление целостности системы. Если система контроля целостности IMA / EVM не инициализирована, выполнить команду:
# integalert fixили сформировать контрольные суммы для измененных / новых объектов и занести их в базу данных. Для этого выполнить команду:
# osec -f /etc/osec/dirs.conf –D /var/lib/osec -
Перезагрузить систему.
После настройки и постановки файлов на контроль целостности любые изменения конфигурации компонентов должны происходить через службу ИБ с последующим обновлением внутренней БД утилиты.
6.3 Перечень файлов и директорий "Спектра" для контроля целостности
| Директория | Примечание |
|---|---|
/opt/skala-r/spectrum/.vault_store |
|
/opt/skala-r/etc/spectrum/ |
|
/opt/skala-r/spectrum/certs |
|
/etc/nginx/ /etc/systemd/system/multi-user.target.wants/nginx.service /usr/sbin/nginx |
/etc/systemd/system/multi-user.target.wants/nginx.service символическая ссылка на:
|
/var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_ident.conf |
Для Altlinux Server 8 СП p9, Altlinux Server 8 СП p10, RedOS 8 |
/usr/bin/postgres /etc/systemd/system/multi-user.target.wants/postgresql.service |
/etc/systemd/system/multi-user.target.wants/postgresql.service символическая ссылка на:
|
/etc/systemd/system/spectrum-api.service /etc/systemd/system/spectrum-tasks.service /etc/systemd/system/spectrum-scheduler.service /etc/systemd/system/spectrum-agent.service |