Instalowanie czujnika usługi Defender for Containers przy użyciu programu Helm

Aby kontrolować czas wdrażania i uaktualniania w klastrach Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS) i Google Kubernetes Engine (GKE), zainstaluj i skonfiguruj czujnik Microsoft Defender for Containers przy użyciu narzędzia Helm.

Defender for Containers obsługuje wiele modeli wdrażania czujników, w tym automatyczną aprowizację i instalację opartą na programie Helm. Wdrożenie oparte na programie Helm zapewnia większą kontrolę nad czasem przechowywania wersji i uaktualniania, ale zarządzasz niektórymi pracami operacyjnymi. W przypadku korzystania z wdrożenia opartego na programie Helm należy wziąć pod uwagę następujące kwestie:

  • Uaktualnienia czujników: dzięki wdrożeniu opartemu na programie Helm można zarządzać uaktualnieniami czujników i chronometrażem. Automatyczna aprowizacja jest zgodna z harmonogramami wdrażania zarządzanymi przez firmę Microsoft.

  • Automatyczne procesy instalacji: Podczas wdrażania czujnika za pomocą narzędzia Helm pomiń automatyczne monity i zalecenia w portalu Azure, aby uniknąć konfliktów z istniejącym wdrożeniem.

Wymagania wstępne

Przed zainstalowaniem czujnika przy użyciu programu Helm wykonaj następujące wymagania wstępne:

Zainstaluj chart Helm

Wykresy Helm Defender dla kontenerów są publikowane w mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.

Wykres wymaga wartości identyfikatora klastra w obszarze global.cloudIdentifiers. Te wartości można podać w tekście za pomocą --setpolecenia , jak pokazano w poniższych przykładach lub przy użyciu pliku wartości.

Aby zainstalować najnowszą wersję wykresu, użyj podstawowego polecenia instalacji programu Helm. Podaj wymagane global.cloudIdentifiers wartości za pomocą pliku wartości lub bezpośrednio z --set, jak pokazano w przykładach dostosowanych do środowiska.

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

Opublikowane wersje można wyświetlić, uruchamiając następujące polecenie:

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

Aby zainstalować określoną wersję, dołącz tag wersji:

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

Aby sprawdzić konfigurowalne wartości wykresu, takie jak flagi funkcji lub limity zasobów poda, pobierz wykres i przejrzyj plik values.yaml.

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

Aby zainstalować czujnik dla środowiska:

W przypadku standardowych klastrów usługi AKS użyj mdc przestrzeni nazw.

W przypadku klastrów automatycznych AKS użyj przestrzeni nazw kube-system.

Jeśli Twój klaster AKS ma już istniejącą implementację usługi Defender dla kontenerów, wyłącz istniejącą implementację zgodnie z opisem w Konfiguracja usługi Defender dla kontenerów dla Azure i usuń wszelkie pozostałe zasoby, uruchamiając następujące polecenia:

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

Zainstaluj czujnik:

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

Zastąp ciąg <namespace> ciągiem :

  • mdc dla standardowych klastrów usługi AKS.
  • kube-system dla automatycznych klastrów AKS.

Weryfikowanie instalacji

Zweryfikuj instalację przy użyciu tej samej przestrzeni nazw, która została użyta do zainstalowania wykresu.

helm list --namespace mdc

Instalacja zakończyła się powodzeniem, jeśli pole STATUS wyświetla deployed.

Konfigurowanie reguł zabezpieczeń dla kontrolowanego wdrożenia

Uwaga / Notatka

Wdrożenie z ograniczeniem Kubernetes jest obsługiwane tylko w automatycznych klastrach AKS, gdy czujnik jest zainstalowany przy użyciu Helm w przestrzeni nazw kube-system. Wdrożenie dodatku nie jest obsługiwane w tym scenariuszu.

Ważne

Podczas tworzenia reguł wybrana subskrypcja może być wyświetlana jako not supported for Gated deployment. Ten stan występuje, ponieważ składniki usługi Defender for Containers zostały zainstalowane przy użyciu programu Helm, a nie za pośrednictwem automatycznej instalacji pulpitu nawigacyjnego.

Zdefiniuj reguły zabezpieczeń, aby kontrolować, co można wdrożyć w klastrach Kubernetes. Te reguły mogą blokować obrazy kontenerów niespełniające kryteriów bezpieczeństwa lub poddawać je audytowi.

  1. Zaloguj się do witryny Azure Portal.

  2. Przejdź do Defender dla Chmury>Ustawienia środowiska.

  3. Wybierz pozycję Reguły zabezpieczeń.

  4. Wybierz wdrażanie z bramą>ocenę luk w zabezpieczeniach.

  5. Wybierz regułę, aby ją edytować, lub wybierz pozycję + Dodaj regułę , aby utworzyć nową regułę.

Obsługa istniejących zaleceń

Ważne

Jeśli zainstalujesz czujnik przy użyciu programu Helm, nie używaj istniejących zaleceń dotyczących Defender dla Chmury w celu zainstalowania profilu Defender lub rozszerzenia Arc dla tego samego klastra. Korekta tych zaleceń może doprowadzić do konfliktu we wdrożeniu.

W zależności od typu wdrożenia w Defender dla Chmury mogą być nadal wyświetlane następujące zalecenia. Przejrzyj je, aby potwierdzić, że dotyczą automatycznych procesów wdrażania, a następnie zignoruj je w przypadku klastrów wdrożonych za pomocą narzędzia Helm.

Uaktualnianie istniejącego wdrożenia opartego na usłudze Helm

Wdrożenie oparte na programie Helm umożliwia zarządzanie uaktualnieniami czujników. Usługa Defender dla Chmury nie stosuje ich automatycznie.

Uruchom następujące polecenie, aby zaktualizować istniejące wdrożenie oparte na usłudze Helm. Użyj przestrzeni nazw używanej podczas instalacji.

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

Zastąp <namespace> przestrzenią nazw używaną podczas instalacji.

Parametr --reuse-values zachowuje istniejące wartości niestandardowe podczas aktualizacji.

W przypadku <namespace>, użyj:

  • mdc dla standardowych klastrów AKS, EKS i GKE.
  • kube-system dla automatycznych klastrów AKS.

Jeśli uaktualnienie nie powiedzie się z powodu konfliktów zasobów, dodaj następujące opcje do polecenia uaktualniania:

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