rhel7_cis
RHEL 7 CIS
Настройка системы RHEL/Centos 7 для соответствия стандартам CIS
На основе CIS RedHat Enterprise Linux 7 Benchmark v4.0.0 - 21-12-2023
Ищете поддержку?
Сообщество
В нашем сервере 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
Apply the CIS RHEL7 role
ansible-galaxy install ansible-lockdown/RHEL7-CIS