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.
Все отзывы, проблемы и запросы на слияние приветствуются и ценятся.
ansible-galaxy install anthcourtney.cis-amazon-linux