0Pricing
Cyber Security Academy · Урок

Модель угроз Kubernetes

Уязвимые места кластеров

«Модель угроз Kubernetes» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Почему Kubernetes становится целью

Kubernetes оркестрирует контейнеры на множестве узлов. Он централизует секреты, сеть и вычислительные ресурсы, поэтому компрометация кластера может означать компрометацию каждой запускаемой им рабочей нагрузки.

  • Один сервер API управляет всем кластером.
  • Узлы одновременно запускают рабочие нагрузки многих арендаторов.
  • Неправильная настройка встречается гораздо чаще, чем уязвимости CVE самого Kubernetes.

Повторение архитектуры кластера

Чтобы построить модель угроз, необходимо знать компоненты.

  • Плоскость управления: сервер API, etcd, планировщик, диспетчер контроллеров.
  • Узлы: kubelet, среда выполнения контейнеров, kube-proxy, поды.
  • etcd хранит все состояние кластера и секреты.

Сервер API — единственная точка входа, а etcd — самый ценный объект данных.

Карта поверхности атаки

Атаки нацелены на отдельные уровни.

  • Внешний: доступный извне сервер API, панели управления, входные маршруты.
  • Рабочая нагрузка: скомпрометированное приложение внутри пода.
  • Идентичность: токены сервисных учетных записей и RBAC.
  • Узел: API kubelet, выход контейнера на узел.
  • Цепочка поставок: вредоносные образы и зависимости.

Открытая плоскость управления

Доступный из интернета сервер API или kubelet со слабой аутентификацией — прямой путь к захвату кластера.

  • На сервере API включен анонимный доступ.
  • Открыт API kubelet с правами чтения и записи (порт 10250).
  • Открыта панель управления Kubernetes с привязкой администратора.
# Probe an exposed kubelet for running pods
curl -sk https://NODE_IP:10250/pods

# Test anonymous API access
kubectl --insecure-skip-tls-verify --server https://API:6443 get pods

Точка опоры внутри пода

Наиболее распространенная отправная точка — RCE в приложении, работающем в поде. Находясь внутри пода, злоумышленники обнаруживают:

  • Смонтированный токен сервисной учетной записи в /var/run/secrets/....
  • Доступные внутренние сервисы (без сетевой политики).
  • Сервер API, который часто разрешается как kubernetes.default.
# From inside a pod: read the mounted SA token
cat /var/run/secrets/kubernetes.io/serviceaccount/token

# Use it against the API
curl -sk -H "Authorization: Bearer $(cat .../token)" https://kubernetes.default/api/v1/namespaces/default/pods

Выход из контейнера

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

  • Привилегированные контейнеры могут получать доступ к устройствам узла и выходить из контейнера.
  • Монтирования hostPID/hostNetwork/hostPath увеличивают масштаб последствий.
  • Смонтированный сокет Docker позволяет запустить привилегированный контейнер.
  • Опасные возможности (SYS_ADMIN) позволяют выйти из контейнера.
# A privileged pod can mount the host filesystem and chroot to it
mount /dev/sda1 /mnt && chroot /mnt sh

etcd: хранилище секретов

etcd хранит все состояние кластера, включая секреты, которые по умолчанию лишь кодируются в base64. Прямой доступ к etcd (часто неаутентифицированный в неправильно настроенных кластерах) раскрывает каждый секрет.

# Read all secrets from an exposed etcd
etcdctl --endpoints=https://NODE:2379 get / --prefix --keys-only

Боковое перемещение в кластерах

Оказавшись внутри, злоумышленники перемещаются, используя идентичность кластера и сеть.

  • Сервисная учетная запись с избыточными разрешениями позволяет создавать привилегированные поды.
  • Плоские сети подов (без NetworkPolicy) позволяют обращаться к любому сервису.
  • Планирование пода на целевом узле позволяет скомпрометировать этот узел.

Облачные метаданные из подов

В управляемых кластерах (EKS/GKE/AKS) поды могут обращаться к облачному сервису метаданных узла и красть учетные данные IAM/роли узла, превращая компрометацию кластера в компрометацию облачной учетной записи.

Меры защиты включают IMDSv2, блокирование метаданных на сетевом уровне и использование идентичности рабочей нагрузки вместо ролей узлов.

Картирование с помощью инструментов

Инструменты автоматизируют оценку угроз кластера.

  • kube-hunter проверяет наличие открытых компонентов.
  • kube-bench проверяет соответствие эталону CIS.
  • Peirates / kubeletctl проверяют пути атаки внутри кластера.
# Assess attack surface
kube-hunter --remote API_IP

# CIS benchmark check on a node
kube-bench run --targets node

Приоритеты защиты

Модель угроз указывает на четкие приоритеты защиты: защитить сервер API, ограничить RBAC, изолировать поды, усилить защиту узлов и обезопасить цепочку поставок. Следующие уроки подробно рассматривают каждое направление.

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

Быстрая проверка

Проверьте свои базовые знания о модели угроз Kubernetes.

Итоги

Вы изучили, где подвергаются атакам кластеры Kubernetes.

  • Сервер API и etcd — центральные цели с наибольшей ценностью.
  • Точки опоры внутри подов используют смонтированные токены SA и плоские сети.
  • Привилегированные поды и поды с hostPath позволяют выйти из контейнера на узел.
  • Управляемым кластерам угрожает переход в облако через метаданные.

Далее: RBAC и сервисные учетные записи.

Часто задаваемые вопросы

Урок «Модель угроз Kubernetes» бесплатный?

Да — полный текст урока «Модель угроз Kubernetes» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Модель угроз Kubernetes»?

Уязвимые места кластеров Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Модель угроз Kubernetes»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Модель угроз Kubernetes
  2. RBAC и служебные учётные записи
  3. Безопасность подов и сетевые политики
  4. Защита цепочки поставок и секретов
← Назад к Cyber Security Academy