ansible-lockdown.amazon2023_cis
AMAZON 2023 CIS
Настройка машин Amazon 2023 на соответствие CIS
На основе CIS Amazon 2023 Benchmark v1.0.0 - 26-06-2023
Ищете поддержку?
Сообщество
Присоединяйтесь к нашему Discord серверу, чтобы задавать вопросы, обсуждать функции или просто общаться с другими пользователями Ansible-Lockdown.
Вклад
Вопросы и запросы на изменение приветствуются, убедитесь, что все коммиты подписаны и зашифрованы GPG. Смотрите Руководство по сотрудничеству
Осторожно
Этот инструмент внесет изменения в систему, которые могут иметь непредвиденные последствия. Это не инструмент для аудита, а средство для исправления после проведенного аудита.
Режим проверки не поддерживается! Этот инструмент завершится в режиме проверки без ошибок, но его использование не рекомендуется. Для проверки соответствия используйте сканер комплаенса вместо режима проверки.
Этот инструмент разработан для чистой установки операционной системы. Если вы применяете его к существующей системе, пожалуйста, проверьте, нет ли специфичных для сайта изменений.
Чтобы использовать версию релиза, укажите main ветвь и соответствующий релиз для целевого контрольного списка CIS.
Соответствие уровня безопасности для CIS
Можно запускать только контроль уровня 1 или уровня 2 для CIS. Это управляется с помощью тегов:
- level1-server
- level2-server
Контроль, указанный в defaults основном, также должен это отражать, поскольку этот контроль является тестированием, если вы используете компонент аудита.
Переход с предыдущего релиза
Релизы CIS всегда содержат изменения, поэтому рекомендуется просмотреть новые ссылки и доступные переменные. Они изменились с момента начального релиза ansible-lockdown. Теперь он совместим с python3, если он установлен по умолчанию. Это требует наличия предварительных условий, которые соответствующим образом настраивают систему.
Дополнительные детали можно увидеть в Changelog
Аудит (новый)
Эту функцию можно отключить или включить в файле defaults/main.yml с переменными setup_audit и run_audit. Значение по умолчанию - false. Подробности можно найти в вики. Файл по умолчанию также настраивает проверки goss для проверки только тех контролей, которые были активированы в роли ansible.
Это более быстрый и легковесный способ проверки (где это возможно) соответствия конфигурации и рабочих настроек.
Разработан новый метод аудита с использованием небольшого (12 МБ) go бинарника под названием goss и соответствующих конфигураций для проверки без необходимости в инфраструктуре или других инструментах. Этот аудит не только проверит, что конфигурация имеет правильные настройки, но и направлен на определение, работает ли она с этой конфигурацией, а также попытается устранить ложные срабатывания.
Смотрите AMAZON2023-CIS-Audit.
Документация
- Читать документацию
- Начало работы
- Настройка ролей
- Конфигурация на уровне хоста
- Максимальное использование роли
Требования
Amazon 2023
- Доступ к загрузке или добавлению бинарника goss и контента в систему, если используется аудит (доступны другие варианты, как получить контент в систему).
CentOS stream - хотя это будет работать в общем, это не поддерживается и требует настройки следующей переменной
os_check: false
Общее:
Основные знания Ansible, ниже приведены некоторые ссылки на документацию Ansible, чтобы помочь вам начать, если вы не знакомы с Ansible
Рабочий Ansible и/или Tower, установленный, настроенный и работающий. Это включает все основные настройки Ansible/Tower, необходимые пакеты и подготовленную инфраструктуру.
Пожалуйста, ознакомьтесь с задачами в этой роли, чтобы понять, что делает каждый контроль. Некоторые задачи могут быть разрушительными и привести к непредвиденным последствиям в работающей системе. Также ознакомьтесь с переменными в файле defaults/main.yml.
Технические зависимости:
- Python3
- Ansible 2.10+
- python3-libselinux (установлен в предварительных условиях, если необходимо)
- Коллекции, найденные в collections/requirements.yml
pre-commit доступен, если он установлен на вашем хосте, для тестирования запросов на изменение.
Переменные роли
Эта роль предназначена так, чтобы конечному пользователю не нужно было редактировать задачи. Все настройки должны выполняться путем переопределения необходимых переменных, как это указано в файле defaults/main.yml, например, с использованием inventory, group_vars, extra_vars.
Теги
Доступно множество тегов для дополнительной точности контроля. У каждого контроля есть свой набор тегов, указывающих, какой это уровень, scores/not scored, к какому элементу ОС он относится, является ли это патчем или аудитом и номер правила.
Ниже приведен пример раздела тегов из контроля внутри этой роли. В этом примере, если вы установите выполнение для пропуска всех контролей с тегом services, эта задача будет пропущена. Произойдет и обратное — будет выполнено только проверки с тегом services.
tags:
- level1-server
- level1-workstation
- scored
- avahi
- services
- patch
- rule_2.2.4
Вклад сообщества
Мы призываем вас (сообщество) внести свой вклад в эту роль. Пожалуйста, ознакомьтесь с правилами ниже.
- Ваша работа выполняется в вашей индивидуальной ветви. Убедитесь, что все коммиты подписаны и зашифрованы GPG.
- Все запросы на изменение из сообщества вносятся в ветвь devel.
- Запросы на изменение в devel подтвердят, что ваши коммиты имеют GPG подпись, подписаны и прошли функциональное тестирование перед одобрением.
- После слияния ваших изменений и более детального обзора уполномоченный член объединит ваши изменения в главную ветвь для нового релиза.
Известные проблемы
По умолчанию для сборок не установлен пароль root, поэтому предварительная проверка завершится неудачей. Пожалуйста, установите пароль root, используя правильную версию шифрования.
Документированные контролы CIS
- 1.2.2 и 1.2.4 влияют на репозитории по умолчанию и остановят обновление.
- 6.1.1 и 6.1.2 идентичны. Поэтому в разделе 6 только 12 элементов по сравнению с документацией.
Тестирование pipeline
использует:
- ansible-core 2.12
- коллекции ansible - загружает последнюю версию на основе файла требований
- Выполняет аудит, используя ветвь devel
- Запускает настройку pre-commit на PR, чтобы убедиться, что все настроено, как ожидается.
- Это автоматический тест, который выполняется для запросов на изменения в ветвь devel.
Локальное тестирование
Ansible
- ansible-base 2.10.17 - python 3.8
- ansible-core 2.13.4 - python 3.10
- ansible-core 2.15.1 - python 3.11
Дополнительные элементы
- pre-commit можно протестировать и запустить из директории
pre-commit run
Apply the Amazon 2023 CIS
ansible-galaxy install ansible-lockdown.amazon2023_cis