Укажите требования к безопасности для контейнеров и оркестрации контейнеров

Завершено

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

Требования к удостоверению кластера и управлению доступом

Управление доступом для платформ оркестрации контейнеров должно охватывать как уровень управления, так и уровень данных. Архитекторы безопасности должны указывать требования для интеграции удостоверений и доступа на основе ролей.

Для спецификаций проверки подлинности кластера требуется интеграция с Microsoft Entra ID для использования существующих систем управления удостоверениями вашей организации. Эта интеграция включает следующее:

  • Политики условного доступа
  • Многофакторная проверка подлинности
  • Централизованное управление удостоверениями для администраторов кластеров и разработчиков

Для требований авторизации реализуйте многоуровневый подход:

  • Kubernetes RBAC управляет доступом к ресурсам Kubernetes, таким как pods, развертывание и пространства имен.
  • Azure RBAC управляет операциями на уровне Azure, такими как масштабирование кластера, обновление и извлечение учетных данных.
  • Требуется разделение этих наборов разрешений на основе принципа наименьших привилегий.

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

Требования к безопасности сети

Для платформ оркестрации контейнеров требуется безопасность сети на нескольких уровнях. Традиционные группы безопасности сети фильтруют трафик на уровне инфраструктуры, но для платформ контейнеров требуются дополнительные элементы управления.

Укажите требования к защите сервера API. Частные кластеры ограничивают доступ сервера API к частным конечным точкам в виртуальной сети, устраняя общедоступный интернет-доступ. В сценариях, требующих общедоступного доступа, определите авторизованные диапазоны IP-адресов, которые могут взаимодействовать с сервером API.

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

Для реализации политики сети укажите подсистему политик. Варианты включают Cilium для кластеров с помощью Azure CNI на базе Cilium, диспетчер политик сети Azure или Calico. Cilium обеспечивает наиболее эффективное применение с помощью расширенной технологии фильтра пакетов Berkeley (eBPF) и включает политики уровня 7 для управления трафиком на уровне приложений.

Укажите требования для управления исходящим трафиком. По умолчанию кластеры AKS разрешают неограниченный исходящий доступ к Интернету, что создает риски кражи данных. Требуется, чтобы весь исходящий трафик кластера прошел через точку безопасности сети, например брандмауэр Azure. Брандмауэр Azure может ограничить исходящий трафик на основе полных доменных имен и обеспечивает фильтрацию на основе аналитики угроз. Используйте определяемые пользователем маршруты, чтобы брандмауэр оставался одной точкой исходящего трафика для кластера.

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

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

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

Сканирование уязвимостей изображений должно выполняться на нескольких этапах:

  • Сканирование реестра оценивает образы во время загрузки и непрерывно в хранилище.
  • Проверка конвейера CI/CD идентифицирует уязвимости до того, как образы достигают реестра.
  • Сканирование среды выполнения обнаруживает уязвимости в запущенных контейнерах.

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

Укажите требования для минимальных образов контейнеров. Требуются легковесные базовые образы с минимальным следом операционной системы, такие как Alpine или distroless образы, чтобы уменьшить поверхность атаки. Разрешить только доверенные, защищенные базовые образы, которые часто сканируются на наличие уязвимостей.

Определите требования к происхождению изображений. Только подписанные образы из утвержденных источников должны развертываться в рабочих кластерах. Реализуйте контроллеры доступа, которые проверяют подписи образов и соблюдают утвержденные политики реестра.

Требования к защите от угроз среды выполнения

Среды выполнения контейнеров требуют непрерывного мониторинга угроз и аномального поведения. Укажите требования для возможностей обнаружения и реагирования.

Microsoft Defender для контейнеров обеспечивает комплексную защиту среды выполнения. Укажите требования к развертыванию датчика Defender, который собирает данные телеметрии, включая:

  • События журнала аудита Kubernetes
  • Выполнение процесса и поведение контейнера
  • Сетевое действие и обнаружение аномалий

Датчик обеспечивает обнаружение более 60 сценариев угроз, согласованных с матрицей MITRE ATT&CK для контейнеров.

Требуется возможность управления безопасностью, которая оценивает конфигурации кластера с помощью Microsoft Cloud Security Benchmark и CIS Kubernetes Benchmark. Укажите автоматическое исправление для неправильных конфигураций, если это возможно, с оповещением о проблемах, требующих ручного вмешательства.

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

Возможности поэтапного развертывания не допускают попадания на кластеры уязвимых или неправильно настроенных рабочих нагрузок. Укажите политики контроля допуска, которые проверяют требования безопасности перед развертыванием рабочей нагрузки. Политика Azure для Kubernetes предоставляет эти элементы управления путем интеграции с контроллером допуска Gatekeeper.

Для изучения и реагирования в службах Kubernetes укажите интеграцию с Microsoft Defender XDR. Требуется интеграция Microsoft Sentinel для потоковой передачи журналов диагностики AKS для централизованного управления сведениями о безопасности и событиями (SIEM).

Требования к безопасности Pod

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

Три уровня безопасности Pod предоставляют рамку для спецификации:

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

Укажите применение политики безопасности Pod на уровне неймспейса.

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

Определите требования к контекстам безопасности среды выполнения контейнеров:

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

Требования к управлению секретами

Рабочие нагрузки контейнеров не должны хранить секреты в коде приложения или переменных среды. Укажите требования для централизованного управления секретами с использованием Azure Key Vault и драйвера Secrets Store CSI. Драйвер CSI монтирует секреты из Key Vault в виде томов в pod'ы, что позволяет кластеру нативно извлекать содержимое секретов без их сохранения на диске. Требовать идентификаторы рабочей нагрузки для аутентификации пода в Key Vault, обеспечивая федеративный доступ с использованием маркеров без секретов клиента.

Сводка ключевых требований к безопасности

При указании требований к безопасности контейнеров и оркестрации ставьте приоритет на:

  • Интеграция идентификатора Microsoft Entra с Kubernetes RBAC для управления удостоверениями и доступом
  • Частные кластеры с политиками сети, которые принудительно запрещают обмен данными по умолчанию и исходящий трафик, перенаправленный через брандмауэр Azure
  • Частные реестры контейнеров с сканированием уязвимостей на всех этапах жизненного цикла и минимальными базовыми образами
  • Defender для контейнеров, обеспечивает обнаружение угроз в режиме выполнения, обнаружение двоичного дрейфа и управление состоянием безопасности, интегрирован и с Defender XDR и Microsoft Sentinel.
  • Azure Key Vault с драйвером CSI для Хранилища секретов и централизованного управления ключами
  • Стандарты безопасности Pod, внедряющие базовые или ограниченные конфигурации с помощью AppArmor и усиления безопасности seccomp

Эти требования устанавливают многоуровневый подход, который защищает контейнеры от атак цепочки поставок, включая угрозы во время выполнения.