Согласование образа 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 см. в следующих статьях:
Azure Kubernetes Service