ansible_rhel8_cis_benchmarks

HarryHarcourt.Ansible-RHEL8-CIS-Бенчмарки

Вся заслуга принадлежит anthcourtney за оригинальную основу, найденную здесь: https://github.com/anthcourtney/ansible-role-cis-amazon-linux

Эта реализация была адаптирована для Red Hat Enterprise Linux 8.X и CentOS 8.X (заметьте, еще не протестировано).

Эта реализация была сделана идемпотентной во многих местах и продолжает оставаться такой.

Эта реализация позволяет включение и настройку некоторых служб.

CIS Бенчмарк для Linux RHEL. https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v2.1.1.pdf

Эта роль была разработана и протестирована на Red Hat Linux 8.0 с использованием AWS AMI: ami-079596bf7a949ddf8

Зачем мне использовать эту роль?

Если вы пытаетесь достичь соответствия общепринятому стандарту безопасности, например, PCI DSS, APRA или ISO 27001, то вам нужно продемонстрировать, что вы применили документированные стандарты защиты ко всем системам в сфере оценки.

Если вы используете Red Hat Linux, то эта роль пытается предоставить один из элементов решения для достижения соответствия.

Будьте осторожны!

Если вы рассматриваете возможность применения этой роли на любых серверах, вам следует иметь базовое представление о CIS Бенчмарке (или других подобных бенчмарках) и понимание влияния, которое это может иметь на систему.

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

Примеры элементов, которые следует немедленно рассмотреть для исключения (или, по крайней мере, для модификации связанных значений по умолчанию), включают:

  • 3.4.2 и 3.4.3, которые по умолчанию фактически ограничивают доступ к хосту (включая ssh) только до localhost.

Пример плейбука

Пример плейбука, который использует эту роль, выглядит следующим образом:

---

- hosts: localhost
  connection: local
  gather_facts: true
  become: yes

  roles:
    - Ansible-RHEL8-CIS-Benchmarks 

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

---

- hosts: localhost
  connection: local
  gather_facts: true
  become: yes

  vars:
    cis_level_1_exclusions:
      - 5.4.4
      - 3.4.2
      - 3.4.3
      - 6.2.13   
    cis_pass_max_days: 45
    cis_umask_default: 002
 
  roles:
    - Ansible-RHEL8-CIS-Benchmarks

Обратите внимание, что использование become: yes требуется, так как 99% задач требуют привилегированного доступа для выполнения.

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

Смотрите defaults/main.yml для переменных, которые могут быть переопределены по вашему усмотрению.

Опции

Метки (и их комбинации) могут использоваться для выполнения определенного уровня CIS стандарта, раздела или отдельной рекомендации. Например:

  • Выполнить только задачи уровня 1
ansible-playbook playbook.yml -t level-1
  • Выполнить только задачи раздела 3
ansible-playbook playbook.yml -t section-3
  • Выполнить только задачи 1.3.1 и 2.2.10
ansible-playbook playbook.yml -t 1.3.1,2.2.10
  • Выполнить только оцененные задачи
ansible-playbook playbook.yml -t scored

Ограничения

На данный момент реализованы только элементы уровня 1 бенчмарка. Элементы уровня 2 будут добавлены по мере возможности.

Следующие проверки еще не реализованы:

  • 3.6.2. Правила брандмауэра специфичны для среды.
  • 3.6.3. Правила брандмауэра специфичны для среды.
  • 3.6.4. Правила брандмауэра специфичны для среды.
  • 3.6.5. Правила брандмауэра специфичны для среды.
  • 4.2.1.2. Определение того, что должно записываться, и место назначения сообщений специфичны для среды.
  • 4.2.2.2. Определение того, что должно записываться, и место назначения сообщений специфичны для среды.
  • 4.2.2.3. Встраиваемое редактирование файла конфигурации syslog-ng считается слишком неточным и лучше решается предложенным файлом конфигурации, который учитывает эти и другие связанные требования.
  • 4.2.2.4. Встраиваемое редактирование файла конфигурации syslog-ng считается слишком неточным и лучше решается предложенным файлом конфигурации, который учитывает эти и другие связанные требования.
  • 4.2.2.5. Встраиваемое редактирование файла конфигурации syslog-ng считается слишком неточным и лучше решается предложенным файлом конфигурации, который учитывает эти и другие связанные требования.
  • 4.3. Конфигурация logrotate специфична для места.
  • 5.3.2. Многострочное редактирование файлов конфигурации pam считается слишком неточным и опасным, и лучше решается предложенным файлом конфигурации, который учитывает эти и другие связанные требования.
  • 5.3.3. Многострочное редактирование файлов конфигурации pam считается слишком неточным и опасным, и лучше решается предложенным файлом конфигурации, который учитывает эти и другие связанные требования.

Совместимость

Эта роль совместима со следующими версиями ansible:

  • 2.0.2
  • 2.1.3
  • 2.2.0
  • 2.3.0

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

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

Следующие процессы тестирования применяются разработчиком этой роли:

  • Проверяется синтаксис роли. Смотрите make syntax.
  • ansible-review выполняется для роли, и все предупреждения, которые считаются уместными, устраняются. Смотрите make review.
  • Роль применяется к контейнеру Docker с использованием как ansible v2.1.3, так и ansible v2.2. Смотрите make test.

Следующие тесты были помечены, но еще не реализованы:

  • Тест применения роли к изображению Vagrant mvbcoding/awslinux с использованием провиженера ansible.

Лицензия

BSD.

Информация об авторе

Роль первоначально была разработана Anth Courtney.

Эта роль была дополнительно разработана Ben Wright.

Все отзывы, вопросы и запросы на участие приветствуются и оценены.

О проекте

Idempotent CIS Benchmarks for RHEL/CentOS Linux V2

Установить
ansible-galaxy install HarryHarcourt/Ansible-RHEL8-CIS-Benchmarks
Лицензия
Unknown
Загрузки
148
Владелец