0Pricing
Cyber Security Academy · Урок

Безопасность контейнеров и Kubernetes

Сканируйте образы на уязвимости, настраивайте стандарты безопасности подов и используйте сетевые политики в Kubernetes.

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

Обзор безопасности контейнеров

Контейнеры используют общее ядро хоста, поэтому изолированы слабее виртуальных машин. Безопасность контейнеров охватывает гигиену образов (отсутствие уязвимых пакетов), защиту во время выполнения (обнаружение аномального поведения), сетевые политики (ограничение взаимодействия подов) и настройку RBAC.

Сканирование образов с помощью Trivy

Trivy сканирует образы контейнеров на наличие уязвимостей CVE в пакетах OS, уязвимостей зависимостей приложений, неправильных настроек и секретов. Интегрируйте его в CI/CD, чтобы блокировать образы с критическими уязвимостями до их попадания в рабочую среду.

trivy image nginx:latest
trivy image --severity CRITICAL,HIGH myapp:v1.2

Рекомендации по работе с Dockerfile

Используйте минимальные базовые образы (alpine, distroless). Запускайте приложения от имени непривилегированного пользователя (USER 1000). Избегайте COPY . . — указывайте файлы явно. Многоэтапные сборки уменьшают размер итогового образа. Сканируйте его перед отправкой. Никогда не задавайте секреты или учетные данные непосредственно в слоях.

FROM node:18-alpine
RUN addgroup -S app && adduser -S app -G app
USER app
COPY --chown=app:app . .
CMD ["node", "server.js"]

RBAC Kubernetes

RBAC Kubernetes управляет доступом к серверу API. ClusterRoles и Roles определяют разрешения для ресурсов (подов, секретов, развертываний). ClusterRoleBindings и RoleBindings назначают их пользователям, группам или ServiceAccounts. Избегайте cluster-admin, кроме случаев автоматизации.

Стандарты безопасности подов

PSS определяет три профиля: «Привилегированный» (без ограничений), «Базовый» (минимальные ограничения) и «Ограниченный» (усиленная защита). Применяйте их через метки пространств имен и контроллер допуска PodSecurity. Профиль «Ограниченный» запрещает запуск от имени root, не допускает повышения привилегий и требует файловых систем только для чтения.

Сетевые политики

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

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
spec:
  podSelector: {}
  policyTypes: ["Ingress","Egress"]

Управление секретами в Kubernetes

Секреты Kubernetes по умолчанию кодируются в base64, но не шифруются. Включите шифрование данных при хранении в etcd. Используйте External Secrets Operator или Vault Agent Injector для получения секретов из HashiCorp Vault или облачных менеджеров секретов вместо секретов Kubernetes.

Контроллеры допуска

Контроллеры допуска перехватывают запросы к API до создания объектов. OPA/Gatekeeper применяет пользовательские политики (например, требует определенные метки и блокирует привилегированные контейнеры). Kyverno предоставляет политики как код с более простым синтаксисом YAML для распространенных ограничений безопасности Kubernetes.

Защита во время выполнения с Falco

Falco обнаруживает аномальное поведение во время выполнения с помощью eBPF: запуск оболочек в контейнерах, неожиданные исходящие соединения, запись файлов в /etc, попытки повышения привилегий и выполнение известных инструментов атак. Правила оповещений можно настраивать; они задаются в YAML.

Журналы аудита Kubernetes

Включите журналирование аудита сервера API, чтобы записывать каждый запрос с указанием пользователя, действия, ресурса и временной отметки. Передавайте данные в SIEM для обнаружения необычной активности API: перечисления токенов ServiceAccount, перебора секретов, повышения роли и выполнения kubectl exec в рабочих подах.

Безопасность цепочки поставок с помощью Cosign

Подписывайте образы контейнеров с помощью Cosign (Sigstore), чтобы обеспечить целостность цепочки поставок. Контроллеры политик (Connaisseur, Kyverno) могут требовать, чтобы в кластер допускались только подписанные образы из доверенных реестров, блокируя загрузку ненадежных образов.

Проверка знаний

Что позволяет сделать NetworkPolicy Kubernetes с пустым podSelector и типами политики policyTypes Ingress/Egress?

Итоги

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

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

Урок «Безопасность контейнеров и Kubernetes» бесплатный?

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

Чему я научусь в уроке «Безопасность контейнеров и Kubernetes»?

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

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

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

Сколько времени занимает урок «Безопасность контейнеров и Kubernetes»?

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

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

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

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

  1. Облачный IAM: роли, политики и минимальные привилегии
  2. Распространённые ошибки настройки облака
  3. Управление состоянием безопасности облака (CSPM)
  4. Безопасность контейнеров и Kubernetes
← Назад к Cyber Security Academy