Согласование образа Ubuntu службы Azure Kubernetes (AKS) с эталоном центра интернет-безопасности (CIS)

Служба Azure Kubernetes (AKS), будучи защищенной службой, соответствует стандартам SOC, ISO, PCI DSS и HIPAA. В этой статье описывается конфигурация ОС безопасности, применяемая к образу Ubuntu, используемому AKS. Эта конфигурация безопасности основана на базовой конфигурации безопасности Linux Azure, которая соответствует тесту CIS. Дополнительные сведения о безопасности AKS см. в статье Основные понятия безопасности приложений и кластеров в Службе Azure Kubernetes (AKS). Дополнительные сведения о безопасности AKS см. в статье Основные понятия безопасности приложений и кластеров в Службе Azure Kubernetes (AKS). Дополнительные сведения о тесте производительности CIS см. в разделе Эталоны Центра безопасности в Интернете (CIS). Дополнительные сведения о базовом плане безопасности Azure для Linux см. в разделе Базовые показатели безопасности Linux.

Ubuntu LTS 18.04

Кластеры AKS развертываются на виртуальных машинах узла, где выполняется операционная система со встроенными безопасными конфигурациями. Эта операционная система используется для контейнеров, работающих в AKS. Эта операционная система узла основана на образе Ubuntu 18.04.LTS с примененными конфигурациями безопасности.

В рамках оптимизированной для безопасности операционной системы:

  • AKS по умолчанию предоставляет оптимизированную для безопасности ОС узла, но не возможность выбора альтернативную операционную систему.
  • Операционная система с усиленной безопасностью разработана специально для AKS и используется только вместе с ней. За пределами платформы AKS данная ОС не поддерживается.
  • Чтобы еще больше сократить возможные направления атак, в ОС были отключены некоторые ненужные драйверы модуля ядра.

Примечание.

Вне связи с эталонами CIS Azure применяет ежедневные исправления (включая обновления системы безопасности) к узлам виртуальных машин AKS.

Целью безопасной конфигурации, встроенный в ОС узла, является сокращение направлений возможных атак и оптимизация развертывания контейнеров безопасным способом.

Далее приведены результаты из рекомендаций для CIS Ubuntu 18.04 на основе эталона LTS версии 2.1.0.

Рекомендации могут быть обусловлены одной из следующих причин:

  • Потенциальное влияние операции — рекомендация не была применена, так как она окажет негативное влияние на службу.
  • В другом месте — рекомендации обеспечивается другим элементом управления в облачных вычислениях Azure.

Далее показаны примененные правила CIS.

Номер абзаца CIS Описание рекомендации Состояние Причина
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.2 Проверка, что параметр /tmp настроен Сбой
1.1.3 Проверка, что для раздела /tmp установлен параметр nodev Сбой
1.1.4 Проверка, что для раздела /tmp установлен параметр nosuid Пройдено
1.1.5 Проверка, что для раздела /tmp задан параметр noexec Пройдено
1.1.6 Проверка, что настроен параметр /dev/shm Пройдено
1.1.7 Проверка, что для раздела /dev/shm установлен параметр nodev Пройдено
1.1.8 Проверка, что для раздела /dev/shm установлен параметр nosuid Пройдено
1.1.9 Проверка, что для раздела /dev/shm установлен параметр noexec Сбой Потенциальное влияние на операционную деятельность
1.1.12 Проверка, что раздел /var/tmp включает параметр nodev Пройдено
1.1.13 Проверка, что раздел /var/tmp включает параметр nosuid Пройдено
1.1.14 Проверка, что раздел /var/tmp включает параметр noexec Пройдено
1.1.18 Проверка, что раздел /var/tmp включает параметр nodev Пройдено
1.1.19 Проверка, что параметр nodev установлен на секциях съемных носителей Н/Д
1.1.20 Проверка, что параметр nosuid установлен на секциях съемных носителей Н/Д
1.1.21 Проверка, что параметр noexec установлен на секциях съемных носителей Н/Д
1.1.22 Проверка, что для всех каталогов, доступных для записи, задан бит закрепления Сбой Потенциальное влияние операции
1.1.23 Отключение автоподключения Пройдено
1.1.24 Отключение USB-хранилища Пройдено
1.2 Настройка программного обеспечения Обновления
1.2.1 Проверка, что настроены репозитории диспетчера пакетов Пройдено В другом месте
1.2.2 Проверка, что ключи GPG настроены Н/Д
1,3 Проверка целостности файловой системы
1.3.1 Проверка, что AIDE установлена Сбой В другом месте
1.3.2 Проверка, что целостность файловой системы регулярно проверяется Сбой В другом месте
1.4 Параметры безопасной загрузки
1.4.1 Убедитесь, что разрешения на конфигурацию загрузчика не переопределяются Сбой
1.4.2 Проверка, что задан пароль загрузчика Сбой Н/Д
1.4.3 Убедитесь, что в конфигурации загрузчика настроены разрешения. Сбой
1.4.4 Проверка, что аутентификация необходима для однопользовательского режима Сбой Н/Д
1.5 Дополнительная защита процессов
1.5.1 Проверка, что включена поддержка XD/NX Н/Д
1.5.2 Проверка активации случайного распределения адресного пространства (ASLR) Пройдено
1.5.3 Проверка, что предкомпоновка отключена Пройдено
1.5.4 Проверка, что дамп ядра ограничен Пройдено
1,6 Обязательное управление доступом
1.6.1 Настройка AppArmor
1.6.1.1 Проверка, что appArmor установлен Пройдено
1.6.1.2 Проверка, что AppArmor включен в конфигурации загрузчика Сбой Потенциальное влияние операции
1.6.1.3 Проверка, что все профили AppArmor находятся в режиме принудительного применения или жалобы Пройдено
1,7 Баннеры предупреждений командной строки
1.7.1 Проверка, что сообщение дня настроено правильно Пройдено
1.7.2 Проверка, что настроены разрешения для /etc/issue.net Пройдено
1.7.3 Проверка, что настроены разрешения для /etc/issue Пройдено
1.7.4 Проверка, что для /etc/motd настроены разрешения Пройдено
1.7.5 Проверка, что предупреждающий баннер удаленного входа в систему настроен правильно Пройдено
1.7.6 Проверка, что предупреждающий баннер локального входа в систему настроен правильно Пройдено
1.8 Диспетчер отображения GNOME
1.8.2 Проверка, что баннер входа GDM настроен Пройдено
1.8.3 Проверка, что список отключенных пользователей включен Пройдено
1.8.4 Убедитесь, что XDCMP не включен Пройдено
1,9 Проверка, что установлены обновления, исправления и дополнительное программное обеспечение безопасности Пройдено
2 Службы
2.1 Специальные службы
2.1.1 Синхронизация времени
2.1.1.1 Проверка, что используется синхронизация времени Пройдено
2.1.1.2 Проверка, что настроено systemd-timesyncd Н/Д AKS использует ntpd для синхронизации времени
2.1.1.3 Проверка, что настроена хронология Сбой В другом месте
2.1.1.4 Проверка, что настроен ntp Пройдено
2.1.2 Убедитесь, что система окон X не установлена Пройдено
2.1.3 Убедитесь, что сервер Avahi не установлен Пройдено
2.1.4 Убедитесь, что CUPS не установлен Пройдено
2.1.5 Убедитесь, что DHCP-сервер не установлен Пройдено
2.1.6 Убедитесь, что сервер LDAP не установлен Пройдено
2.1.7 Убедитесь, что NFS не установлен Пройдено
2.1.8 Убедитесь, что DNS-сервер не установлен Пройдено
2.1.9 Убедитесь, что FTP-сервер не установлен Пройдено
2.1.10 Убедитесь, что HTTP-сервер не установлен Пройдено
2.1.11 Убедитесь, что сервер IMAP и POP3 не установлены Пройдено
2.1.12 Убедитесь, что Samba не установлен Пройдено
2.1.13 Убедитесь, что прокси-сервер HTTP не установлен Пройдено
2.1.14 Убедитесь, что сервер SNMP не установлен Пройдено
2.1.15 Проверка, что агент передачи почты настроен для работы только в локальном режиме Пройдено
2.1.16 Убедитесь, что служба rsync не установлена Сбой
2.1.17 Убедитесь, что сервер NIS не установлен Пройдено
2,2 Клиенты службы
2.2.1 Убедитесь, что клиент NIS не установлен Пройдено
2.2.2 Убедитесь, что клиент rsh не установлен Пройдено
2.2.3 Убедитесь, что клиент talk не установлен Пройдено
2.2.4 Убедитесь, что клиент telnet не установлен Сбой
2.2.5 Убедитесь, что клиент LDAP не установлен Пройдено
2.2.6 Убедитесь, что RPC не установлен Сбой Потенциальное влияние на операционную деятельность
2.3 Проверка, что неосновные службы удалены или маскируются Пройдено
3 Конфигурация сети
3.1 Отключение неиспользуемых сетевых протоколов и устройств
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 Проверка, что файлы cookie для TCP SYN включены Пройдено
3.3.9 Убедитесь, что объявления маршрутизатора IPv6 не принимаются Пройдено
3,4 Нестандартные сетевые протоколы
3.5 Настройка брандмауэра
3.5.1 Настройка uncomplicatedFirewall
3.5.1.1 Проверка, что ufw установлен Пройдено
3.5.1.2 Проверка, что iptables-persistent не установлен с помощью ufw Пройдено
3.5.1.3 Проверка, что включена служба ufw Сбой В другом месте
3.5.1.4 Проверка, что настроен трафик с замыканием на себя ufw Сбой В другом месте
3.5.1.5 Проверка, что исходящие подключения ufw настроены Н/Д В другом месте
3.5.1.6 Проверка, что для всех открытых портов существуют правила брандмауэра ufw Н/Д В другом месте
3.5.1.7 Проверка политики брандмауэра с запретом ufw по умолчанию Сбой В другом месте
3.5.2 Настройка nftables
3.5.2.1 Проверка, что ipptables установлен Сбой В другом месте
3.5.2.2 Проверка, что ufw удален или отключен с помощью nftables Сбой В другом месте
3.5.2.3 Проверка, что iptables очищаются с помощью nftables Н/Д В другом месте
3.5.2.4 Проверка, что таблица nftables существует Сбой В другом месте
3.5.2.5 Проверка существования базовых цепочек nftables Сбой В другом месте
3.5.2.6 Проверка, что настроен трафик с замыканием на себя nftables Сбой В другом месте
3.5.2.7 Проверка, что для исходящих и установленных подключений настроены nftables Н/Д В другом месте
3.5.2.8 Проверка политики брандмауэра с запретом nftables по умолчанию Сбой В другом месте
3.5.2.9 Проверка, что включена служба nftables Сбой В другом месте
3.5.2.10 Проверка, что правила nftables являются постоянными Сбой В другом месте
3.5.3 Настройка iptables
3.5.3.1 Настройка программного обеспечения iptables
3.5.3.1.1 Проверка, что пакеты iptables установлены Сбой В другом месте
3.5.3.1.2 Проверка, что nftables не установлены с iptables Пройдено
3.5.3.1.3 Проверка, что ufw удален или отключен с помощью iptables Сбой В другом месте
3.5.3.2 Настройка iptables IPv4
3.5.3.2.1 Проверка политики брандмауэра с запретом iptables по умолчанию Сбой В другом месте
3.5.3.2.2 Проверка, что настроен трафик с замыканием на себя iptables Сбой Н/Д
3.5.3.2.3 Проверка, что для исходящих и установленных подключений настроены iptables Н/Д
3.5.3.2.4 Проверка, что для всех открытых портов существуют правила брандмауэра iptables Сбой Потенциальное влияние операции
3.5.3.3 Настройка IPv6 ip6tables
3.5.3.3.1 Проверка политики брандмауэра с запретом ip6tables по умолчанию Сбой В другом месте
3.5.3.3.2 Проверка, что настроен трафик с замыканием на себя ip6tables Сбой В другом месте
3.5.3.3.3 Проверка, что для исходящих и установленных подключений настроены ip6tables Н/Д В другом месте
3.5.3.3.4 Проверка, что для всех открытых портов существуют правила брандмауэра ip6tables Сбой В другом месте
4 Ведение журналов и аудит
4,1 Настройка системного учета (аудит)
4.1.1.2 Проверка, что аудит включен
4.1.2 Настройка срока хранения данных
4.2 Настройка журнала
4.2.1 Настройка rsyslog
4.2.1.1 Проверка, что rsyslog установлен Пройдено
4.2.1.2 Проверка, что включена служба auditd Пройдено
4.2.1.3 Проверка настройки ведения журнала Пройдено
4.2.1.4 Проверка, что настроены разрешения файла rsyslog по умолчанию Пройдено
4.2.1.5 Проверка, что rsyslog настроен для отправки журналов на удаленный узел журнала Сбой В другом месте
4.2.1.6 Проверка, что удаленные сообщения rsyslog принимаются только на назначенных узлах журнала. Н/Д
4.2.2 Настройка журнала
4.2.2.1 Проверка, что журнал настроен для отправки журналов в rsyslog Пройдено
4.2.2.2 Проверка, что журнал настроен для сжатия больших файлов журнала Сбой
4.2.2.3 Проверка, что журнал настроен для записи файлов журнала на постоянный диск Пройдено
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 Настройка sudo
5.2.1 Проверка, что sudo установлен Пройдено
5.2.2 Проверка, что команды sudo используют pty Сбой Потенциальное влияние на операционную деятельность
5.2.3 Проверка, что файл журнала sudo существует Сбой
5,3 Настройка SSH-сервера
5.3.1 Проверка, что в настроены разрешения для /etc/ssh/sshd_config Пройдено
5.3.2 Проверка, что для файлов ключей открытого узла SSH настроены разрешения Пройдено
5.3.3 Проверка, что для файлов ключей открытого узла SSH настроены разрешения Пройдено
5.3.4 Обеспечение ограниченного доступа по протоколу SSH Пройдено
5.3.5 Проверка, что SSH LogLevel подходит Пройдено
5.3.7 Проверка, что для MaxAuthTries SSH задано значение 4 или меньше Пройдено
5.3.8 Проверка, что SSH IgnoreRhosts включен Пройдено
5.3.9 Проверка отключения SSH HostbasedAuthentication Пройдено
5.3.10 Проверка отключения корневого имени входа SSH Пройдено
5.3.11 Проверка отключения SSH PermitEmptyPasswords Пройдено
5.3.12 Проверка отключения PermitUserEnvironment SSH Пройдено
5.3.13 Проверка, что используются только надежные шифры Пройдено
5.3.14 Проверка, что используются только надежные алгоритмы MAC Пройдено
5.3.15 Проверка, что используются только надежные алгоритмы обмена ключами Пройдено
5.3.16 Проверка настройки интервала тайм-аута простоя SSH Сбой
5.3.17 Проверка, что для LoginGraceTime SSH задано значение одна минута или меньше Пройдено
5.3.18 Проверка настройки предупреждающего баннера SSH Пройдено
5.3.19 MAC, что SSH PAM включен Пройдено
5.3.21 Проверка, что SSH MaxStartups настроен Сбой
5.3.22 Проверка, что число SSH MaxSessions ограничено Пройдено
5,4 Настройка PAM
5.4.1 Проверка настройки требований для создания пароля Пройдено
5.4.2 Проверка, что настроена блокировка для неудачных попыток ввода пароля Сбой
5.4.3 Проверка, что повторное использование пароля ограничено Сбой
5.4.4 Убедитесь, что используется алгоритм хэширования паролей SHA-512. Пройдено
5.5 Учетные записи пользователей и среда
5.5.1 Настройка параметров набора теневых паролей
5.5.1.1 Проверка, что между изменениями пароля проходит не менее семи дней Пройдено
5.5.1.2 Проверка, что срок действия пароля не превышает 365 дней Пройдено
5.5.1.3 Проверка, что предупреждения об истечении срока действия пароля выдаются за 7 или более дней Пройдено
5.5.1.4 Проверка, что неактивная блокировка пароля не более 30 дней Пройдено
5.5.1.5 Убедитесь, что для всех пользователей дата последнего изменения находится в прошлом. Сбой
5.5.2 Проверка, что системные учетные записи защищены Пройдено
5.5.3 Убедитесь, что для учетной записи root указана группа по умолчанию с идентификатором GID 0. Пройдено
5.5.4 Проверка, что umask пользователя по умолчанию — 027 или еще строже Пройдено
5.5.5 Проверка, что время ожидания пользовательской оболочки по умолчанию — 900 секунд или меньше Сбой
5,6 Проверка, что корневое имя входа ограничено системной консолью Н/Д
5.7 Проверка ограничения доступа к команде su Сбой Потенциальное влияние операции
6 Обслуживание системы
6.1 Разрешения файловой системы
6.1.2 Проверка, что для /etc/passwd- настроены разрешения Пройдено
6.1.3 Проверка, что для /etc/passwd- настроены разрешения Пройдено
6.1.4 Проверка, что для /etc/group настроены разрешения Пройдено
6.1.5 Проверка, что для /etc/group- настроены разрешения Пройдено
6.1.6 Проверка, что для /etc/shadow настроены разрешения Пройдено
6.1.7 Проверка, что для /etc/shadow- настроены разрешения Пройдено
6.1.8 Проверка, что для /etc/gshadow настроены разрешения Пройдено
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 Проверка, что учетные записи в /etc/passwd используют теневые пароли Пройдено
6.2.2 Убедитесь, что поля паролей не пусты Пройдено
6.2.3 Убедитесь, что все включенные в файл /etc/passwd группы существуют в файле /etc/group. Пройдено
6.2.4 Убедитесь, что у всех пользователей есть домашние каталоги. Пройдено
6.2.5 Убедитесь, что все пользователи владеют своими домашними каталогами. Пройдено
6.2.6 Проверка, что разрешения домашних каталогов пользователей имеют ограничение 750 или более строгое ограничение Пройдено
6.2.7 Убедитесь, что файлы точек пользователей не являются группами или мировыми записываемыми Пройдено
6.2.8 Убедитесь, что у пользователей нет файлов NETRC. Пройдено
6.2.9 Убедитесь, что у пользователей нет файлов FORWARD. Пройдено
6.2.10 Убедитесь, что у пользователей нет файлов RHOSTS. Пройдено
6.2.11 Убедитесь, что root является единственной учетной записью с идентификатором UID 0. Пройдено
6.2.12 Обеспечение целостности корневого пути Пройдено
6.2.13 Убедитесь, что отсутствуют повторяющиеся идентификаторы UID. Пройдено
6.2.14 Убедитесь, что отсутствуют повторяющиеся идентификаторы GID. Пройдено
6.2.15 Убедитесь, что имена пользователей не дублируются. Пройдено
6.2.16 Проверка, что имена групп не дублируются Пройдено
6.2.17 Убедитесь, что группа shadow пуста. Пройдено

Следующие шаги

Дополнительные сведения о безопасности AKS см. в следующих статьях: