Architektura usługi Defender for Containers
Usługa Defender for Containers jest zaprojektowana inaczej dla każdego środowiska Kubernetes, niezależnie od tego, czy działają w:
Azure Kubernetes Service (AKS) — zarządzana usługa firmy Microsoft do tworzenia, wdrażania i zarządzania aplikacjami konteneryzowanymi.
Amazon Elastic Kubernetes Service (EKS) na połączonym koncie usług Amazon Web Services (AWS) — zarządzana usługa Amazon do uruchamiania rozwiązania Kubernetes na platformie AWS bez konieczności instalowania, obsługi i obsługi własnej płaszczyzny sterowania lub węzłów platformy Kubernetes.
Google Kubernetes Engine (GKE) w połączonym projekcie Google Cloud Platform (GCP) — zarządzane środowisko Google do wdrażania, zarządzania i skalowania aplikacji przy użyciu infrastruktury GCP.
Niezarządzana dystrybucja Kubernetes (przy użyciu platformy Kubernetes z włączoną usługą Azure Arc) — certyfikowane klastry Kubernetes (Cloud Native Computing Foundation) hostowane lokalnie lub w usłudze IaaS.
Uwaga
Obsługa usługi Defender for Containers dla klastrów Kubernetes z obsługą usługi Arc (AWS EKS i GCP GKE) to funkcja w wersji zapoznawczej.
Aby chronić kontenery Kubernetes, usługa Defender for Containers odbiera i analizuje:
- Dzienniki inspekcji i zdarzenia zabezpieczeń z serwera interfejsu API
- Informacje o konfiguracji klastra z płaszczyzny sterowania
- Konfiguracja obciążenia z usługi Azure Policy
- Sygnały zabezpieczeń i zdarzenia z poziomu węzła
Aby dowiedzieć się więcej na temat szczegółów implementacji, takich jak obsługiwane systemy operacyjne, dostępność funkcji, wychodzący serwer proxy, zobacz Dostępność funkcji usługi Defender for Containers.
Architektura dla każdego środowiska Kubernetes
Diagram architektury klastrów Defender dla Chmury i AKS
Gdy Defender dla Chmury chroni klaster hostowany w usłudze Azure Kubernetes Service, zbieranie danych dziennika inspekcji jest bez agenta i zbierane automatycznie za pośrednictwem infrastruktury platformy Azure bez dodatkowych kosztów ani zagadnień dotyczących konfiguracji. Są to wymagane składniki w celu uzyskania pełnej ochrony oferowanej przez usługę Microsoft Defender for Containers:
- Czujnik usługi Defender: zestaw DaemonSet wdrożony w każdym węźle, zbiera sygnały z hostów przy użyciu technologii eBPF i zapewnia ochronę środowiska uruchomieniowego. Czujnik jest zarejestrowany w obszarze roboczym usługi Log Analytics i używany jako potok danych. Jednak dane dziennika inspekcji nie są przechowywane w obszarze roboczym usługi Log Analytics. Czujnik usługi Defender jest wdrażany jako profil zabezpieczeń usługi AKS.
- Usługa Azure Policy dla platformy Kubernetes: zasobnik, który rozszerza usługę Gatekeeper w wersji 3 typu open source i rejestruje się jako element webhook do kontroli wpływu na platformę Kubernetes, umożliwiając stosowanie wymuszania na dużą skalę i zabezpieczenia w klastrach w sposób scentralizowany i spójny. Zasobnik usługi Azure Policy for Kubernetes jest wdrażany jako dodatek usługi AKS. Jest on instalowany tylko w jednym węźle w klastrze. Aby uzyskać więcej informacji, zobacz Protect your Kubernetes workloads (Ochrona obciążeń Kubernetes) i Understand Azure Policy for Kubernetes clusters (Ochrona obciążeń platformy Kubernetes) i Understand Azure Policy for Kubernetes clusters (Omówienie usługi Azure Policy dla klastrów Kubernetes).
Szczegóły składnika czujnika usługi Defender
Nazwa zasobnika | Przestrzeń nazw | Rodzaj | Short Description | Możliwości | Limity zasobów | Wymagany ruch wychodzący |
---|---|---|---|---|---|---|
microsoft-defender-collector-ds-* | kube-system | DaemonSet | Zestaw kontenerów, które koncentrują się na zbieraniu spisu i zdarzeń zabezpieczeń ze środowiska Kubernetes. | SYS_ADMIN, SYS_RESOURCE, SYS_PTRACE |
pamięć: 296Mi procesor: 360 m |
Nie. |
microsoft-defender-collector-misc-* | kube-system | Wdrożenie | Zestaw kontenerów, które koncentrują się na zbieraniu spisu i zdarzeń zabezpieczeń ze środowiska Kubernetes, które nie są powiązane z określonym węzłem. | Nie dotyczy | pamięć: 64Mi procesor: 60 m |
Nie. |
microsoft-defender-publisher-ds-* | kube-system | DaemonSet | Opublikuj zebrane dane w usłudze zaplecza usługi Microsoft Defender for Containers, w której dane będą przetwarzane i analizowane. | Nie dotyczy | pamięć: 200Mi procesor: 60 m |
Https 443 Dowiedz się więcej o wymaganiach wstępnych dotyczących dostępu wychodzącego |
* Limity zasobów nie są konfigurowalne; Dowiedz się więcej o limitach zasobów platformy Kubernetes.
Jak działa odnajdywanie bez agenta dla platformy Kubernetes na platformie Azure?
Proces odnajdywania jest oparty na migawkach wykonanych w odstępach czasu:
Po włączeniu odnajdywania bez agenta dla rozszerzenia Kubernetes następuje następujący proces:
Utwórz:
- Jeśli rozszerzenie jest włączone z CSPM w usłudze Defender, Defender dla Chmury tworzy tożsamość w środowiskach klienta o nazwie
CloudPosture/securityOperator/DefenderCSPMSecurityOperator
. - Jeśli rozszerzenie jest włączone z usługi Defender for Containers, Defender dla Chmury tworzy tożsamość w środowiskach klienta o nazwie
CloudPosture/securityOperator/DefenderForContainersSecurityOperator
.
- Jeśli rozszerzenie jest włączone z CSPM w usłudze Defender, Defender dla Chmury tworzy tożsamość w środowiskach klienta o nazwie
Przypisz: Defender dla Chmury przypisuje wbudowaną rolę o nazwie Operator bez agenta Kubernetes do tej tożsamości w zakresie subskrypcji. Rola zawiera następujące uprawnienia:
- Odczyt usługi AKS (Microsoft.ContainerService/managedClusters/read)
- Dostęp zaufany usługi AKS z następującymi uprawnieniami:
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete
Odnajdywanie: przy użyciu tożsamości przypisanej przez system Defender dla Chmury wykonuje odnajdywanie klastrów usługi AKS w środowisku przy użyciu wywołań interfejsu API do serwera interfejsu API usługi AKS.
Wiązanie: po odnalezieniu klastra usługi AKS Defender dla Chmury wykonuje operację powiązania usługi AKS, tworząc element
ClusterRoleBinding
między utworzoną tożsamością aksClusterRole
:trustedaccessrole:defender-containers:microsoft-defender-operator. ElementClusterRole
jest widoczny za pośrednictwem interfejsu API i daje Defender dla Chmury uprawnienia do odczytu płaszczyzny danych w klastrze.
Uwaga
Skopiowana migawka pozostaje w tym samym regionie co klaster.
Następne kroki
W tym omówieniu przedstawiono architekturę zabezpieczeń kontenerów w Microsoft Defender dla Chmury. Aby włączyć plan, zobacz: