Defender for Containers-sensor installeren met Behulp van Helm

Als u de implementatie- en upgradetijd wilt beheren in uw Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS) en Google Kubernetes Engine-clusters (GKE), installeert en configureert u de Microsoft Defender voor Containers-sensor met behulp van Helm.

Defender voor Containers ondersteunt meerdere sensorimplementatiemodellen, waaronder automatische inrichting en installatie op basis van Helm. Implementatie op basis van Helm biedt u meer controle over versiebeheer en tijdsinstellingen voor upgrades, maar u beheert een deel van het operationele werk. Wanneer u op Helm gebaseerde implementatie gebruikt, kunt u het volgende overwegen:

  • Sensor-upgrades: Met een implementatie op basis van Helm beheert u upgrades van sensoren en de timing daarvan. Automatische voorzieningen volgen de door Microsoft beheerde implementatieschema's.

  • Automatische installatiestromen: Wanneer u de sensor implementeert met behulp van Helm, slaat u automatische prompts en aanbevelingen over in de Azure-portal om conflicten met de bestaande implementatie te voorkomen.

Prerequisites

Voordat u de sensor installeert met behulp van Helm, moet u de volgende vereisten voltooien:

  • Zorg ervoor dat helm en curl zijn geïnstalleerd en beschikbaar zijn in uw opdrachtregelomgeving.

    Voer de volgende opdracht uit om te controleren of de hulpprogramma's beschikbaar zijn:

    helm version
    curl --version
    
    
  • Implementeer alle vereisten voor de Defender for Containers-sensor, zoals beschreven in de vereisten voor het Defender-sensornetwerk.

  • Defender for Containers inschakelen in het doelabonnement of de beveiligingsconnector:

  • Schakel de volgende onderdelen van het Defender for Containers-plan in:

    • Defender-sensor
    • Kubernetes-API-toegang
  • Voor omgevingen in Amazon Web Services (AWS) en Google Cloud Platform (GCP): schakel de schakelaar Auto provision Defender's sensor for Azure Arc uit.

    Als u automatische inrichting ingeschakeld wilt houden voor andere Arc-clusters in het AWS-account of GCP-project, moet u de tag ms_defender_e2e_discovery_exclude=true toepassen op clusters waar u de sensor wilt uitrollen door gebruik te maken van Helm.

  • Zorg ervoor dat uw omgeving geen conflicterende beleidstoewijzingen heeft waarmee de algemeen beschikbare versie van de sensor kan worden uitgerold.

    Controleer beleidstoewijzingen die gebruikmaken van de volgende beleidsdefinitie-id en verwijder conflicterende toewijzingen:

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

    Als u beleidsdefinities wilt bekijken, gaat u naar Policy-definities in de Azure-portal en zoekt u naar de beleidsdefinitie-id.

De Helm-grafiek installeren

Defender voor Helm-grafieken voor containers worden gepubliceerd naar mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.

Voor de grafiek zijn cluster-id-waarden vereist onder global.cloudIdentifiers. U kunt deze waarden inline --setopgeven, zoals wordt weergegeven in de volgende voorbeelden of met behulp van een waardenbestand.

Om de nieuwste versie van de Helm chart te installeren, gebruikt u het basis Helm install-commando. Geef de vereiste global.cloudIdentifiers waarden op met behulp van een waardenbestand of inline met --set, zoals wordt weergegeven in de omgevingsspecifieke voorbeelden:

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

U kunt de gepubliceerde versies weergeven door de volgende opdracht uit te voeren:

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

Als u een specifieke versie wilt installeren, neemt u de versietag op:

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

Als u configureerbare grafiekwaarden wilt inspecteren, zoals functievlagmen of resourcelimieten voor pods, haalt u de grafiek op en controleert u het values.yaml bestand:

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

De sensor voor uw omgeving installeren:

Gebruik de mdc naamruimte voor standaard AKS-clusters.

Gebruik de kube-system naamruimte voor automatische AKS-clusters.

Als uw AKS-cluster al een bestaande Defender voor Containers-installatie heeft, schakelt u de bestaande installatie uit, zoals beschreven in Configure Defender for Containers for Azure en verwijdert u eventueel overgebleven bronnen door de volgende opdrachten uit te voeren:

kubectl delete crd/policies.defender.microsoft.com || true
kubectl delete crd/policytemplates.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

Installeer de 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>"

Vervangen <namespace> door:

  • mdc voor AKS-standaardclusters.
  • kube-system voor geautomatiseerde AKS-clusters.

De installatie controleren

Controleer de installatie met behulp van dezelfde naamruimte die u hebt gebruikt om de grafiek te installeren.

helm list --namespace mdc

De installatie is geslaagd als het veld STATUSdeployed weergeeft.

Beveiligingsregels voor gated-implementatie configureren

Note

Kubernetes-gated implementatie wordt alleen ondersteund op AKS Automatische clusters wanneer de sensor wordt geïnstalleerd met behulp van Helm in de kube-system naamruimte. Implementatie van invoegtoepassingen wordt niet ondersteund voor dit scenario.

Belangrijk

Wanneer u regels maakt, kan het geselecteerde abonnement worden weergegeven als not supported for Gated deployment. Deze status treedt op omdat u de onderdelen van Defender for Containers hebt geïnstalleerd met behulp van Helm in plaats van via de automatische installatie van het dashboard.

Definieer beveiligingsregels om te bepalen wat u in uw Kubernetes-clusters kunt implementeren. Deze regels kunnen containerinstallatiekopieën blokkeren of controleren die niet voldoen aan uw beveiligingscriteria.

  1. Meld u aan bij het Azure-portaal.

  2. Ga naar Defender voor Cloud>Omgevingsinstellingen.

  3. Selecteer Beveiligingsregels.

  4. Selecteer Evaluatie vanbeveiligingsproblemen met >.

  5. Selecteer een regel om deze te bewerken of selecteer + Regel toevoegen om een nieuwe regel te maken.

Bestaande aanbevelingen afhandelen

Belangrijk

Als u de sensor installeert met behulp van Helm, gebruikt u geen bestaande Defender voor Cloud aanbevelingen om het Defender-profiel of de Arc-extensie voor hetzelfde cluster te installeren. Door deze aanbevelingen aan te pakken, kan er een conflicterende implementatie ontstaan.

Afhankelijk van uw implementatietype worden de volgende aanbevelingen mogelijk nog steeds weergegeven in Defender voor Cloud. Controleer ze om te bevestigen dat ze verwijzen naar automatische implementatiestromen en deze vervolgens negeren voor clusters waarin u met Helm hebt geïmplementeerd.

Een bestaande Helm-gebaseerde implementatie upgraden

Met Helm-gebaseerde implementatie beheert u de sensorupgrades. Defender voor Cloud past ze niet automatisch toe.

Voer de volgende opdracht uit om een bestaande Helm-implementatie bij te werken. Gebruik de naamruimte die u tijdens de installatie hebt gebruikt.

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

Vervang <namespace> door de naamruimte die u tijdens de installatie hebt gebruikt.

De --reuse-values parameter bewaart uw bestaande aangepaste waarden tijdens de upgrade.

Voor <namespace>, gebruik:

  • mdc voor standaard AKS-, EKS- en GKE-clusters.
  • kube-system voor geautomatiseerde AKS-clusters.

Als de upgrade mislukt vanwege resourceconflicten, voegt u de volgende opties toe aan de upgradeopdracht:

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