ansible_cis_ubuntu_2004

Ansible CIS Ubuntu 20.04 LTS Укрепление Статус сборки

CIS укреплённый Ubuntu: предотвращение кибератак и вредоносного ПО для критически важных систем. Рекомендации CIS блокируют ваши системы, устраняя:

  1. небезопасные программы;
  2. отключение неиспользуемых файловых систем;
  3. отключение ненужных портов или сервисов;
  4. аудит привилегированных операций;
  5. ограничение административных привилегий.

Рекомендации CIS применяются в виртуальных машинах в публичных и частных облаках. Они также используются для обеспечения безопасности локальных развертываний. Для некоторых отраслей укрепление системы в соответствии с общепринятой стандартной практикой является критерием, который ищут аудиторы. Рекомендации CIS часто являются выбором для укрепления системы, рекомендованным аудиторами для отраслей, требующих соблюдения PCI-DSS и HIPPA, таких как банковское дело, телекоммуникации и здравоохранение. Если вы пытаетесь достичь соответствия с общепринятым стандартом безопасности в отрасли, таким как PCI DSS, APRA или ISO 27001, вам необходимо продемонстрировать, что вы применили документированные стандарты укрепления ко всем системам в рамках оценки.

Бенчмарки Ubuntu CIS организованы в разные профили, а именно "Уровень 1" и "Уровень 2", предназначенные для серверных и рабочих сред.

Профиль Уровень 1 предназначен для практического и разумного способа защиты системы без значительного влияния на производительность.

  • Отключение ненужных файловых систем;
  • Ограничение прав пользователей на файлы и директории;
  • Отключение ненужных услуг;
  • Настройка сетевых брандмауэров.

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

  • Создание отдельных разделов;
  • Аудит привилегированных операций.

Инструмент укрепления Ubuntu CIS позволяет выбрать желаемый уровень укрепления в соответствии с профилем (Уровень 1 или Уровень 2) и рабочей средой (сервер или рабочая станция) для системы. Пример:

ansible-playbook -i inventory cis-ubuntu-20.yaml --tags="level_1_server"

Вы можете перечислить все теги, выполнив следующую команду:

ansible-playbook -i host run.yaml --list-tags

Я написал все роли на основе

CIS Ubuntu Linux 20.04 LTS Benchmark
v1.0.0 - 21-07-2020

Проверить пример директории


Требования

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

Вы можете бесплатно скачать книгу CIS Benchmark по следующему URL Бесплатный Бенчмарк

Чтобы начать работать с этой ролью, вам просто нужно установить Ansible. Установка Ansible


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

Вам нужно просмотреть все параметры конфигурации по умолчанию перед запуском этого плейбука. Многие переменные ролей определены в defaults/main.yml.

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

Примеры конфигурации, которые следует немедленно рассмотреть для исключения:

5.1.8 Убедитесь, что cron ограничен для авторизованных пользователей и 5.2.17 Убедитесь, что доступ по SSH ограничен, что по умолчанию эффективно ограничивает доступ к хосту (включая доступ по ssh).

Например:

  • CIS-Ubuntu-20.04-Ansible/defaults/main.yml

#Раздел 5
#5.1.8 Убедитесь, что cron ограничен для авторизованных пользователей
allowd_hosts: "ALL: 0.0.0.0/0.0.0.0, 192.168.2.0/255.255.255.0"
# 5.2.17 Убедитесь, что доступ по SSH ограничен
allowed_users: ali saleh baker root #Поставьте None или список пользователей с пробелом между каждым пользователем

Если вам нужно изменить шаблоны файлов, вы можете найти их в files/templates/*


Зависимости

  • Версия Ansible > 2.9

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

Ниже представлен пример плейбука

---
- hosts: host1
  become: yes
  remote_user: root
  gather_facts: no
  roles:
    - { role: "CIS-Ubuntu-20.04-Ansible",}

Запустить все

Если вы хотите запустить все теги, используйте следующую команду:

ansible-playbook -i [inventoryfile] [playbook].yaml

Запустить определенный раздел

ansible-playbook -i host run.yaml -t section2

Запустить несколько разделов

ansible-playbook -i host run.yaml -t section2 -t 6.1.1
  • Примечание: При запуске отдельной задачи убедитесь в зависимости между задачами. Например, если вы запустите тег 4.1.1.2 Убедитесь, что служба auditd включена, прежде чем запустить 4.1.1.1 Убедитесь, что auditd установлен, вы получите ошибку во время выполнения.

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

  • убедитесь, что выбрана одна служба, для меня я использую ntp, но вы можете использовать другие службы, такие как [systemd-timesyncd,ntp,chrony] в настройках defaults/main.yaml

    Тестирование 01/11/2020 протестировано на AWS EC2 ubuntu 20.04 LTS [Успешно] 01/11/2020 протестировано на локальном сервере Ubuntu 20.04 LTS [Успешно]

  • Перед запуском убедитесь, что обновили список пользователей в defaults/main.yaml на list_of_os_users + allowed_users

  • Убедитесь, что задан правильный подсеть в defaults/main.yaml на allowd_hosts


Таблица Ролей:

1 Начальная Настройка

  • 1.1 Конфигурация файловой системы
  • 1.1.1 Отключение неиспользуемых файловых систем
  • 1.1.1.1 Убедитесь, что монтирование файловых систем cramfs отключено (Автоматизировано)
  • 1.1.1.2 Убедитесь, что монтирование файловых систем freevxfs отключено (Автоматизировано)
  • 1.1.1.3 Убедитесь, что монтирование файловых систем jffs2 отключено (Автоматизировано)
  • 1.1.1.4 Убедитесь, что монтирование файловых систем hfs отключено (Автоматизировано)
  • 1.1.1.5 Убедитесь, что монтирование файловых систем hfsplus отключено (Автоматизировано)
  • 1.1.1.6 Убедитесь, что монтирование файловых систем udf отключено (Автоматизировано)
  • 1.1.1.7 Убедитесь, что монтирование файловых систем FAT ограничено (Вручную)
  • 1.1.2 Убедитесь, что /tmp настроен (Автоматизировано)
  • 1.1.3 Убедитесь, что опция nodev установлена на разделе /tmp (Автоматизировано)
  • 1.1.4 Убедитесь, что опция nosuid установлена на разделе /tmp (Автоматизировано)
  • 1.1.5 Убедитесь, что опция noexec установлена на разделе /tmp (Автоматизировано)
  • 1.1.6 Убедитесь, что /dev/shm настроен (Автоматизировано)
  • 1.1.7 Убедитесь, что опция nodev установлена на разделе /dev/shm (Автоматизировано)
  • 1.1.8 Убедитесь, что опция nosuid установлена на разделе /dev/shm (Автоматизировано)
  • 1.1.9 Убедитесь, что опция noexec установлена на разделе /dev/shm (Автоматизировано)
  • 1.1.10 Убедитесь, что существует отдельный раздел для /var (Автоматизировано)
  • 1.1.11 Убедитесь, что существует отдельный раздел для /var/tmp (Автоматизировано)
  • 1.1.12 Убедитесь, что опция nodev установлена на разделе /var/tmp (Автоматизировано)
  • 1.1.13 Убедитесь, что опция nosuid установлена на разделе /var/tmp (Автоматизировано)
  • 1.1.14 Убедитесь, что опция noexec установлена на разделе /var/tmp (Автоматизировано)
  • 1.1.15 Убедитесь, что существует отдельный раздел для /var/log (Автоматизировано)
  • 1.1.16 Убедитесь, что существует отдельный раздел для /var/log/audit (Автоматизировано)
  • 1.1.17 Убедитесь, что существует отдельный раздел для /home (Автоматизировано)
  • 1.1.18 Убедитесь, что опция nodev установлена на разделе /home (Автоматизировано)
  • 1.1.19 Убедитесь, что опция nodev установлена на разделах съемных носителей (Вручную)
  • 1.1.20 Убедитесь, что опция nosuid установлена на разделах съемных носителей (Вручную)
  • 1.1.21 Убедитесь, что опция noexec установлена на разделах съемных носителей (Вручную)
  • 1.1.22 Убедитесь, что установлен бит "sticky" для всех директорий, доступных для записи всем (Автоматизировано)
  • 1.1.23 Отключите автоматическое монтирование (Автоматизировано)
  • 1.1.24 Отключите USB-накопители (Автоматизировано)

1.2 Настройка обновлений программного обеспечения

  • 1.2.1 Убедитесь, что репозитории менеджера пакетов настроены (Вручную)
  • 1.2.2 Убедитесь, что ключи GPG настроены (Вручную)

1.3 Настройка sudo

  • 1.3.1 Убедитесь, что sudo установлен (Автоматизировано)
  • 1.3.2 Убедитесь, что команды sudo используют pty (Автоматизировано)
  • 1.3.3 Убедитесь, что файл журнала sudo существует (Автоматизировано)

1.4 Проверка целостности файловой системы

  • 1.4.1 Убедитесь, что AIDE установлен (Автоматизировано)
  • 1.4.2 Убедитесь, что целостность файловой системы проверяется регулярно (Автоматизировано)

1.5 Настройки безопасной загрузки

  • 1.5.1 Убедитесь, что установлен пароль для загрузчика (Автоматизировано)
  • 1.5.2 Убедитесь, что разрешения на конфигурацию загрузчика настроены (Автоматизировано)
  • 1.5.3 Убедитесь, что требуется аутентификация для режима одиночного пользователя (Автоматизировано)

1.6 Дополнительное усиление процессов

  • 1.6.1 Убедитесь, что поддержка XD/NX включена (Автоматизировано)
  • 1.6.2 Убедитесь, что рандомизация адресного пространства включена (ASLR) (Автоматизировано)
  • 1.6.3 Убедитесь, что предзагрузка отключена (Автоматизировано)
  • 1.6.4 Убедитесь, что дампы памяти ограничены (Автоматизировано)

1.7 Обязательный контроль доступа

  • 1.7.1 Настройка AppArmor
  • 1.7.1.1 Убедитесь, что AppArmor установлен (Автоматизировано)
  • 1.7.1.2 Убедитесь, что AppArmor включен в конфигурации загрузчика (Автоматизировано)
  • 1.7.1.3 Убедитесь, что все профили AppArmor находятся в режиме строгого контроля или режима жалоб (Автоматизировано)
  • 1.7.1.4 Убедитесь, что все профили AppArmor строго применяются (Автоматизировано)

1.8 Предупреждающие баннеры

  • 1.8.1 Предупреждающие баннеры командной строки
  • 1.8.1.1 Убедитесь, что сообщение дня настроено правильно (Автоматизировано)
  • 1.8.1.2 Убедитесь, что баннер предупреждения для локального входа настроен правильно (Автоматизировано)
  • 1.8.1.3 Убедитесь, что баннер предупреждения для удаленного входа настроен правильно (Автоматизировано)
  • 1.8.1.4 Убедитесь, что разрешения на /etc/motd настроены (Автоматизировано)
  • 1.8.1.5 Убедитесь, что разрешения на /etc/issue настроены (Автоматизировано)
  • 1.8.1.6 Убедитесь, что разрешения на /etc/issue.net настроены (Автоматизировано)
  • 1.9 Убедитесь, что обновления, патчи и дополнительное программное обеспечение безопасности установлены (Вручную)
  • 1.10 Убедитесь, что GDM удален или вход настроен (Автоматизировано)

2 Услуги

  • 2.1 Услуги inetd
  • 2.1.1 Убедитесь, что xinetd не установлен (Автоматизировано)
  • 2.1.2 Убедитесь, что openbsd-inetd не установлен (Автоматизировано)
  • 2.2 Специальные услуги
  • 2.2.1 Синхронизация времени
  • 2.2.1.1 Убедитесь, что используется синхронизация времени (Автоматизировано)
  • 2.2.1.2 Убедитесь, что systemd-timesyncd настроен (Вручную)
  • 2.2.1.3 Убедитесь, что chrony настроен (Автоматизировано)
  • 2.2.1.4 Убедитесь, что ntp настроен (Автоматизировано)
  • 2.2.2 Убедитесь, что X Window System не установлен (Автоматизировано)
  • 2.2.3 Убедитесь, что сервер Avahi не установлен (Автоматизировано)
  • 2.2.4 Убедитесь, что CUPS не установлен (Автоматизировано)
  • 2.2.5 Убедитесь, что сервер DHCP не установлен (Автоматизировано)
  • 2.2.6 Убедитесь, что сервер LDAP не установлен (Автоматизировано)
  • 2.2.7 Убедитесь, что NFS не установлен (Автоматизировано)
  • 2.2.8 Убедитесь, что сервер DNS не установлен (Автоматизировано)
  • 2.2.9 Убедитесь, что сервер FTP не установлен (Автоматизировано)
  • 2.2.10 Убедитесь, что HTTP-сервер не установлен (Автоматизировано)
  • 2.2.11 Убедитесь, что сервер IMAP и POP3 не установлен (Автоматизировано)
  • 2.2.12 Убедитесь, что Samba не установлена (Автоматизировано)
  • 2.2.13 Убедитесь, что HTTP Proxy Server не установлен (Автоматизировано)
  • 2.2.14 Убедитесь, что сервер SNMP не установлен (Автоматизировано)
  • 2.2.15 Убедитесь, что агент передачи почты настроен в режиме только для локального использования (Автоматизировано)
  • 2.2.16 Убедитесь, что служба rsync не установлена (Автоматизировано)
  • 2.2.17 Убедитесь, что сервер NIS не установлен (Автоматизировано)

2.3 Клиенты Услуг

  • 2.3.1 Убедитесь, что клиент NIS не установлен (Автоматизировано)
  • 2.3.2 Убедитесь, что клиент rsh не установлен (Автоматизировано)
  • 2.3.3 Убедитесь, что клиент talk не установлен (Автоматизировано)
  • 2.3.4 Убедитесь, что клиент telnet не установлен (Автоматизировано)
  • 2.3.5 Убедитесь, что клиент LDAP не установлен (Автоматизировано)
  • 2.3.6 Убедитесь, что RPC не установлен (Автоматизировано)
  • 2.4 Убедитесь, что ненужные услуги удалены или скрыты (Вручную)

3 Конфигурация сети

  • 3.1 Отключите неиспользуемые сетевые протоколы и устройства
  • 3.1.1 Отключите IPv6 (Вручную)
  • 3.1.2 Убедитесь, что беспроводные интерфейсы отключены (Автоматизировано)

3.2 Параметры сети (Только хост)

  • 3.2.1 Убедитесь, что отправка перенаправленных пакетов отключена (Автоматизировано)
  • 3.2.2 Убедитесь, что пересылка IP отключена (Автоматизировано)

3.3 Параметры сети (Хост и маршрутизатор)

  • 3.3.1 Убедитесь, что пакеты с маршрутом по источнику не принимаются (Автоматизировано)
  • 3.3.2 Убедитесь, что ICMP-редиректы не принимаются (Автоматизировано)
  • 3.3.3 Убедитесь, что безопасные ICMP-редиректы не принимаются (Автоматизировано)
  • 3.3.4 Убедитесь, что подозрительные пакеты регистрируются (Автоматизировано)
  • 3.3.5 Убедитесь, что широковещательные ICMP-запросы игнорируются (Автоматизировано)
  • 3.3.6 Убедитесь, что ложные ICMP-ответы игнорируются (Автоматизировано)
  • 3.3.7 Убедитесь, что фильтрация обратного пути включена (Автоматизировано)
  • 3.3.8 Убедитесь, что TCP SYN Cookies включены (Автоматизировано)
  • 3.3.9 Убедитесь, что объявления маршрутизаторов IPv6 не принимаются (Автоматизировано)

3.4 Необычные сетевые протоколы

  • 3.4.1 Убедитесь, что DCCP отключен (Автоматизировано)
  • 3.4.2 Убедитесь, что SCTP отключен (Автоматизировано)
  • 3.4.3 Убедитесь, что RDS отключен (Автоматизировано)
  • 3.4.4 Убедитесь, что TIPC отключен (Автоматизировано)

3.5 Настройка брандмауэра

  • 3.5.1 Настройка UncomplicatedFirewall
  • 3.5.1.1 Убедитесь, что Uncomplicated Firewall установлен (Автоматизировано)
  • 3.5.1.2 Убедитесь, что iptables-persistent не установлен (Автоматизировано)
  • 3.5.1.3 Убедитесь, что сервис ufw включен (Автоматизировано)
  • 3.5.1.4 Убедитесь, что трафик общего цикла настроен (Автоматизировано)
  • 3.5.1.5 Убедитесь, что исходящие соединения настроены (Вручную)
  • 3.5.1.6 Убедитесь, что правила брандмауэра существуют для всех открытых портов (Вручную)
  • 3.5.1.7 Убедитесь, что политика брандмауэра по умолчанию - запрет (Автоматизировано)
  • 3.5.2 Настройка nftables
  • 3.5.2.1 Убедитесь, что nftables установлен (Автоматизировано)
  • 3.5.2.2 Убедитесь, что Uncomplicated Firewall не установлен или отключен (Автоматизировано)
  • 3.5.2.3 Убедитесь, что iptables очищен (Вручную)
  • 3.5.2.4 Убедитесь, что таблица существует (Автоматизировано)
  • 3.5.2.5 Убедитесь, что базовые цепочки существуют (Автоматизировано)
  • 3.5.2.6 Убедитесь, что трафик общего цикла настроен (Автоматизировано)
  • 3.5.2.7 Убедитесь, что исходящие и установленные соединения настроены (Вручную)
  • 3.5.2.8 Убедитесь, что политика брандмауэра по умолчанию - запрет (Автоматизировано)
  • 3.5.2.9 Убедитесь, что сервис nftables включен (Автоматизировано)
  • 3.5.2.10 Убедитесь, что правила nftables являются постоянными (Автоматизировано)
  • 3.5.3 Настройка iptables
  • 3.5.3.1.1 Убедитесь, что пакеты iptables установлены (Автоматизировано)
  • 3.5.3.1.2 Убедитесь, что nftables не установлен (Автоматизировано)
  • 3.5.3.1.3 Убедитесь, что Uncomplicated Firewall не установлен или отключен (Автоматизировано)
  • 3.5.3.2.1 Убедитесь, что политика брандмауэра по умолчанию - запрет (Автоматизировано)
  • 3.5.3.2.2 Убедитесь, что трафик общего цикла настроен (Автоматизировано)
  • 3.5.3.2.3 Убедитесь, что исходящие и установленные соединения настроены (Вручную)
  • 3.5.3.2.4 Убедитесь, что правила брандмауэра существуют для всех открытых портов (Автоматизировано)
  • 3.5.3.3.1 Убедитесь, что политика брандмауэра IPv6 по умолчанию - запрет (Автоматизировано)
  • 3.5.3.3.2 Убедитесь, что трафик общего цикла IPv6 настроен (Автоматизировано)
  • 3.5.3.3.3 Убедитесь, что исходящие и установленные соединения IPv6 настроены (Вручную)

4 Журналирование и аудит

  • 4.1 Настройка системного учета (auditd)
  • 4.1.1 Убедитесь, что аудит включен
  • 4.1.1.1 Убедитесь, что auditd установлен (Автоматизировано)
  • 4.1.1.2 Убедитесь, что служба auditd включена (Автоматизировано)
  • 4.1.1.3 Убедитесь, что аудит процессов, стартующих до auditd, включен (Автоматизировано)
  • 4.1.1.4 Убедитесь, что audit_backlog_limit достаточно (Автоматизировано)
  • 4.1.2 Настройка хранения данных
  • 4.1.2.1 Убедитесь, что размер хранения журнала аудита настроен (Автоматизировано)
  • 4.1.2.2 Убедитесь, что журналы аудита не удаляются автоматически (Автоматизировано)
  • 4.1.2.3 Убедитесь, что система отключена, когда журналы аудита заполнены (Автоматизировано)
  • 4.1.3 Убедитесь, что события, которые изменяют дату и время, собираются (Автоматизировано)
  • 4.1.4 Убедитесь, что события, которые изменяют информацию о пользователях/группах, собираются (Автоматизировано)
  • 4.1.5 Убедитесь, что события, которые изменяют сетевую среду системы, собираются (Автоматизировано)
  • 4.1.6 Убедитесь, что события, которые изменяют обязательные контроли доступа системы, собираются (Автоматизировано)
  • 4.1.7 Убедитесь, что события входа и выхода собираются (Автоматизировано)
  • 4.1.8 Убедитесь, что информация о начале сессии собирается (Автоматизировано)
  • 4.1.9 Убедитесь, что события изменения разрешений дискретного доступа собираются (Автоматизировано)
  • 4.1.10 Убедитесь, что собираются неудачные попытки несанкционированного доступа к файлам (Автоматизировано)
  • 4.1.11 Убедитесь, что использование привилегированных команд собирается (Автоматизировано)
  • 4.1.12 Убедитесь, что собираются успешные монтирования файловой системы (Автоматизировано)
  • 4.1.13 Убедитесь, что собираются события удаления файлов пользователями (Автоматизировано)
  • 4.1.14 Убедитесь, что изменения в области администрирования системы (sudoers) собираются (Автоматизировано)
  • 4.1.15 Убедитесь, что сбор данных о выполнении команд системным администратором (sudo) ведется (Автоматизировано)
  • 4.1.16 Убедитесь, что загрузка и выгрузка модулей ядра собирается (Автоматизировано)
  • 4.1.17 Убедитесь, что конфигурация аудита неизменна (Автоматизировано)

4.2 Настройка журналирования

  • 4.2.1 Настройка rsyslog
  • 4.2.1.1 Убедитесь, что rsyslog установлен (Автоматизировано)
  • 4.2.1.2 Убедитесь, что служба rsyslog включена (Автоматизировано)
  • 4.2.1.3 Убедитесь, что журналирование настроено (Вручную)
  • 4.2.1.4 Убедитесь, что по умолчанию настроены разрешения файла rsyslog (Автоматизировано)
  • 4.2.1.5 Убедитесь, что rsyslog настроен на отправку журналов на удаленный хост (Автоматизировано)
  • 4.2.1.6 Убедитесь, что удаленные сообщения rsyslog принимаются только на определенных хостах. (Вручную)
  • 4.2.2 Настройка journald
  • 4.2.2.1 Убедитесь, что journald настроен на отправку журналов в rsyslog (Автоматизировано)
  • 4.2.2.2 Убедитесь, что journald настроен на сжатие больших файлов журнала (Автоматизировано)
  • 4.2.2.3 Убедитесь, что journald настроен на запись файлов журналов на постоянный диск (Автоматизировано)
  • 4.2.3 Убедитесь, что разрешения для всех файлов журналов настроены (Автоматизировано)
  • 4.3 Убедитесь, что logrotate настроен (Вручную)
  • 4.4 Убедитесь, что logrotate назначает соответствующие разрешения (Автоматизировано)

5 Доступ, Аутентификация и Авторизация

  • 5.1 Настройка планировщиков задач на основе времени
  • 5.1.1 Убедитесь, что демон cron включен и работает (Автоматизировано)
  • 5.1.2 Убедитесь, что разрешения на /etc/crontab настроены (Автоматизировано)
  • 5.1.3 Убедитесь, что разрешения на /etc/cron.hourly настроены (Автоматизировано)
  • 5.1.4 Убедитесь, что разрешения на /etc/cron.daily настроены (Автоматизировано)
  • 5.1.5 Убедитесь, что разрешения на /etc/cron.weekly настроены (Автоматизировано)
  • 5.1.6 Убедитесь, что разрешения на /etc/cron.monthly настроены (Автоматизировано)
  • 5.1.7 Убедитесь, что разрешения на /etc/cron.d настроены (Автоматизировано)
  • 5.1.8 Убедитесь, что cron ограничен для авторизованных пользователей (Автоматизировано)
  • 5.1.9 Убедитесь, что at ограничен для авторизованных пользователей (Автоматизировано)

5.2 Настройка SSH сервера

  • 5.2.1 Убедитесь, что разрешения на /etc/ssh/sshd_config настроены (Автоматизировано)
  • 5.2.2 Убедитесь, что разрешения на приватные ключи SSH настроены (Автоматизировано)
  • 5.2.3 Убедитесь, что разрешения на публичные ключи SSH настроены (Автоматизировано)
  • 5.2.4 Убедитесь, что уровень журнала SSH установлен правильно (Автоматизировано)
  • 5.2.5 Убедитесь, что пересылка X11 SSH отключена (Автоматизировано)
  • 5.2.6 Убедитесь, что MaxAuthTries для SSH установлен на 4 или меньше (Автоматизировано)
  • 5.2.7 Убедитесь, что SSH IgnoreRhosts включен (Автоматизировано)
  • 5.2.8 Убедитесь, что SSH HostbasedAuthentication отключен (Автоматизировано)
  • 5.2.9 Убедитесь, что вход root отключен (Автоматизировано)
  • 5.2.10 Убедитесь, что разрешение пустых паролей SSH отключено (Автоматизировано)
  • 5.2.11 Убедитесь, что SSH PermitUserEnvironment отключен (Автоматизировано)
  • 5.2.12 Убедитесь, что используется только сильное шифрование (Автоматизировано)
  • 5.2.13 Убедитесь, что используются только сильные алгоритмы MAC (Автоматизировано)
  • 5.2.14 Убедитесь, что используются только сильные алгоритмы обмена ключами (Автоматизировано)
  • 5.2.15 Убедитесь, что интервал таймаута для SSH настроен (Автоматизировано)
  • 5.2.16 Убедитесь, что время ожидания для входа SSH установлено на одну минуту или меньше (Автоматизировано)
  • 5.2.17 Убедитесь, что доступ SSH ограничен (Автоматизировано)
  • 5.2.18 Убедитесь, что баннер предупреждения SSH настроен (Автоматизировано)
  • 5.2.19 Убедитесь, что SSH PAM включен (Автоматизировано)
  • 5.2.20 Убедитесь, что разрешение TCP-пересылки SSH отключено (Автоматизировано)
  • 5.2.21 Убедитесь, что MaxStartups для SSH настроен (Автоматизировано)
  • 5.2.22 Убедитесь, что MaxSessions ограничен (Автоматизировано)

5.3 Настройка PAM

  • 5.3.1 Убедитесь, что требования по созданию паролей настроены (Автоматизировано)
  • 5.3.2 Убедитесь, что установлены ограничения на неудачные попытки входа по паролю (Автоматизировано)
  • 5.3.3 Убедитесь, что повторное использование пароля ограничено (Автоматизировано)
  • 5.3.4 Убедитесь, что алгоритм хеширования паролей - SHA-512 (Автоматизировано)

5.4 Учетные записи пользователей и окружение

  • 5.4.1 Установите параметры Shadow Password Suite
  • 5.4.1.1 Убедитесь, что срок действия пароля составляет 365 дней или меньше (Автоматизировано)
  • 5.4.1.2 Убедитесь, что минимальное количество дней между сменами паролей настроено (Автоматизировано)
  • 5.4.1.3 Убедитесь, что дни предупреждения о смене пароля - 7 или больше (Автоматизировано)
  • 5.4.1.4 Убедитесь, что блокировка пароля без действия установлена на 30 дней или меньше (Автоматизировано)
  • 5.4.1.5 Убедитесь, что дата последнего изменения пароля для всех пользователей находится в прошлом (Автоматизировано)
  • 5.4.2 Убедитесь, что системные учетные записи защищены (Автоматизировано)
  • 5.4.3 Убедитесь, что для учетной записи root установлен групповой ID 0 (Автоматизировано)
  • 5.4.4 Убедитесь, что у маски пользователя по умолчанию значение 027 или более ограничительное (Автоматизировано)
  • 5.4.5 Убедитесь, что тайм-аут оболочки пользователя по умолчанию составляет 900 секунд или меньше (Автоматизировано)
  • 5.5 Убедитесь, что вход root ограничен консолью системы (Вручную)
  • 5.6 Убедитесь, что доступ к команде su ограничен (Автоматизировано)

6 Обслуживание системы

  • 6.1 Разрешения файловой системы
  • 6.1.1 Проверьте разрешения файловой системы (Вручную)
  • 6.1.2 Убедитесь, что разрешения на /etc/passwd настроены (Автоматизировано)
  • 6.1.3 Убедитесь, что разрешения на /etc/gshadow настроены (Автоматизировано)
  • 6.1.4 Убедитесь, что разрешения на /etc/shadow настроены (Автоматизировано)
  • 6.1.5 Убедитесь, что разрешения на /etc/group настроены (Автоматизировано)
  • 6.1.6 Убедитесь, что разрешения на /etc/passwd- настроены (Автоматизировано)
  • 6.1.7 Убедитесь, что разрешения на /etc/shadow- настроены (Автоматизировано)
  • 6.1.8 Убедитесь, что разрешения на /etc/group- настроены (Автоматизировано)
  • 6.1.9 Убедитесь, что разрешения на /etc/gshadow настроены (Автоматизировано)
  • 6.1.10 Убедитесь, что нет файлов, доступных для записи всем (Автоматизировано)
  • 6.1.11 Убедитесь, что нет не принадлежащих файлов или каталогов (Автоматизировано)
  • 6.1.12 Убедитесь, что нет файлов или каталогов, не относящихся к группам (Автоматизировано)
  • 6.1.13 Проверьте SUID исполняемые файлы (Вручную)
  • 6.1.14 Проверьте SGID исполняемые файлы (Вручную)

6.2 Настройки пользователей и групп

  • 6.2.1 Убедитесь, что поля паролей не пустые (Автоматизировано)
  • 6.2.2 Убедитесь, что root - единственная учетная запись UID 0 (Автоматизировано)
  • 6.2.3 Убедитесь, что целостность пути root (Автоматизировано)
  • 6.2.4 Убедитесь, что домашние каталоги всех пользователей существуют (Автоматизировано)
  • 6.2.5 Убедитесь, что разрешения домашних каталогов пользователей составляют 750 или более ограничительные (Автоматизировано)
  • 6.2.6 Убедитесь, что пользователи владеют своими домашними каталогами (Автоматизировано)
  • 6.2.7 Убедитесь, что файлы точек пользователей не доступны для записи группами или всем (Автоматизировано)
  • 6.2.8 Убедитесь, что у пользователей нет файлов .forward (Автоматизировано)
  • 6.2.9 Убедитесь, что у пользователей нет файлов .netrc (Автоматизировано)
  • 6.2.10 Убедитесь, что файлы .netrc пользователей не доступны для записи группами или всем (Автоматизировано)
  • 6.2.11 Убедитесь, что у пользователей нет файлов .rhosts (Автоматизировано)
  • 6.2.12 Убедитесь, что для всех групп в /etc/passwd есть записи в /etc/group (Автоматизировано)
  • 6.2.13 Убедитесь, что нет дубликатов UID (Автоматизировано)
  • 6.2.14 Убедитесь, что нет дубликатов GID (Автоматизировано)
  • 6.2.15 Убедитесь, что нет дублирующихся имен пользователей (Автоматизировано)
  • 6.2.16 Убедитесь, что нет дублирующихся имен групп (Автоматизировано)
  • 6.2.17 Убедитесь, что группа shadow пустая (Автоматизировано)

Устранение неполадок

  • Если вы хотите запустить плейбук на той же машине, убедитесь, что добавили это в задачу:
- hosts: 127.0.0.1
  connection: local
  • Если вы столкнулись с проблемой, попробуйте запустить плейбук в другом каталоге, например /srv/.
  • Для ошибок типа stderr: chage: user 'ubuntu' does not exist in /etc/passed, убедитесь, что обновили конфигурацию в CIS-Ubuntu-20.04-Ansible/defaults/main.yml

Лицензия

GNU GENERAL PUBLIC LICENSE

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

Роль была изначально разработана Ali Saleh Baker.

При внесении изменений в этот репозиторий сначала обсудите изменения, которые вы хотите внести, через GitHub issue, по электронной почте или другими каналами со мной :)

Установить
ansible-galaxy install ryezone-labs/ansible_CIS_Ubuntu_2004
Лицензия
gpl-3.0
Загрузки
143
Владелец