Instalar o sensor do Defender para Contêineres usando o Helm

Este artigo descreve como instalar e configurar o sensor do Microsoft Defender para Contêineres em clusters AKS, EKS e GKE usando o Helm.

O Defender para Contêineres dá suporte a vários modelos de implantação para implantar o sensor, incluindo provisionamento automático e instalação baseada em Helm. A implantação baseada no Helm fornece maior coordenação sobre o controle de versão do sensor e o tempo de upgrade, mas ela transfere alguma responsabilidade operacional para você. Ao usar a implantação baseada no Helm, considere:

  • Atualizações de sensor: usando a implantação baseada no Helm, você gerencia atualizações de sensor e tempo de atualização. O provisionamento automático segue os agendamentos de distribuição gerenciados pela Microsoft.

  • Fluxos automáticos de instalação: ao implantar o sensor usando o Helm, ignore as solicitações e recomendações de instalação automática no portal do Azure para evitar conflitos com a implantação existente.

Pré-requisitos

Antes de instalar o sensor usando o Helm, verifique se:

Instalar o gráfico Helm

Gráficos do Defender para contêineres Helm são publicados em mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.

O gráfico requer valores de identificador de cluster em global.cloudIdentifiers. Você pode fornecer esses valores embutidos com --set, conforme mostrado nos exemplos a seguir, ou usando um arquivo de valores.

Para instalar a versão mais recente do gráfico, use o comando de instalação base do Helm. Forneça os valores necessários global.cloudIdentifiers usando um arquivo de valores ou embutido com --set, conforme demonstrado nos exemplos específicos para o ambiente.

helm install defender-k8s oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers

Você pode listar as versões publicadas executando o seguinte comando:

curl https://mcr.microsoft.com/v2/azuredefender/microsoft-defender-for-containers/tags/list

Para instalar uma versão específica, inclua a marca de versão:

helm install defender-k8s oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers:<tag>

Para inspecionar valores de gráfico configuráveis, como sinalizadores de recursos ou limites de recursos de pod, execute pull do gráfico e examine o arquivo values.yaml:

helm pull oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers

Para instalar o sensor para seu ambiente:

Para clusters padrão do AKS, use o mdc namespace.

Para clusters automáticos do AKS, use o kube-system namespace.

Se o cluster do AKS já tiver uma Defender existente para implantação de contêineres, desabilite a implantação existente conforme descrito em Configurar Defender para Contêineres para Azure e remova os recursos restantes executando os seguintes comandos:

kubectl delete crd/policies.defender.microsoft.com || true
kubectl delete crd/runtimepolicies.defender.microsoft.com || true
kubectl delete crd/securityartifactpolicies.defender.microsoft.com || true
kubectl delete ClusterRole defender-admission-controller-cluster-role || true
kubectl delete ClusterRole defender-admission-controller-resource-cluster-role || true
kubectl delete ClusterRoleBinding defender-admission-controller-cluster-role-binding || true
kubectl delete ClusterRoleBinding defender-admission-controller-cluster-resource-role-binding || true

Instale o sensor:

helm install defender-k8s oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers \
    --create-namespace --namespace <namespace> \
    --set global.cloudIdentifiers.Azure.subscriptionId="<cluster-subscription-id>" \
    --set global.cloudIdentifiers.Azure.resourceGroupName="<cluster-resource-group>" \
    --set global.cloudIdentifiers.Azure.clusterName="<cluster-name>" \
    --set global.cloudIdentifiers.Azure.region="<cluster-region>"

Substitua por <namespace> :

  • mdc para clusters padrão do AKS.
  • kube-system para clusters automáticos do AKS.

Verificar a instalação

Verifique se a instalação foi bem-sucedida usando o namespace usado durante a instalação.

helm list --namespace mdc

A instalação é bem-sucedida se o campo STATUS exibir deployed.

Configurar regras de segurança para implantação fechada

Observação

A implantação com restrição do Kubernetes tem suporte em clusters automáticos do AKS somente quando o sensor é instalado usando o Helm no namespace kube-system. O suporte à implantação de complementos não é oferecido para esse cenário.

Importante

Quando você cria regras, a assinatura selecionada pode ser mostrada como not supported for Gated deployment. Esse status ocorre porque você instalou os componentes do Defender para Contêineres usando o Helm e não por meio da instalação automática do painel.

Defina regras de segurança para controlar o que você pode implantar em seus clusters do Kubernetes. Essas regras ajudam você a bloquear ou auditar imagens de contêiner com base em critérios de segurança, como imagens com muitas vulnerabilidades.

  1. Entre no portal do Azure.

  2. Vá para Defender para Nuvem>Configurações do ambiente.

  3. Selecione regras de segurança.

  4. Selecione Implantação fechada>Avaliação de vulnerabilidade.

  5. Selecione uma regra para editá-la ou selecione + Adicionar regra para criar uma nova.

Gerenciar recomendações existentes

Importante

Se você instalar o sensor usando o Helm, não use recomendações de Defender para Nuvem existentes para instalar o perfil Defender ou a extensão Arc para o mesmo cluster. Corrigir essas recomendações pode criar uma implantação conflitante.

Dependendo do tipo de implantação, as seguintes recomendações ainda podem aparecer em Defender para Nuvem:

Atualize uma implantação existente baseada em Helm

Com a implantação baseada no Helm, você gerencia as atualizações de sensores. O Defender para Nuvem não os aplica automaticamente.

Execute o comando a seguir para atualizar uma implantação baseada no Helm existente. Use o namespace usado durante a instalação.

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

Para <namespace>, use:

  • mdc para clusters padrão AKS, EKS e GKE.
  • kube-system para clusters automáticos do AKS.

Se a atualização falhar devido a conflitos de recursos, adicione as seguintes opções ao comando de atualização:

--server-side=true --resolve-conflicts