Instala el sensor Defender para contenedores usando Helm

En este artículo se describe cómo instalar y configurar el sensor de Microsoft Defender para contenedores en clústeres de AKS, EKS y GKE mediante Helm.

Defender for Containers admite varios modelos de implementación del sensor, incluyendo el aprovisionamiento automático y la instalación basada en Helm. La implementación basada en Helm ofrece un control más detallado sobre la gestión de versiones del sensor y la programación de actualizaciones, pero transfiere parte de la responsabilidad operativa a usted. Al usar la implementación basada en Helm, tenga en cuenta lo siguiente:

  • Actualizaciones de sensores: mediante la implementación basada en Helm, se administran las actualizaciones del sensor y el tiempo de actualización. El aprovisionamiento automático sigue las programaciones de lanzamiento administradas por Microsoft.

  • Flujos de instalación automática: al implementar el sensor mediante Helm, omita las recomendaciones y avisos de instalación automática en Azure Portal para evitar conflictos con la implementación existente.

Prerrequisitos

Antes de instalar el sensor mediante Helm, asegúrese de que:

Instalación del gráfico de Helm

Los gráficos de Helm para Defender para contenedores se publican en mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.

El gráfico requiere valores de identificador de clúster en global.cloudIdentifiers. Puede proporcionar estos valores alineados con --set, como se muestra en los ejemplos siguientes o mediante un archivo de valores.

Para instalar la versión más reciente del gráfico, use el comando base de instalación de Helm. Proporcione los valores necesarios global.cloudIdentifiers mediante un archivo de valores o en línea con --set, como se muestra en los ejemplos específicos del entorno:

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

Puede enumerar las versiones publicadas ejecutando el siguiente comando:

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

Para instalar una versión específica, incluya la etiqueta de versión:

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

Para inspeccionar valores de gráfico configurables, como marcas de características o límites de recursos de pod, extraiga el gráfico y revise el values.yaml archivo:

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

Para instalar el sensor para su entorno:

Para clústeres AKS estándar, use el mdc espacio de nombres.

En el caso de los clústeres automáticos de AKS, use el kube-system namespace.

Si el clúster de AKS ya tiene una Defender existente para la implementación de contenedores, deshabilite la implementación existente tal y como se describe en Configure Defender for Containers for Azure y quite los recursos restantes ejecutando los comandos siguientes:

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 el 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>"

Reemplace por <namespace> :

  • mdc para clústeres estándar de AKS.
  • kube-system para clústeres automáticos de AKS.

Comprobación de la instalación

Compruebe que la instalación se realizó correctamente mediante el espacio de nombres que usó durante la instalación.

helm list --namespace mdc

La instalación se realiza correctamente si el STATUS campo muestra deployed.

Configuración de reglas de seguridad para la implementación controlada

Nota:

La implementación controlada de Kubernetes solo se admite en clústeres automáticos de AKS cuando el sensor se instala mediante Helm en el espacio de nombres kube-system. No se admite la implementación de complementos para este escenario.

Importante

Al crear reglas, la suscripción seleccionada podría mostrarse como not supported for Gated deployment. Este estado se produce porque instaló los componentes de Defender for Containers mediante Helm en lugar de a través de la instalación automática del panel.

Defina reglas de seguridad para controlar lo que puede implementar en los clústeres de Kubernetes. Estas reglas le ayudan a bloquear o auditar imágenes de contenedor basadas en criterios de seguridad, como imágenes con demasiadas vulnerabilidades.

  1. Inicie sesión en Azure Portal.

  2. Vaya a Defender for Cloud>Configuración del entorno.

  3. Seleccione Reglas de seguridad.

  4. Seleccione implementación controlada>evaluación de vulnerabilidades.

  5. Seleccione una regla para editarla o seleccione + Agregar regla para crear una nueva.

Gestionar las recomendaciones existentes

Importante

Si instala el sensor mediante Helm, no utilice las recomendaciones existentes de Defender for Cloud para instalar el perfil de Defender o la extensión de Arc en el mismo clúster. Corregir estas recomendaciones puede crear una implementación conflictiva.

En función del tipo de implementación, es posible que las siguientes recomendaciones sigan apareciendo en Defender for Cloud:

Mejorar una implementación existente basada en Helm

Con la implementación basada en Helm, se administran las actualizaciones del sensor. Defender for Cloud no las aplica automáticamente.

Ejecute el siguiente comando para actualizar una implementación basada en Helm existente. Use el espacio de nombres que usó durante la instalación.

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

Para <namespace>, use:

  • mdc para clústeres estándar de AKS, EKS y GKE.
  • kube-system para clústeres automáticos de AKS.

Si se produce un error en la actualización debido a conflictos de recursos, agregue las siguientes opciones al comando de actualización:

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