ubuntu18_cis
UBUNTU18 CIS
Настройка машины Ubuntu18 для соответствия CIS
Основано на CIS Ubuntu1804 Benchmark v2.1.0
Ищете поддержку?
Сообщество
Присоединяйтесь к нашему серверу Discord, чтобы задать вопросы, обсудить функции или просто пообщаться с другими пользователями Ansible-Lockdown.
Предупреждения
Этот ролевой скрипт внесет изменения в систему, которые могут привести к непредвиденным последствиям. Это не инструмент для аудита, а инструмент для исправления, который следует использовать после проведенного аудита.
Режим проверки не поддерживается! Роль завершится в режиме проверки без ошибок, но она не поддерживается и должна использоваться с осторожностью. Для проверки соответствия используйте роль UBUNTU18-CIS-Audit или сканер соответствия.
Эта роль разработана для чистой установки операционной системы. Если вы применяете ее к существующей системе, пожалуйста, просмотрите эту роль на предмет любых специфических изменений.
Чтобы использовать версию релиза, укажите основную ветку и соответствующий релиз для контрольного списка CIS, с которым вы хотите работать.
Соответствие уровню безопасности для CIS
Можно запускать только уровни 1 или 2 для CIS. Это управляется с помощью тегов:
- level1_server
- level1_workstation
- level2_server
- level2_workstation
Контроль, найденный в главных настройках, также должен отражать это, поскольку этот контроль отвечает за тестирование, проводимое, если вы используете компонент аудита.
Переход с предыдущего релиза
Релиз CIS всегда содержит изменения, поэтому настоятельно рекомендуется просмотреть новые ссылки и доступные переменные. Это изменилось значительно с первоначального релиза ansible-lockdown. Теперь совместим с python3, если он установлен как интерпретатор по умолчанию. Это требует предварительных условий, которые конфигурируют систему соответствующим образом.
Дополнительные детали можно увидеть в Changelog
Аудит (новое)
Это можно включать или отключать в файле defaults/main.yml с переменной run_audit. Значение по умолчанию - false, пожалуйста, обратитесь к вики для получения дополнительных деталей. Файл по умолчанию также заполняет проверки goss, чтобы проверять только те контроли, которые были включены в роль ansible.
Это гораздо более быстрый и легковесный способ проверки соответствия конфигурации и текущих настроек.
Была разработана новая форма аудита с использованием компактного двоичного файла (12 МБ) под названием goss с соответствующими конфигурациями для проверки. Это не требует инфраструктуры или других инструментов. Этот аудит не только проверяет, что конфигурация имеет правильные настройки, но и определяет, работает ли она с этой конфигурацией, пытаясь исключить ложные срабатывания в процессе.
Смотрите UBUNTU18-CIS-Audit.
Пример итогов аудита
Этот пример основан на изображении vagrant с включенными параметрами. Например, без графического интерфейса или брандмауэра. Примечание: во время аудита выполняется больше тестов, поскольку мы проверяем как конфигурацию, так и текущее состояние.
ok: [default] => {
"msg": [
"Предварительные результаты: ['Общая продолжительность: 5.454s', 'Количество: 338, Неудачно: 47, Пропущено: 5'].",
"Результаты после исправления: ['Общая продолжительность: 5.007s', 'Количество: 338, Неудачно: 46, Пропущено: 5'].",
"Полная разбивка доступна в /var/tmp",
""
]
}
PLAY RECAP *******************************************************************************************************************************************
default : ok=270 changed=23 unreachable=0 failed=0 skipped=140 rescued=0 ignored=0
Документация
- Читать документацию
- Начало работы
- Настройка ролей
- Настройка на уровне хоста
- Как извлечь максимальную выгоду из роли
Требования
Общие:
Базовые знания Ansible, ниже приведены ссылки на документацию Ansible, которые помогут вам начать, если вы не знакомы с Ansible
Рабочий Ansible и/или Tower, установленный, настроенный и работающий. Это включает в себя все базовые конфигурации Ansible/Tower, необходимые пакеты и настройки инфраструктуры.
Пожалуйста, ознакомьтесь с задачами в этой роли, чтобы понять, что делает каждое управление. Некоторые из задач могут быть разрушительными и привести к непредвиденным последствиям в работающей системе. Также ознакомьтесь с переменными в файле defaults/main.yml.
Технические зависимости:
- Доступ для загрузки или добавления двоичного файла goss и содержимого в систему, если вы используете аудит (доступны другие варианты, как получить содержимое в систему).
- Python3
- Ansible 2.10.1+
- python-def
- libselinux-python
Переменные роли
Эта роль разработана так, чтобы конечному пользователю не нужно было редактировать задачи напрямую. Все настройки должны выполняться через файл defaults/main.yml или с помощью дополнительных переменных в проекте, задаче, рабочем процессе и т. д.
Теги
Доступно множество тегов для добавления точности контроля. Каждый контроль имеет свой набор тегов, указывающих уровень, является ли он оцененным или нет, к какому элементу ОС он относится, является ли он исправлением или аудитом, и номер правила.
Ниже приведен пример секции тегов из контроля внутри этой роли. В этом примере, если вы установите свой запуск, чтобы пропустить все контроли с тегом services, эта задача будет пропущена. Произойдет и обратное: вы можете запустить только контроли с тегами services.
tags:
- level1-server
- level1-workstation
- scored
- avahi
- services
- patch
- rule_2.2.4
Вклад в сообщество
Мы призываем вас (сообщество) вносить вклад в эту роль. Пожалуйста, ознакомьтесь с правилами ниже.
- Ваша работа выполняется в вашей собственный ветке. Убедитесь, что вы подписали и GPG подписали все коммиты, которые вы собираетесь объединить.
- Все запросы на пул от сообщества объединяются в ветку devel.
- Запросы на пул в devel подтвердят, что ваши коммиты имеют подпись GPG, подписаны и прошли функциональное тестирование перед их одобрением.
- После того как ваши изменения объединены и выполнен более детальный обзор, уполномоченное лицо объединит ваши изменения в основную ветку для нового релиза.
Известные проблемы
cloud0init - из-за ошибки это перестанет работать, если noexec добавлено в /var. ubtu18cis_rule_1_1_3_3
Тестирование Pipeline
использует:
- ansible-core 2.16
- коллекции ansible - загружает последнюю версию на основе файла требований
- запускает аудит, используя ветку devel
- Это автоматизированный тест, который происходит по запросам на пул в devel
Дополнительные функции
- pre-commit можно протестировать и запустить из директории
pre-commit run
Apply the Ubuntu 18 CIS
ansible-galaxy install ansible-lockdown/UBUNTU18-CIS