Как вы обеспечиваете безопасность кластера (RBAC, Network Policies, Secrets management)?

RBAC — управление доступом

  • Принцип: минимально необходимые привилегии. Все роли (Role/ClusterRole) проектируются под конкретные задачи (verbs, resources, apiGroups), не давайте * без крайней нужды.

  • Разделение прав: использовать namespaced Role + RoleBinding для приложений и операторов, а ClusterRoleBinding — только для действительно кластерных сервисов. Проверять и ревьювить binding’и (особенно ClusterRoleBinding).

  • ServiceAccount как субъект: каждое приложение получает отдельный ServiceAccount; не использовать default для production. Автоматически выдавленные токены — отключать (automountServiceAccountToken: false) где не нужны.

  • Группы и внешняя аутентификация: подключать OIDC/SSO (IdP) для людей, использовать группы для упрощения RBAC (например, devs, oncall, infra-admins).

  • Политики управления привилегиями: запрет прямых привилегированных контейнеров и hostPath через admission; применять ограничительные RoleBindings через CI/CD review.

  • Аудит и ревизия: включить Audit Logs на API-сервере; регулярно проводить ревизию ролей и привязок, удалять неиспользуемые bindings.

Network Policies — сегментация и защита East-West

  • По умолчанию → default-deny: для каждого namespace сначала определить политику, блокирующую всё (Ingress/Egress), затем постепенно открывать только нужные пути.

  • Правила специфицируются по podSelector, namespaceSelector, ipBlock и портам; комбинировать для точного разрешения трафика между компонентами.

  • Разделение зон: использовать topologyKey/namespace для ограничений между окружениями (prod/test).

  • Точка контроля: убедиться, что CNI поддерживает NetworkPolicy (Cilium/Calico/Cilium eBPF дают расширенные возможности — e.g. L7, DNS policy, mTLS).

  • Egress контроль: закрыть исходящий трафик по умолчанию, позволить доступ к внешним сервисам через egress-gateway/Proxy, логировать запросы.

  • Тестирование и симуляция: проверять политики интеграционными тестами (debug pods), обеспечить мониторинг отказов сетевых соединений.

Secrets management — хранение, ротация, защита

  • Не хранить в Git в открытом виде. Для декларативных нужд использовать зашифрованные хранилища (SOPS) или SealedSecrets.

  • Хранение в кластере: включить encryption at rest для etcd (encryptionConfiguration) с использованием KMS (cloud KMS/HSM) для хранения ключей; шифрование снимков etcd и бэкапов.

  • Внешние хранилища: использовать Vault / AWS Secrets Manager / GCP Secret Manager / Azure Key Vault + Kubernetes External Secrets или CSI Secrets Store Provider для безопасной интеграции и ротации секретов.

  • Короткоживущие токены: применять projected service account tokens (TokenRequest) с ограниченной аудиторией и TTL вместо бессрочных токенов, где возможно.

  • Ротация и lifecycle: автоматизировать ротацию секретов и ключей, реворкать зависимости приложений и обновлять mounted secrets без логаута пользователей.

  • Ограничение доступа: настроить RBAC для чтения Secret ресурсов; минимизировать get/list привилегии для учетных записей и CI.

  • Мониторинг и аудит: логировать обращения к секретам, оповещать о подозрительных запросах и failed attempts.

Дополнительные меры безопасности (операционный слой)

  • Admission controllers & policy engines: включать PodSecurity (restricted/baseline), NodeRestriction, и использовать OPA/Gatekeeper или Kyverno для организационных правил (deny privileged, enforce image provenance, required labels).

  • Image security: приватный registry, image scanning в CI, подпись образов (cosign) и enforce в admission.

  • Runtime protection: использовать Falco/Runtime security для детекции подозрительных действий (exec, write to sensitive paths), включать SELinux/AppArmor/seccomp и drop CAPs.

  • Хостовая безопасность: минимальный хост-OS, регулярные патчи, изоляция control-plane (ограниченный доступ по сети), kubelet TLS и NodeRestriction.

  • Сегментация и инфраструктурные firewall: внешние ACL/NSG, ограниченный доступ к API server (private endpoint, API whitelisting, bastion), VPN/Zero Trust для админов.

  • Backup & DR: шифровать и ограничивать доступ к etcd-snapshots и backup-репозиториям; тестировать восстановления.

Процессы и культура

  • Политика «least privilege», регулярные ревью прав, CI проверки политик при PR, автоматизированные тесты NetworkPolicy и Secret-rotation.

  • On-call и runbooks для инцидентов безопасности, регулярные учения по восстановлению и проверке ротации ключей.