Направления / DevOps: контейнеры, оркестрация, инфраструктура как код

Kubernetes: объекты, доступ, сеть и секреты

DevOps: контейнеры, оркестрация, инфраструктура как код

Как устроен кластер, где сосредоточены риски и как настроить контроль доступа и изоляцию.

продвинутый~55 минKubernetesRBACсекретысеть

Зачем это нужно

  • Kubernetes управляет большинством современных сервисов, и ошибки его конфигурации приводят к массовым инцидентам.
  • Модель доступа к кластеру нетривиальна и требует отдельного изучения.
  • Понимание Kubernetes необходимо и защитнику, и инженеру.

Теория

Кластер строится из управляющей части и рабочих узлов. Объекты описывают желаемое состояние: модули и их наборы, сервисы, точки входа, тома, конфигурации и секреты. Управляющая часть принимает решения о размещении и хранит состояние; компрометация управляющей части означает контроль над кластером.

Контроль доступа строится на аутентификации (сертификаты, токены, интеграция с внешним провайдером удостоверений) и авторизации по ролям и привязкам ролей. Особое внимание: учётные записи сервисов (какие права у приложений внутри кластера), доступ к управляющей части по сети, возможность выполнить команду в контейнере, монтирование каталогов узла, доступ к метаданным облака, привилегированные модули, права на создание модулей с параметрами, затрагивающими узел.

Сеть: базовые правила разрешают обмен внутри кластера, поэтому нужны сетевые политики, ограничивающие связи между сервисами. Секреты хранятся в кластере в кодированном виде и требуют шифрования в хранилище состояния, ограничения доступа и предпочтительно внешнего хранилища секретов. Практики: минимальные права, отдельные пространства имён для сред и команд, квоты и лимиты, запрет запуска привилегированных модулей, аудит действий, обновление версий.

Ключевые концепции

Управляющая часть и рабочие узлы
Компоненты кластера: принятие решений и запуск рабочих нагрузок.
Учётная запись сервиса
Идентификатор для процессов внутри кластера: её права определяют, что может приложение.
Роли и привязки ролей
Механизм авторизации: что кому разрешено в пространствах имён и кластере.
Сетевые политики
Правила, ограничивающие сетевые связи между модулями.
Шифрование секретов в хранилище состояния
Защита секретов в базе кластера: без неё они доступны читающим состояние.
Квоты и лимиты
Ограничения ресурсов: защищают кластер от исчерпания.

Инструменты

  • Локальные кластеры: kind, minikube, k3s.
  • Средства проверки конфигурации и политик (OPA/Gatekeeper, Kyverno).
  • Сканеры конфигурации кластера и проверки по эталонам.
  • Внешние хранилища секретов, интегрированные с кластером.
  • Средства наблюдаемости и аудита действий в кластере.

Практика в легальных лабораториях

  • Разверните локальный кластер и опишите его структуру: управляющая часть, узлы, пространства имён.
  • Проверьте, какие права у учётных записей сервисов в учебных приложениях.
  • Настройте сетевую политику, разрешающую только необходимые связи.
  • Включите шифрование секретов в хранилище состояния и проверьте.
  • Включите аудит и найдите в журналах изменения объектов.

Защита, детект и защитные меры

  • Ограничивайте доступ к управляющей части и к возможности выполнения команд в контейнерах.
  • Используйте минимальные права для учётных записей сервисов.
  • Включайте сетевые политики и изоляцию пространств имён.
  • Храните секреты во внешнем хранилище и шифруйте состояние кластера.

Правовая рамка и этика

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

Типичные ошибки

  • Давать приложениям широкие права в кластере.
  • Запускать привилегированные модули без необходимости.
  • Оставлять секреты в кодированном виде без шифрования и без ограничения доступа.
  • Не включать аудит и терять возможность разбора.

Чек-лист «умею»

  • Понимаю устройство кластера и его компоненты.
  • Проверяю права учётных записей сервисов.
  • Настраиваю сетевые политики и изоляцию.
  • Шифрую секреты и использую внешнее хранилище.
  • Включаю аудит и слежу за изменениями.

Вопросы на интервью

  • Где в Kubernetes сосредоточены основные риски?
  • Как вы ограничите связи между сервисами в кластере?
  • Как защитить секреты в кластере?

Источники и первоисточники

CyberPath — обучение пентесту, кибербезопасности и сетевой грамотности