Безопасность
Тема дорожной карты · Kubernetes
Безопасность Kubernetes — многоуровневая дисциплина, охватывающая усиление кластера, изоляцию нагрузок, защиту цепочки поставок и обнаружение угроз во время выполнения для защиты K8s-сред от несанкционированного доступа, утечки данных и побегов из контейнеров. Четыре «C» безопасности cloud-native — Code, Container, Cluster, Cloud — напрямую соответствуют мерам безопасности Kubernetes: подписание образов с помощью Cosign и policy.sigstore.dev, контейнеры без root-прав, применяемые стандартами безопасности Pod'ов, RBAC Kubernetes и NetworkPolicy на уровне кластера, и IAM-роли для управляемых Kubernetes-сервисов. Шифрование etcd в состоянии покоя через EncryptionConfiguration, журналирование аудита через --audit-policy-file на kube-apiserver и краткоживущие токены через spec.serviceAccountName с истечением срока действия через проецируемые тома — необходимые меры безопасности плоскости управления. Безопасность во время выполнения обеспечивается Falco, отслеживающим системные вызовы ядра по наборам правил для обнаружения эскалации привилегий, неожиданного выполнения процессов или подозрительных сетевых соединений из Pod'ов. Инструментарий безопасности Kubernetes также включает Velero для зашифрованного резервного копирования и восстановления после сбоев, Cert-Manager для автоматизированного управления жизненным циклом TLS-сертификатов, SOPS для шифрования Secret'ов в GitOps-конвейерах и OPA Gatekeeper или Kyverno для применения политик на этапе admission.
Как это работает
Безопасность в Kubernetes слоится через несколько контролей: RBAC (кто может делать что на каких ресурсах), Network Policies (какие pods могут общаться с какими), Pod Security Standards (ограничения privileged-операций), admission controllers (валидируют/мутируют ресурсы до persistence), underlying container runtime sandbox. Defence-in-depth: предполагайте, что любой single control будет обойдён, и проектируйте несколько слоёв.
Когда применять
Внедряйте Безопасность с создания кластера, не retrofit-ом позже — добавление RBAC в permissive кластер ломает десятки нагрузок. Начните с restrictive defaults и давайте доступ по нужде (least-privilege); применяйте NetworkPolicies в default-deny режиме; включайте PSS на уровне namespace. Регулируемые отрасли (банки, медицина) требуют это с дня 1; consumer-приложения выигрывают от этого до первого production-инцидента.
Типичные ошибки
Security-ловушки: cluster-admin role выдан разработчикам (полная власть; одна плохая команда сносит prod); image pull из ненадёжных registries без верификации подписи; serviceaccount tokens auto-mount в каждом pod (network access к API = lateral movement); пропуск CIS Kubernetes Benchmark-аудитов. Регулярный pentest находит реальные проблемы до того, как их найдут атакующие.