ubuntu18_cis

UBUNTU18 CIS

Настройка машины Ubuntu18 для соответствия CIS

Основано на CIS Ubuntu1804 Benchmark v2.1.0


Org Stars Stars Forks followers Twitter URL

Ansible Galaxy Quality Discord Badge

Release Branch Release Tag Release Date

Main Pipeline Status

Devel Pipeline Status Devel Commits

Issues Open Issues Closed Pull Requests

License


Ищете поддержку?

Lockdown Enterprise

Поддержка Ansible

Сообщество

Присоединяйтесь к нашему серверу 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

ошибка 1839899

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

использует:

  • ansible-core 2.16
  • коллекции ansible - загружает последнюю версию на основе файла требований
  • запускает аудит, используя ветку devel
  • Это автоматизированный тест, который происходит по запросам на пул в devel

Дополнительные функции

  • pre-commit можно протестировать и запустить из директории
pre-commit run
Установить
ansible-galaxy install ansible-lockdown/UBUNTU18-CIS
Лицензия
mit
Загрузки
876
Владелец
Ansible Lockdown is a security baseline automation project sponsored by Mindpoint Group.