ubuntu1804_cis
Ubuntu 18.04 CIS STIG
Настройте машину на основе Ubuntu 18.04 для соответствия стандартам CIS. Проблемы уровня 1 и 2 будут исправлены по умолчанию.
Эта роль внесет изменения в систему, которые могут вызвать сбои. Это не инструмент аудита, а инструмент для исправления проблем, который используется после проведения аудита.
ВАЖНЫЙ ЭТАП УСТАНОВКИ
Если вы хотите установить это с помощью команды ansible-galaxy
, выполните следующую команду:
ansible-galaxy install -p roles -r requirements.yml
Содержимое файла requirements.yml:
- src: https://github.com/florianutz/Ubuntu1804-CIS.git
Согласно CIS Ubuntu Benchmark v2.0.1 - 01-03-2020 .
Этот репозиторий основан на работе, выполненной MindPointGroup
Требования
Необходимо внимательно прочитать задачи, чтобы убедиться, что эти изменения не нарушат работу вашей системы перед запуском этого плейбука.
Переменные роли
В файле defaults/main.yml определено множество переменных роли. Этот список показывает самые важные.
ubuntu1804cis_notauto: Выполнять проверки CIS, которые мы обычно НЕ хотим автоматизировать, из-за высокой вероятности сбоя системы (По умолчанию: false)
ubuntu1804cis_section1: CIS - Общие настройки (Раздел 1) (По умолчанию: true)
ubuntu1804cis_section2: CIS - Настройки сервисов (Раздел 2) (По умолчанию: true)
ubuntu1804cis_section3: CIS - Настройки сети (Раздел 3) (По умолчанию: true)
ubuntu1804cis_section4: CIS - Настройки журналирования и аудита (Раздел 4) (По умолчанию: true)
ubuntu1804cis_section5: CIS - Настройки доступа, аутентификации и авторизации (Раздел 5) (По умолчанию: true)
ubuntu1804cis_section6: CIS - Настройки обслуживания системы (Раздел 6) (По умолчанию: true)
Отключить все функции selinux
ubuntu1804cis_selinux_disable: false
Переменные сервисов:
Эти переменные контролируют, следует ли разрешить серверу продолжать работу этих сервисов
ubuntu1804cis_avahi_server: false
ubuntu1804cis_cups_server: false
ubuntu1804cis_dhcp_server: false
ubuntu1804cis_ldap_server: false
ubuntu1804cis_telnet_server: false
ubuntu1804cis_nfs_server: false
ubuntu1804cis_rpc_server: false
ubuntu1804cis_ntalk_server: false
ubuntu1804cis_rsyncd_server: false
ubuntu1804cis_tftp_server: false
ubuntu1804cis_rsh_server: false
ubuntu1804cis_nis_server: false
ubuntu1804cis_snmp_server: false
ubuntu1804cis_squid_server: false
ubuntu1804cis_smb_server: false
ubuntu1804cis_dovecot_server: false
ubuntu1804cis_httpd_server: false
ubuntu1804cis_vsftpd_server: false
ubuntu1804cis_named_server: false
ubuntu1804cis_bind: false
ubuntu1804cis_vsftpd: false
ubuntu1804cis_httpd: false
ubuntu1804cis_dovecot: false
ubuntu1804cis_samba: false
ubuntu1804cis_squid: false
ubuntu1804cis_net_snmp: false
Обозначить сервер как почтовый
ubuntu1804cis_is_mail_server: false
Параметры сетевой конфигурации системы (только хост ИЛИ хост и маршрутизатор)
ubuntu1804cis_is_router: false
Необходимость IPv6
ubuntu1804cis_ipv6_required: true
AIDE
ubuntu1804cis_config_aide: true
Настройки cron для AIDE
ubuntu1804cis_aide_cron:
cron_user: root
cron_file: /etc/crontab
aide_job: '/usr/sbin/aide --check'
aide_minute: 0
aide_hour: 5
aide_day: '*'
aide_month: '*'
aide_weekday: '*'
Установите 'true', если в вашей среде требуется X Windows
ubuntu1804cis_xwindows_required: no
Требования к клиентским приложениям
ubuntu1804cis_openldap_clients_required: false
ubuntu1804cis_telnet_required: false
ubuntu1804cis_talk_required: false
ubuntu1804cis_rsh_required: false
ubuntu1804cis_ypbind_required: false
Синхронизация времени
ubuntu1804cis_time_synchronization: chrony
ubuntu1804cis_time_Synchronization: ntp
ubuntu1804cis_time_synchronization_servers:
- uri: "0.pool.ntp.org"
config: "minpoll 8"
- uri: "1.pool.ntp.org"
config: "minpoll 8"
- uri: "2.pool.ntp.org"
config: "minpoll 8"
- uri: "3.pool.ntp.org"
config: "minpoll 8"
- название: "ОЦЕНКА | 1.1.5 | ПАТЧ | Убедитесь, что установлен параметр noexec для раздела /tmp"
Это не реализовано, noexec для /tmp нарушит работу apt. /tmp содержит исполняемые скрипты во время установки пакетов.
1.5.3 | ПАТЧ | Убедитесь, что требуется аутентификация для однопользовательского режима
По умолчанию отключено, так как устанавливается случайный пароль для root. Чтобы включить, установите:
ubuntu1804cis_rule_1_5_3: true
Чтобы использовать что-то другое, кроме случайного пароля:
ubuntu1804cis_root_password: 'новый пароль'
3.4.2 | ПАТЧ | Убедитесь, что /etc/hosts.allow настроен
ubuntu1804cis_host_allow:
- "10.0.0.0/255.0.0.0"
- "172.16.0.0/255.240.0.0"
- "192.168.0.0/255.255.0.0"
ubuntu1804cis_firewall: firewalld
ubuntu1804cis_firewall: iptables
5.3.1 | ПАТЧ | Убедитесь, что требования к созданию пароля настроены
ubuntu1804cis_pwquality:
- key: 'minlen'
value: '14'
- key: 'dcredit'
value: '-1'
- key: 'ucredit'
value: '-1'
- key: 'ocredit'
value: '-1'
- key: 'lcredit'
value: '-1'
Зависимости
Ansible >= 2.4 и <= 2.7 (версия 2.8 еще не поддерживается)
Пример плейбука
- name: Укрепление сервера
hosts: servers
become: yes
roles:
- Ubuntu1804-CIS
Чтобы запустить задачи из этого репозитория, сначала создайте этот файл на уровень выше репозитория
(т.е. плейбук .yml и каталог Ubuntu1804-CIS
должны находиться рядом друг с другом),
затем просмотрите файл defaults/main.yml
и отключите любое правило/секцию, которые вы не хотите выполнять.
Предполагая, что вы назвали файл site.yml
, запустите его с помощью:
ansible-playbook site.yml
Теги
Доступно множество тегов для точного контроля того, что изменяется, а что нет.
Некоторые примеры использования тегов:
# Аудит и патч сайта
ansible-playbook site.yml --tags="patch"
Лицензия
MIT
ansible-galaxy install florianutz/Ubuntu1804-CIS