Агентство по национальной безопасности и Агентство по кибербезопасности и защите инфраструктуры США опубликовали совместный отчет — «Руководство по усилению безопасности Kubernetes» (Kubernetes Hardening Guidance, 50+ страниц в PDF). В отчете описаны потенциальные угрозы для инфраструктуры Kubernetes, даны рекомендации по снижению рисков, а также примеры безопасных настроек компонентов кластера. Документ в первую очередь ориентирован на системных администраторов и разработчиков информационных систем национальной безопасности (NSS). Основная задача руководства — помочь администраторам защитить кластер от актуальных угроз. Авторы отмечают, что обычно Kubernetes атакуют из трех побуждений: украсть данные, украсть вычислительные мощности или вывести из строя сервис. Кража данных традиционно самый распространенный мотив. Из атак, набирающих популярность, — использование инфраструктуры K8s для майнинга криптовалюты. Kubernetes Hardening Guidance предлагает 7 стратегий, которые помогают избежать типичных ошибок при настройке кластера: проверка pod’ов и узлов на предмет наличия уязвимостей и некорректных конфигураций; запуск контейнеров и pod’ов с наименьшими возможными привилегиями; сегментация сети для контроля степени ущерба, который может быть вызван компрометацией (чего именно, не уточняется); использование фаерволов, чтобы ограничивать необязательные сетевые соединения, и шифрования для обеспечения конфиденциальности; строгие правила аутентификации и авторизации, чтобы ограничивать права доступа пользователей и администраторов, а также чтобы уменьшить поверхность атаки; аудит и логирование, которые помогают администраторам предотвращать возможную вредоносную активность; периодический анализ всех настроек Kubernetes и использование сканеров уязвимостей, чтобы выявлять риски и применять исправления безопасности. Отчет включает несколько тематических блоков: «Модели угроз», «Безопасность pod’ов», «Сегментация и защита сети», «Аутентификация и авторизация», «Аудит», «Обновление и работа с приложениями». Также приводятся примеры создания и настройки различных компонентов кластера. В каждом тематическом блоке кратко описываются сущности K8s (pod’ы, контейнеры, пространства имен, RBAC и т. д.), даются рекомендации по настройкам и выбору оптимального рабочего процесса. При этом авторы в основном рассматривают встроенные механизмы и методы обеспечения безопасности Kubernetes. Другие Open Source-решения упоминаются лишь кратко — как дополнительные инструменты для повышения уровня безопасности кластера; для мониторинга, например, упоминаются Prometheus, Grafana и ELK. Среди примеров конфигураций:  создание Dockerfile для сборки и деплоя приложений от имени обычного пользователя (не root); настройка Pod Security Policy; настройка роли типа pod-reader с помощью RBAC; настройка LimitRange . Также в руководстве говорится о плюсах применения Service Mesh в контексте безопасности. Kubernetes Hardening Guidance — неплохое пособие по введению в безопасность «ванильного» Kubernetes. Документ можно брать на вооружение начинающим DevOps- и SRE-инженерам. Впрочем, надо понимать: чтобы обеспечить надежную защиту «боевых» кластеров, чаще всего одними лишь встроенными инструментами K8s и базовыми настройками не обойтись. Читайте также в нашем блоге: «Азбука безопасности в Kubernetes: аутентификация, авторизация, аудит»; «33+ инструмента для безопасности Kubernetes»; «Охота за ошибками в Kubernetes официально открыта».