Выполнение требований и рекомендаций ФСТЭК России#
Использование роли astra.hardening.fstec
из реестра Automation Hub позволяет автоматизировать процесс аудита и настройки систем защиты ОС Astra Linux Special Edition в соответствии с требованиями, изложенными в следующих приказах ФСТЭК России:
Приказ № 17 от 11 февраля 2013 г. «Об утверждении требований по защите информации, не составляющей государственную тайну, содержащейся в государственных информационных системах».
Приказ № 21 от 18 февраля 2013 г. «Об утверждении состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных».
Приказ № 239 от 25 декабря 2017 г. «Об утверждении требований по обеспечению безопасности значимых объектов критической информационной инфраструктуры Российской Федерации».
Приказ № 31 от 14 марта 2014 г. «Об утверждении требований к обеспечению защиты информации в автоматизированных системах управления производственными и технологическими процессами на критически важных объектах, потенциально опасных объектах, а также объектах, представляющих повышенную опасность для жизни и здоровья людей и для окружающей природной среды».
Описание сценария#
Процесс аудита и настройки систем безопасности ОС Astra Linux Special Edition с помощью роли astra.hardening.fstec
состоит из следующих этапов:
Изучение поведения ОС с настройками по умолчанию.
Подготовка проекта Ansible.
Проект включает в себя следующие файлы:
ansible.cfg
– настройки Ansible;inventory.yml
– описание инвентаря;playbooks/fstec.yml
– сценарий настройки параметров безопасности ОС в соответствии с требованиями приказа ФСТЭК России.
Запуск набора сценариев.
Проверка поведения ОС после изменения настроек безопасности.
Подготовка к работе#
Разверните управляемый узел (например, виртуальную машину) под управлением ОС Astra Linux Special Edition, работающей в базовом (Орел) режиме защищенности.
Важно
Для демонстрации настройки узла в соответствии с требованиями ФСТЭК России на нем обязательно наличие графического интерфейса.
Настройте управляемый узел согласно инструкции.
Изучите описание коллекции
astra.hardening
.На своей рабочей станции подготовьте каталог для хранения файлов проекта, например:
mkdir ~/astra-fstec/
Проверка настроек систем защиты по умолчанию#
Полная проверка поведения ОС Astra Linux Special Edition 1.8 с настройками систем безопасности по умолчанию занимает длительное время. В демонстрационных целях проверьте только часть из них:
На управляемом узле авторизуйтесь с привилегиями администратора.
Запустите утилиту «Монитор безопасности»:
.В дереве настроек выберите
.Нажмите на ссылку Нажмите сюда, для запроса аутентификации.
Введите пароль.
Убедитесь, что в списке Подсистемы безопасности отмечены красным следующие строки:
блокировка системных команд (df, chattr, arp, ip, и т.д.);
блокировка консоли для пользователей;
блокировка интерпретаторов;
блокировка макросов;
запрет установки бита исполнения;
межсетевой экран UFW — UFW не найден;
системные ограничения ulimits;
блокировка выключения/перезагрузки ПК для пользователей;
запрет монтирования носителей непривилегированным пользователям;
блокировка интерпретатора bash;
режим работы файловой системы ОС - только чтение;
ввод пароля для sudo;
блокировка доступа пользователя root по протоколу SSH;
защита SSH fail2ban;
графический киоск.
В дереве настроек выберите
.Создайте непривилегированного пользователя.
Завершите работу с утилитой «Параметры системы».
Завершите активную сессию и авторизуйтесь в системе как непривилегированный пользователь.
Запустите утилиту «Терминал»:
.Убедитесь, что пользователю разрешено использование системной утилиты
ip
:ip a
Когда использование утилиты разрешено, она выводит в терминал сведения об активных сетевых подключениях.
Подготовка проекта Ansible#
На управляющем узле подготовьте ресурсы, необходимые для использования Ansible.
Создайте файл
ansible.cfg
со следующим содержимым:ansible.cfg
#[defaults] host_key_checking = False inventory = inventory.yml
Создайте файл инвентаря
inventory.yml
, например:inventory.yml
#--- all: hosts: node1.example.com: ansible_host: 192.168.56.11 ansible_user: vagrant
Создайте каталог
playbooks/
, а в нем – файл сценариевfstec.yml
:playbooks/fstec.yml
#--- - name: Prepare for FSTEC hardening hosts: all become: true gather_facts: false tasks: - name: Install astra-admin-events ansible.builtin.apt: name: - astra-admin-events state: present - name: Apply FSTEC requirements hosts: all become: true gather_facts: false vars: fstec_order: 21 fstec_security_level: sl1 disabled_rules: - user_mac_4 - user_mic_4 - limit_memory_1 - limit_memory_2 - limit_safepolicy_1 - limit_safepolicy_2 collections: - astra.hardening roles: - role: fstec become: true vars: fstec_action: remediation
В этом файле описаны два сценария:
Prepare for FSTEC hardening
– подготовка ОС к применению ролиastra.hardening.fstec
.Сценарий содержит задачу, устанавливающую пакет
astra-admin-events
, необходимый для работы роли.Apply FSTEC requirements
– приведение параметров систем безопасности в соответствие требованиям приказа ФСТЭК России № 21 от 18 февраля 2013 г. к информационным системам, защищенных по первому уровню защищенности, за исключением настроек, перечисленных в значении переменнойdisabled_rules
.
Если для запуска заданий автоматизации используется Automation Controller, зафиксируйте сделанные в проекте изменения и опубликуйте их в репозитории Git.
Запуск сценария#
Способ запуска сценария зависит от инструмента, используемого для управления задачами автоматизации.
Для запуска задания автоматизации в Automation Controller выполните следующие действия:
Для доступа к управляемому узлу создайте полномочие типа Машина (Machine).
Если для доступа к репозиторию с кодом проекта требуется авторизация, создайте полномочие типа Система управления версиями (Source Control).
Создайте проект со следующими свойствами:
Название: ФСТЭК.
Среда исполнения: выберите среду исполнения, использующую образ
aa-full-ee
.Примечание
Среда исполнения на основе образа
aa-full-ee
используется в Automation Controller по умолчанию. Вы можете добавить среду исполнения самостоятельно, следуя инструкции.Тип системы управления исходными данными: Git.
URL системы управления исходными данными: укажите ссылку на репозиторий с кодом проекта.
Полномочия на систему управления исходными данными: если для доступа к репозиторию с кодом проекта требуется авторизация, выберите созданное ранее полномочие типа Система управления версиями (Source Control).
Создайте обычный инвентарь и добавьте в него сведения об управляемом узле.
Совет
Вы можете использовать файл
inventory.yml
в качестве источника сведений об управляемом узле.Создайте шаблон задания со следующими свойствами:
Тип задания: Выполнение.
Инвентарь: выберите инвентарь, созданный на предыдущем шаге.
Проект: выберите проект ФСТЭК.
Playbook: выберите файл
playbooks/fstec.yml
.
Запустите задание на основе созданного шаблона.
При использовании Ansible Navigator для запуска сценария выполните команду:
ansible-navigator run playbooks/fstec.yml \
--eei private-hub.example.com/aa-1.2/aa-full-ee
При этом открывается псевдографический интерфейс, в котором показывается ход выполнения, например:
Для просмотра более подробной информации о ходе выполнения нажмите 0.
Статус задания выводится в правом нижнем углу.
Дождитесь перехода задания в статус Successful
.
Проверка состояния систем защиты#
Чтобы проверить состояние систем защиты после настройки, выполните следующие действия на настроенном узле:
Перезагрузите компьютер.
Авторизуйтесь от имени учетной записи с привилегиями администратора.
Запустите утилиту «Монитор безопасности»:
.В дереве настроек выберите
.Нажмите на ссылку Нажмите сюда, для запроса аутентификации.
Введите пароль.
Убедитесь, что в списке Подсистемы безопасности уменьшилось количество строк, отмеченных красным.
Завершите работу с утилитой «Параметры системы».
Завершите активную сессию и авторизуйтесь в системе с учетными данными непривилегированного пользователя.
Запустите утилиту «Терминал»:
.Убедитесь, что теперь пользователю запрещено использование системной утилиты
ip
:ip a
Когда использование утилиты запрещено, она выводит в терминал следующее сообщение:
Особенности проекта#
Обратите внимание на следующие особенности проекта:
Настройка параметров роли
astra.hardening.fstec
.Правила, необходимые для соответствия требованиям ФСТЭК России, но исключенные из роли
astra.hardening.fstec
.Способы получения информации о параметрах систем безопасности ОС до и после настройки.
Заключение#
В этом сценарии вы познакомились с основными шагами по настройке систем безопасности ОС Astra Linux Special Edition в соответствии с требованиями, изложенными в приказах ФСТЭК России:
Приказ № 17 от 11 февраля 2013 г.
Приказ № 21 от 18 февраля 2013 г.
Приказ № 239 от 25 декабря 2017 г.
Приказ № 31 от 14 марта 2014 г.
Из всей последовательности шагов важно выделить следующие действия:
Проверка состояния систем защиты ОС до и после настройки.
Создание и запуск набора сценариев Ansible, использующего роль
astra.hardening.fstec
.