Instale o sensor Defender for Containers usando o Helm

Este artigo descreve como instalar e configurar o sensor Microsoft Defender for Containers em clusters AKS, EKS e GKE usando o Helm.

O Defender for Containers suporta vários modelos de execução para a implementação do sensor, incluindo o provisionamento automático e a instalação com base no Helm. A implantação baseada no leme proporciona maior controlo sobre a versionação dos sensores e o timing das atualizações, mas transfere parte da responsabilidade operacional para si. Ao utilizar a implementação baseada em Helm, considere:

  • Atualizações de sensores: Ao usar a implantação baseada no Helm, gere as atualizações dos sensores e o timing das atualizações. O provisionamento automático segue os calendários de implementação geridos pela Microsoft.

  • Fluxos automáticos de instalação: Ao implementar o sensor através do Helm, evite os prompts e recomendações automáticas de instalação no portal Azure para evitar conflitos com a implementação existente.

Pré-requisitos

Antes de instalar o sensor usando o Helm, certifique-se de que:

  • Implementa todos os requisitos necessários para o sensor Defender para Containers, conforme descrito nos requisitos de rede do sensor Defender.

  • Defender for Containers está ativado na subscrição alvo ou no conector de segurança:

  • Os seguintes componentes do plano Defender for Containers estão ativados:

    • Sensor do Defender
    • Acesso à API do Kubernetes
  • Para ambientes AWS e GCP: certifique-se de que a opção de Provisionamento Automático do sensor do Defender para o Azure Arc está desativada.

    Se quiser manter o provisionamento automático ativado para outros clusters com suporte Arc na conta AWS ou no projeto GCP, aplique a ms_defender_e2e_discovery_exclude=true etiqueta aos clusters onde pretende implementar o sensor usando o Helm.

  • O teu ambiente não tem atribuições de políticas conflitantes que possam implementar a versão geralmente disponível do sensor.

    Revise as atribuições de políticas que utilizem o seguinte ID de definição de política e remova quaisquer atribuições conflitantes:

    64def556-fbad-4622-930e-72d1d5589bf5

    Para rever definições de políticas, consulte definições de políticas no portal Azure e procure o ID da definição de política.

Instale o Helm chart

Defender para Containers Helm Charts são publicadas em mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.

O gráfico requer valores de identificador de cluster no campo global.cloudIdentifiers. Pode fornecer estes valores em linha com --set, como mostrado nos exemplos seguintes, ou usando um ficheiro de valores.

Para instalar a versão mais recente do chart, use o comando básico de instalação do Helm. Forneça os valores necessários global.cloudIdentifiers usando um ficheiro de valores ou em linha com --set, como mostrado nos exemplos específicos do ambiente:

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

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 etiqueta de versão:

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

Para inspecionar valores configuráveis do gráfico, como flags de funcionalidades ou limites de recursos do pod, retira o gráfico e revê o values.yaml ficheiro:

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

Para instalar o sensor para o seu ambiente:

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

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

Se o seu cluster AKS já tiver uma Defender existente para implementação de Containers, desative a implementação existente conforme descrito em Configure Defender para Containers para Azure, e remova quaisquer recursos remanescentes 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 <namespace> por:

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

Verifique a instalação

Verifica se a instalação foi bem-sucedida usando o namespace que usaste durante a instalação.

helm list --namespace mdc

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

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

Observação

A implementação com bloqueio Kubernetes é suportada em clusters automáticos AKS apenas quando o sensor é instalado usando o Helm no kube-system namespace. A implementação de add-ons não é suportada para este cenário.

Importante

Quando crias regras, a subscrição selecionada pode aparecer como not supported for Gated deployment. Este estado ocorre porque instalou os componentes Defender for Containers usando o Helm em vez de através da instalação automática do dashboard.

Defina regras de segurança para controlar o que pode implementar nos seus clusters Kubernetes. Estas regras ajudam-no a bloquear ou auditar imagens de contentores com base em critérios de segurança, como imagens com demasiadas vulnerabilidades.

  1. Inicie sessão no portal Azure.

  2. Vá para Defender para a Cloud>Configurações do Ambiente.

  3. Selecione as regras de segurança.

  4. Selecione Avaliação de vulnerabilidade de implantação> com bloqueio.

  5. Seleciona uma regra para a editar, ou seleciona + Adicionar regra para criar uma nova.

Tratar das recomendações existentes

Importante

Se instalares o sensor usando o Helm, não uses as recomendações existentes do Defender para a Cloud para instalar o perfil do Defender ou a extensão do Arc para o mesmo cluster. Remediar estas recomendações pode criar uma implementação conflituosa.

Dependendo do tipo de implementação, as seguintes recomendações podem ainda aparecer no Defender para a Cloud:

Atualizar uma implantação existente baseada em Helm

Com a implantação baseada no Helm, geres as atualizações dos sensores. O Defender para a Cloud não os aplica automaticamente.

Execute o comando seguinte para atualizar uma implantação existente baseada no Helm. Usa o namespace que usaste 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 AKS, EKS e GKE padrão.
  • kube-system para clusters automáticos 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