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

Aby kontrolować wdrażanie i terminy aktualizacji w klastrach Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS) i Google Kubernetes Engine (GKE), zainstaluj i skonfiguruj czujnik Defender for Containers przy użyciu narzędzia Helm. Zanim zaczniesz, upewnij się, że spełniasz wymagania.

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:

  • Ulepszenia czujników: Stosując system rozmieszczenia opartego na hełmie, zarządzasz ulepszeniami czujników i synchronizacją czasu. 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

Jeśli STATUS pole pokazuje deployed, instalacja zakończyła się sukcesem.

Konfigurowanie reguł zabezpieczeń dla kontrolowanego wdrożenia

Note

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. Wdrażanie dodatków nie jest obsługiwane w tym przypadku.

Ważna

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 portalu Azure.

  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żna

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ą Helm.

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

W przypadku wdrożenia opartego na Helm, zarządzasz ulepszeniami 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

Następny krok