Что такое Zero Trust в контексте DevOps и безопасности инфраструктуры?

«Что такое Zero Trust в контексте DevOps и безопасности инфраструктуры?» — вопрос из категории Безопасность, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Zero Trust (нулевое доверие) — это архитектурная и стратегическая концепция безопасности, основанная на принципе «никому не доверяй, проверяй всегда». В DevOps это означает отказ от модели «надёжной внутренней сети» (периметровой защиты) и внедрение постоянной проверки подлинности, авторизации и шифрования для каждого запроса к любому ресурсу, независимо от его расположения.

Как мы внедряем принципы Zero Trust в инфраструктуре:

  1. Идентификация и управление доступом (IAM):

    • Принцип наименьших привилегий: Сервисным аккаунтам в Kubernetes или облачных провайдерах выдаются только те права, которые необходимы для их работы. Например, CI/CD-раннер для сборки образа не имеет прав на удаление production-базы данных.
    • Многофакторная аутентификация (MFA): Обязательна для доступа к критичным системам (панели управления облаком, репозитории кода, CI/CD).
  2. Микросегментация сети:

    • Использование Network Policies в Kubernetes для изоляции трафика между неймспейсами и подами. Даже если злоумышленник проник в один под, он не сможет сканировать сеть.
      # Пример NetworkPolicy, запрещающей весь входящий трафик, кроме определённого
      kind: NetworkPolicy
      apiVersion: networking.k8s.io/v1
      metadata:
      name: default-deny-ingress
      spec:
      podSelector: {}
      policyTypes:
      - Ingress
  3. Защита рабочих нагрузок и данных:

    • Secrets Management: Хранение секретов (пароли, токены) в специализированных хранилищах (HashiCorp Vault, AWS Secrets Manager), а не в коде или переменных окружения в plain text.
    • Шифрование трафика: TLS/mTLS для всего внутреннего трафика между сервисами (service mesh, например, Istio).
  4. Непрерывный аудит и мониторинг:

    • Логирование и аудит всех действий (кто, что, когда сделал) в облачных сервисах и Kubernetes.
    • Использование SIEM-систем для анализа аномалий в реальном времени.

Пример подхода: Вместо доступа к production-кластеру по SSH с корпоративного IP-адреса, доступ осуществляется через бастион-хост (или лучше — через управляемый сервис типа AWS Systems Manager Session Manager) с обязательной MFA, временными credentials и полным логированием сессии.