Установка датчика Defender для контейнеров с помощью Helm

В этой статье описывается установка и настройка датчика Microsoft Defender для контейнеров в кластерах AKS, EKS и GKE с помощью Helm. Вы узнаете о предварительных требованиях, включении Defender для контейнеров и пошаговые инструкции по развертыванию для разных сред.

Defender для контейнеров поддерживает несколько моделей развертывания для развертывания датчика, включая автоматическую подготовку и установку на основе Helm. Развертывание на основе Helm обеспечивает более широкий контроль над управлением версиями датчиков и временем обновления, но он переключает на вас некоторую операционную ответственность. При использовании развертывания на основе Helm рассмотрите следующее:

  • Обновления датчиков: Используя развертывание на основе Helm, вы управляете процессом обновления датчиков и временем его выполнения. Автоматическая подготовка следует расписаниям развертывания, управляемым Корпорацией Майкрософт.

  • Потоки автоматической установки. При развертывании датчика с помощью Helm пропустите запросы автоматической установки и рекомендации на портале Azure, чтобы избежать конфликтов с существующим развертыванием.

Общие предварительные требования

Реализуйте все необходимые требования для датчика Defender для контейнеров, как описано в требованиях к сети датчиков Defender.

Установить чарт Helm для сенсоров

В зависимости от типа развертывания следуйте соответствующим инструкциям по установке датчика Defender для контейнеров с помощью Helm:

Предпосылки

AkS Automatic Only: выполните следующую команду для AKS Automatic:

# Update Azure CLI to the latest version 
az upgrade 
  
# If you don't have the AKS preview extension installed yet 
az extension add --name aks-preview 
  
# Update the AKS extension specifically 
az extension update --name aks-preview

AKS и AKS Automatic:

  • Helm версии 3.8 или более поздней (доступна версия поддерживает OCI)

  • Azure CLI необходимо установить и войти в учетную запись с ролью владельца группы ресурсов для целевого кластера.

  • Идентификатор ресурса Azure для целевого кластера

    Замечание

    Чтобы создать список идентификаторов ресурсов Azure кластеров AKS, используйте следующую команду с <SUBSCRIPTION_ID><RESOURCE_GROUP>.

    az aks list \
    --subscription <SUBSCRIPTION_ID> \
    --resource-group <RESOURCE_GROUP> \
    --query "[].id" \
    -o tsv
    
  • В вашей среде могут быть назначены политики, которые могут привести к развертыванию общедоступной версии датчика. Прежде чем продолжить установку, рекомендуется проверить и удалить конфликтующие политики:

    Идентификатор назначения политики — 64def556-fbad-4622-930e-72d1d5589bf5.

    Просмотрите список определений политик для подписки и найдите это назначение политики, чтобы удалить его.

    Или запустите скрипт delete_conflicting_policies.sh с помощью следующей команды:

    delete_conflicting_policies.sh <CLUSTER_AZURE_RESOURCE_ID>
    

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

Installation

Используйте скрипт install_defender_sensor_aks.sh для установки датчика Defender для контейнеров и удаления существующего развертывания.

Запустите скрипт с помощью команды:

install_defender_sensor_aks.sh --resource-id <CLUSTER_AZURE_RESOURCE_ID> [--version <VERSION>] [--namespace <NAMESPACE>]

Замените текст <CLUSTER_AZURE_RESOURCE_ID> заполнителя и необязательные параметры собственными значениями:

  • Замените <CLUSTER_AZURE_RESOURCE_ID> идентификатором ресурса Azure кластера AKS.

  • Замените <VERSION> на:

    • latest для последней версии.
    • Определенная семантическая версия.
  • Для автоматических кластеров AKS замените <NAMESPACE> на kube-system. Для стандартных кластеров AKS не указывайте --namespace. Пространство имен по умолчанию — mdc.

Замечание

Этот скрипт задает новый kubeconfig контекст и может создать рабочую область Log Analytics в учетной записи Azure.

Проверка установки

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

Для стандартных AKS, EKS и GKE:

helm list --namespace mdc

Для AKS Automatic:

helm list --namespace kube-system

Установка выполнена успешно, если в поле STATUS отображается развернуто.

Настройка правил безопасности для шлюзового развертывания

Замечание

Развертывание шлюза Kubernetes поддерживается в автоматических кластерах AKS, только если датчик установлен с помощью Helm в kube-system пространстве имен. Развертывание надстройки не поддерживается для этого сценария.

Это важно

Предупреждение о поддержке подписки. При создании правил выбранная подписка может отображаться как not supported for Gated deployment. Это состояние возникает, так как вы установили компоненты Defender для контейнеров с помощью Helm, а не с помощью автоматической установки панели мониторинга.

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

  1. Войдите на портал Azure.

  2. Перейдите к параметрам Defender для облачной>среды.

  3. Выберите правила безопасности.

  4. Выберитеоценку уязвимостей>.

  5. Выберите правило, чтобы изменить его или нажмите кнопку +Добавить правило , чтобы создать новую.

Обработка существующих рекомендаций

Это важно

Если вы настроили датчик с помощью Helm, игнорируйте существующие рекомендации.

В зависимости от типа развертывания выберите соответствующую рекомендацию, чтобы просмотреть все существующие рекомендации на портале Azure:

Обновление существующего развертывания, выполненного с использованием Helm

При развертывании на основе Helm вы управляете обновлениями датчиков. Защитник для облака не применяет их автоматически.

Выполните следующую команду, чтобы обновить существующее развертывание на основе Helm:

helm upgrade microsoft-defender-for-containers \
oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers \
--version <version> \
--reuse-values