anthcourtney.cis-amazon-linux

anthcourtney.cis-amazon-linux

Статус сборки

Ветка Статус
Мастер Статус сборки
Сборка Статус сборки

Разработка

Мы собираемся использовать ветку "master" только для полностью протестированных изменений.

В дальнейшем, пожалуйста, отправляйте ваши запросы на слияние в ветку "build".

Нам нужна поддержка сообщества для внесения изменений и, что наиболее важно, для тестирования и проверки изменений. Если вы хотите участвовать, пожалуйста, свяжитесь с Anth или Chandan.

Основные задачи, которые предстоит выполнить:

  • CIS Бенчмарк v2.2.0
  • Ansible 2.5 и выше
  • Amazon Linux 2 LTS

Введение

Эта роль ansible применяет v2.0.0 CIS Amazon Linux Benchmark. https://benchmarks.cisecurity.org/tools2/linux/CIS_Amazon_Linux_Benchmark_v2.0.0.pdf

Эта роль была разработана и протестирована на Amazon Linux 2016.03. Она также была протестирована на Amazon Linux 2016.09 с равным успехом.

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

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

Если вы используете Amazon Linux, то эта роль пытается предоставить одну из частей решения для удовлетворения требований по соответствию.

Осторожно!

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

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

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

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

Amazon Linux и SE Linux

По умолчанию SElinux отключен через grub в Amazon Linux.

Чтобы включить, отредактируйте ;

/boot/grub/menu.lst

Измените selinux=0 на selinux=1

touch /etc/selinux/config

Также установите следующий пакет, чтобы модуль ansible для SElinux работал на хосте.

yum install libselinux-python

Перезагрузка потребуется, чтобы изменения вступили в силу.

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

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

---

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

  roles:
    - anthcourtney.cis-amazon-linux

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

---

- 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:
    - anthcourtney.cis-amazon-linux

Обратите внимание, что использование 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.3
  • 2.4
  • 2.5
  • 2.6
  • 2.7

Эта роль не тестировалась на других версиях ansible.

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

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

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

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

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

Линтинг

Пожалуйста, запустите make lint, чтобы убедиться, что мы соблюдаем стандарты ansible.

Лицензия

MIT.

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

Эта роль была разработана Anth Courtney.

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

О проекте

Implement CIS Amazon Linux V2 Benchmark

Установить
ansible-galaxy install anthcourtney.cis-amazon-linux
Лицензия
mit
Загрузки
13.8k
Владелец