ansible-lockdown.amazon2023_cis

AMAZON 2023 CIS

Настройка машин Amazon 2023 на соответствие CIS

На основе CIS Amazon 2023 Benchmark v1.0.0 - 26-06-2023


Org Stars Stars Forks followers Twitter URL

Ansible Galaxy Quality Discord Badge

Release Branch Release Tag Release Date

Main Pipeline Status

Devel Pipeline Status Devel Commits

Issues Open Issues Closed Pull Requests

License


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

Lockdown Enterprise

Поддержка Ansible

Сообщество

Присоединяйтесь к нашему 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
Установить
ansible-galaxy install ansible-lockdown.amazon2023_cis
Лицензия
mit
Загрузки
742
Владелец
Lockdown is a security baseline automation project sponsored by Tyto Athene.