rhel7_cis

RHEL 7 CIS

Настройка системы RHEL/Centos 7 для соответствия стандартам CIS

На основе CIS RedHat Enterprise Linux 7 Benchmark v4.0.0 - 21-12-2023


Org Stars Stars Forks followers Twitter URL

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.


Внимание

Эта роль внесет изменения в систему, которые могут иметь непредвиденные последствия. Это не инструмент для аудита, а инструмент для исправления после проведенного аудита.

Режим проверки не поддерживается! Роль завершится в режиме проверки без ошибок, но это не поддерживается и должна использоваться с осторожностью. Для проверки соответствия используйте роль RHEL7-CIS-Audit или сканер соответствия.

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

Чтобы использовать версию релиза, укажите основную ветку и соответствующий релиз для стандартов CIS, с которыми вы хотите работать.


Выбор уровня безопасности для CIS

Можно запустить только уровни 1 или 2 для CIS. Это управляется с помощью тегов:

  • level1-server
  • level1-workstation
  • level2-server
  • level2-workstation

Контроль, указанный в defaults/main, также должен отражать это, поскольку этот контроль отвечает за тестирование, проводящееся при использовании компонента аудита.

Учет изменений в предыдущем релизе

Релиз CIS всегда содержит изменения, настоятельно рекомендуется просмотреть новые ссылки и доступные переменные. Эти данные изменились значительно с момента первого релиза ansible-lockdown. Теперь он совместим с python3, если это является интерпретатором по умолчанию. Это требует предварительной настройки, которая настраивает систему соответствующим образом.

Дополнительные сведения можно найти в Changelog.

Аудит (новое)

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

Это более быстрое, легковесное средство проверки соответствия конфигурации и текущих настроек.

Новая форма аудита была разработана с использованием небольшого (12MB) бинарного файла на go, называемого goss, а также необходимых конфигураций для проверки. Без необходимости в инфраструктуре или других инструментах. Этот аудит проверит не только правильные настройки конфигурации, но также постарается выяснить, работает ли конфигурация, стараясь избегать ложных положительных результатов в процессе.

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

Требования

Общие:

  • Базовые знания Ansible, ниже приведены некоторые ссылки на документацию Ansible, чтобы помочь вам начать, если вы не знакомы с Ansible

  • Должна быть установлена и настроена работающая версия Ansible и/или Tower. Это включает в себя все базовые конфигурации Ansible/Tower, необходимые пакеты и настройки инфраструктуры.

  • Пожалуйста, ознакомьтесь с задачами в этой роли, чтобы понять, что делает каждый контроль. Некоторые из задач могут привести к сбоям и иметь непредвиденные последствия в работающей производственной системе. Также ознакомьтесь с переменными в файле defaults/main.yml.

Технические зависимости:

  • Рабочая установка Ansible/Tower (эта роль протестирована с версиями Ansible 2.9.1 и новее).
  • Среда выполнения Python3 для Ansible.
  • python-def (должен быть включен в RHEL/CentOS 7) - Первая задача настраивает предварительные условия (Tag pre-reqs) для python3 и python2 (где требуется).
    • libselinux-python
    • python3-rpm (пакет, используемый py3 для работы с rpm пакетами).

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

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

Теги

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

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

      tags:
      - level1-workstation
      - level1-server
      - automated
      - avahi
      - services
      - patch
      - rule_2.2.4

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

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

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

Тестирование конвейера

использует:

  • ansible-core 2.12
  • ansible collections - загружает последнюю версию на основе файла требований.
  • запускает аудит с использованием ветки devel.
  • Это автоматизированный тест, который выполняется при запросах на вытягивание в 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

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

Огромное спасибо удивительному сообществу и всем его участникам.

Включает огромную благодарность и признательность оригинальным авторам и сопровождающим.

Josh Springer, Daniel Shepherd, Bas Meijeri, James Cassell, Mike Renfro, DFed, George Nalen, Mark Bolwell

Установить
ansible-galaxy install ansible-lockdown/rhel7-cis
Лицензия
mit
Загрузки
65655
Владелец
Ansible Lockdown is a security baseline automation project sponsored by Mindpoint Group.