rhel9_stig

RHEL 9 DISA STIG

Настройка системы на основе RHEL9 для соответствия требованиям DISA STIG

Эта роль основана на DISA STIG для RHEL 9: Версия 1, Релиз 2 выпущен 24 января 2024.

Первоначальный релиз STIG, всё ещё много элементов, которые не полностью соответствуют документации


Организационные звезды Звезды Форки Подписчики Twitter URL

Качество Ansible Galaxy Дискорд Бэйдж

Релизная ветка Релизный тег Дата релиза

Статус главного пайплайна

Статус пайплайна разработки Коммиты разработки

Открытые вопросы Закрытые вопросы Запросы на объединение

Лицензия


Ищете поддержку?

Lockdown Enterprise

Поддержка Ansible

Сообщество

Присоединяйтесь к нашему серверу Discord для вопросов, обсуждения функций или просто общения с другими пользователями Ansible-Lockdown.


Настройте систему RHEL/Rocky/Alma 9 для соответствия требованиям DISA STIG. Ненавязчивые находки CAT I, CAT II и CAT III будут исправлены по умолчанию. Для устранения разрушительных находок можно включить настройку, установив rhel9stig_disruption_high в значение true.

Обновление

При переходе с предыдущего релиза.

Как и с любыми релизами и обновлениями, рекомендуется протестировать и согласовать настройки. Это включает переписывания и изменения ссылок на идентификаторы согласно документации STIG.

Аудит

Это можно включить или отключить в файле defaults/main.yml с переменной rhel7stig_run_audit. Значение по умолчанию — false, пожалуйста, обратитесь к вики для получения дополнительных деталей. Файл defaults также заполняет проверки goss, чтобы проверять только те настройки, которые были включены в роль ansible.

Это более быстрая и легковесная проверка (где это возможно) соответствия конфигурации и текущих настроек.

Разработан новый метод аудита, который использует небольшой (12МБ) бинарный файл на Go под названием goss вместе с соответствующими конфигурациями для проверки. Это делается без необходимости в инфраструктуре или других инструментах. Этот аудит не только проверит, что конфигурация имеет правильные настройки, но и постарается зафиксировать, работает ли она с этой конфигурацией, стараясь устранить ложные срабатывания в процессе.

Документация

Требования

  • RHEL/Rocky/AlmaLinux/OL 9 - Другие версии не поддерживаются.
  • Другие ОС можно проверить, установив skip_os_check в true для тестирования.
  • Доступ для загрузки или добавления двоичного файла goss и контента в систему, если используется аудит. Доступны варианты, как получить контент в систему.

Зависимости

Следующие пакеты должны быть установлены на управляющем хосте / хосте, где выполняется ansible:

  • python-lxml
  • python-xmltodict

Пакет 'python-xmltodict' необходим, если вы включаете установку инструмента OpenSCAP и запускаете отчет. Все они необходимы на хосте-контроллере, который выполняет Ansible.

Переменные роли

Эта роль разработана таким образом, чтобы конечному пользователю не пришлось редактировать сами задачи. Вся настройка должна выполняться через файл defaults/main.yml или с помощью дополнительных переменных в проекте, задаче, рабочем процессе и т.д.

Теги

Доступно много тегов для повышения точности управления. Каждое правило имеет свой набор тегов, указывающих номер управления, а также те части системы, к которым относится это управление.

Ниже приведен пример секции тегов из правила внутри этой роли. Используя этот пример, если вы установите свой запуск на пропуск всех управляющих элементов с тегом ssh, эта задача будет пропущена. Происходит и наоборот: можно выполнять только управляющие элементы с тегом ssh.

tags:
    - RHEL-9-010050
    - ssh
    - dod_logon_banner

Пример аудита

Это основано на образе vagrant с включенными выборами, например, без графического интерфейса и без межсетевого экрана. Примечание: Во время аудита будет выполнено больше тестов, поскольку мы проверяем конфигурацию и текущие состояния.

ok: [rocky9_efi] =>
  msg:
  - 'Предварительные результаты: Общее количество: 804, Ошибок: 416, Длительность: 6.488s.'
  - 'Результаты после исправления: Общее количество: 804, Ошибок: 28, Длительность: 68.687s.'
  - Полное разбитие можно найти в /opt

PLAY RECAP ****************************************************************************************************************
rocky9_efi                 : ok=482  изменено=269  недоступно=0    ошибка=0    пропущено=207  спасено=0    проигнорировано=0

Ветки

  • devel - Это основная ветка и ветка разработки. Сообщество будет отправлять свои изменения в эту ветку.
  • main - Это ветка для релизов.
  • reports - Это защищенная ветка для наших отчетов о оценке, в нее никогда не должен входить код.
  • gh_pages - страницы GitHub.
  • все другие ветки - Ветки отдельных участников сообщества.

Контейнеры - тестирование

  • system_is_container

По умолчанию установлено значение false в defaults/main.yml. Если обнаружено, что это контейнер или ansible_connection == docker, оно будет преобразовано в значение true. Некоторые проверки будут пропущены, если это значение истинно, так как они не применимы. Другие выполнят подмножество проверок, найденных в vars/is_container.yml, на основе неизмененного образа от вендора.

Неизмененный образ вендора.

  • container_vars_file: is_container.yml

Этот файл переменных объединяет проверки в теги, поэтому, если контейнер позже будет иметь ssh, его можно будет снова включить, загрузив альтернативный файл переменных.

Вклад сообщества

Мы приглашаем вас (сообщество) участвовать в этой роли. Пожалуйста, прочитайте правила ниже.

  • Ваша работа выполняется в вашей индивидуальной ветке. Убедитесь, что вы подписали все коммиты, которые вы хотите объединить, с помощью GPG.
  • Все запросы на объединение от сообщества идут в ветку devel.
  • Запросы на объединение в devel подтвердят наличие GPG-подписи, подписанного коммита и функционального теста перед утверждением.
  • После того, как ваши изменения будут объединены и завершен более детализированный обзор, авторизованный член объединит ваши изменения в основную ветку для нового релиза.

Тестирование пайплайна

использует:

  • ansible-core 2.12
  • коллекции ansible - подтягивает последнюю версию на основе файла требований.
  • выполняет аудит с использованием ветки devel.
  • Это автоматизированный тест, который происходит при запросах на объединение в devel.

Известные проблемы

STIG контроль

Поддержка

Это в первую очередь проект сообщества и будет управляться как таковой.

Если вы интересуетесь выделенной поддержкой для помощи или предоставления индивидуальных настроек:

Благодарности

Этот репозиторий возник из работы, выполненной Sam Doran.

Дополнения

  • makefile - этот файл предназначен исключительно для тестирования и первоначальной настройки.
  • pre-commit можно протестировать и запустить из директории.
pre-commit run
Установить
ansible-galaxy install ansible-lockdown/RHEL9-STIG
Лицензия
mit
Загрузки
102802
Владелец
Ansible Lockdown is a security baseline automation project sponsored by Mindpoint Group.