6 Контроль целостности файлов конфигурации "Спектра"

6.1 РЕД ОС Муром 8

Используется утилита afick в соответствии с redos.red-soft.ru/base/manual/redos-manual/safe-redos/afick/.

Все действия выполняются от имени администратора (root).

6.1.1 Включение контроля целостности

  1. Установить утилиту контроля целостности dnf install afick.

  2. Добавить список файлов и директорий для контроля в конфигурационный файл /etc/afick.conf в раздел # files to scan с необходимыми опциями.

  3. Запустить утилиту с ключом --update afick --update для обновления и формирования базы контролируемых файлов.

Регулярная проверка целостности обеспечивается запуском cron-задачи. Задача создается при установке утилиты с регулярностью раз в сутки.

Результатом выполнения является сформированный отчет, который будет отправлен на электронный адрес, указанный в конфигурационном файле в секции @@define MAILTO root.

6.1.2 Периодичность запуска

Bash-скрипт, отвечающий за проверку целостности и отправки отчета, находится в /etc/cron.daily/afick_cron.

Настройка периодичности проверки целостности может быть изменена в соответствии с механизмом работы cron.

6.1.3 Проверка механизма контроля целостности

Для проверки того, что контроль целостности осуществляется:

  1. Используя команду afick -k провести проверку целостности: ожидаемый результат — отсутствие изменений.

  2. Изменить контролируемый файл или создать новый в контролируемой директории.

  3. Провести повторную проверку: ожидаемый результат — сообщение о нарушении целостности.

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

После внесения изменений в контролируемые файлы и их фиксирования необходимо от имени администратора запустить afick --update.

6.2 Альт СП 8 р9 и СП 8 р10

Используется утилита osec в соответствии с руководством по комплексу средств защиты от «Базальт СПО» ("Руководство по комплексу средств защиты.pdf").

Если утилита не установлена, установка производится командой:

apt-get install osec

Все действия выполняются от имени администратора (root).

6.2.1 Включение контроля целостности

  1. Проверить, что сервис контроля целостности при загрузке активирован (enabled). Для этого выполнить команду:

    # systemctl is-enabled integalert

    Если в результате запуска команды будет получен ответ disabled, выполнить команду для активации сервиса контроля целостности:

    # systemctl enable integalert*
  2. Определить каталоги для проверки целостности osec (см. п. 6.2.2 "Определение каталогов для контроля целостности").

  3. Выполнить запуск osec:

    • выполнить команду:

       # integalert fix
    • или сформировать контрольные суммы для измененных / новых объектов и занести их в базу данных. Для этого выполнить команду:

       # osec -f /etc/osec/dirs.conf -D /var/lib/osec/
  4. Для фиксации изменений и проверки конфигурации выполнить команду:

     # 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 Проверка механизма контроля целостности

Для проведения теста необходимо авторизоваться в системе от имени администратора.

  1. Подготовить каталог для базы данных:

    # mkdir /tmp/base
    # chown osec:osec /tmp/base
    # cp -ar /var/lib/osec/* /tmp/base
  2. Сформировать контрольные суммы объектов (список путей к ним хранится в файле /etc/osec/dirs.conf) и занести их в базу данных /tmp/base.

  3. Результат работы osec выводится на консоль, поэтому для перенаправления вывода результата в текстовый файл /tmp/report1 нужно выполнить команду:

    # osec -f /etc/osec/dirs.conf -D /tmp/base/ –r >/tmp/report1
  4. Не производя никаких изменений в системе, запустить osec повторно и вывести результат работы в текстовый файл /tmp/report2:

    # osec -f /etc/osec/dirs.conf -D /tmp/base/ -r >/tmp/report2
  5. Сравнить два результирующих файла /tmp/report1 и /tmp/report2:

     # diff -u0 /tmp/report1 /tmp/report2

    Два отчета должны совпадать, в консоли не должно быть выведено никаких различий.

  6. Выполнить изменения в контролируемых файлах / директориях (добавить, удалить и т.д.)

  7. Запустить osec в режиме "только чтение" и перенаправить вывод в текстовый файл /tmp/report3:

    # osec -f /etc/osec/dirs.conf -D /tmp/base/ -r > /tmp/report3
  8. Сравнить два результирующих файла /tmp/report2 и /tmp/report3:

    # diff -u0 /tmp/report2 /tmp/report3

    Ожидаемые результаты: сведения об изменениях, сделанных выше с конфигурационными файлами, должны выводиться на консоль.

6.2.5 Порядок восстановления целостности системы

В случае выявления нарушения целостности:

  • при проверке целостности системы командой integalert;

  • при загрузке ОС — вывод визуального оповещения с обязательным подтверждением дальнейшей загрузки ОС. Система загружается в однопользовательском режиме с запросом пароля суперпользователя.

Порядок восстановления:

  1. От имени администратора (root) выполнить просмотр лога аудита и найти нарушение целостности.

  2. Восстановить объект с нарушенной целостностью — заменить на эталон / переустановить или пропустить при подтверждении корректности внесенного в объект изменения.

  3. Запустить восстановление целостности системы. Если система контроля целостности IMA / EVM не инициализирована, выполнить команду:

    # integalert fix

    или сформировать контрольные суммы для измененных / новых объектов и занести их в базу данных. Для этого выполнить команду:

    # osec -f /etc/osec/dirs.conf –D /var/lib/osec
  4. Перезагрузить систему.

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

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 символическая ссылка на:

  • в Astra - /lib/systemd/system/nginx.service

  • в Alt - /lib/systemd/system/nginx.service

  • в RedOS - /usr/lib/systemd/system/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 символическая ссылка на:

  • в Astra - /lib/systemd/system/postgresql.service

  • в Alt - /lib/systemd/system/postgresql.service

  • в RedOS - /usr/lib/systemd/system/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