Defender for Containers-arkitektur

Microsoft Defender för containrar använder flera anslutningsvägar för att samla in säkerhetssignaler och ge skydd över containerregister och Kubernetes-miljöer. Vilken anslutning som krävs beror på de aktiverade funktionerna och miljön där containrarna körs.

Implementeringsinformationen varierar mellan Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) och Arc-aktiverade Kubernetes-kluster.

Läs mer om nätverkskrav, behörigheter och konfigurationer som stöds i Nätverksreferens för åtkomst och behörigheter för Defender för containrar.

Översikt över kapacitetsmodell

Följande tabell visar hur viktiga Defender för Containers-funktioner implementeras och om de kräver klusterkomponenter.

Förmåga Utan agent Kräver komponenter i klustret
Utvärdering av bildsårbarhet Yes Nej
Bedömning av Kubernetes-hållning Yes Nej
Identifiering av körtidshot Nej Yes
Kontrollera hotidentifiering för plan Yes Nej

Anslutning till containerregister

Sårbarhetsbedömning av bilder utlöses när bilder skickas till stödda register och genomförs periodiskt baserat på registerkonfiguration. Defender för molnet analyserar bildmetadata och lager som krävs för sårbarhetsbedömning. I scenarier som stöds kan resultat av sårbarhetsbedömning publiceras tillbaka till registret utan att den ursprungliga containeravbildningen ändras. Dessa funktioner kräver inte att några komponenter distribueras i dina Kubernetes-kluster.

Anslutning till Kubernetes-kluster

Microsoft Defender för molnet ansluter till Kubernetes API-slutpunkten för att identifiera kluster, samla in konfigurationsdata och utföra hållnings- och riskanalys. Beroende på de aktiverade funktionerna och miljön kan den här anslutningen kräva läsåtkomst till klustermetadata och i vissa fall begränsade skrivåtgärder för att konfigurera nödvändiga åtkomstbindningar eller tillägg.

Körningsdata som skickas från Kubernetes-kluster

Kubernetes-kluster skickar runtime-säkerhetsdata från arbetsnoder till Microsoft Defender för molnet backend. Dessa data samlas in av Defender för Containrar-komponenter som körs i klustret och skickas utgående för analys. Den här anslutningsväg stöder identifiering av hot vid körning och andra sensorbaserade funktioner.

Anslutning till molnleverantörs-API:er

Microsoft Defender för molnet ansluter till molnleverantörs-API:er för att identifiera resurser och utföra säkerhetsanalys som en del av anslutningsprocessen för molnmiljön. Den här anslutningsvägen upprättas när du ansluter din molnmiljö till Microsoft Defender för molnet.

Kubernetes-granskningsloggar som skickas från molninfrastrukturen

Molninfrastruktur skickar Kubernetes-granskningsloggar till Microsoft Defender för molnet för kontroll av hotidentifiering och säkerhetsanalys. Vilken metod som används för att samla in och skicka granskningsloggar beror på molnleverantören och miljön där Kubernetes-klustren körs.

Stöd för proxy och privat anslutning

Defender for Containers-komponenter stöder utgående anslutning via konfigurerade proxyservrar och konfigurationer för privata anslutningar.

Arkitektur för varje Kubernetes-miljö

Arkitekturkomponenter

När Defender för molnet skyddar ett kluster som finns i Azure Kubernetes Service samlar det in Kubernetes-granskningsloggdata internt via Azure infrastruktur utan att ytterligare agenter eller konfiguration krävs. För att få det fullständiga skydd som erbjuds av Microsoft Defender för containrar behöver du följande komponenter:

  • Defender sensor: En lätt DaemonSet distribuerad på AKS-noder som samlar in körningstelemetri (Kubernetes-händelser, processer och nätverksdata) med hjälp av eBPF-teknik. Den skickar telemetridatan på ett säkert sätt till Defender för molnet för skydd mot hot under körning. Sensorn registreras i en Log Analytics-arbetsyta och agerar som en datapipeline. Granskningsloggdata lagras dock inte på Log Analytics-arbetsytan. Defendersensorn distribueras som en AKS-säkerhetsprofil, integrerad i AKS-resursleverantören (RP).

Anmärkning

När du konfigurerar Defender-sensorn i ett AKS-kluster utlöser den en avstämningsprocess. Den här processen sker som en del av Defender for Containers-planen och är ett förväntat beteende.

  • Azure Policy for Kubernetes: En podd som utökar Gatekeeper v3 med öppen källkod och registreras som en webbkrok till Kubernetes-åtkomstkontroll. Med denna pod kan du tillämpa åtgärder och skyddsåtgärder på stor skala på dina kluster på ett centraliserat och konsekvent sätt. Azure Policy for Kubernetes-podden distribueras som ett AKS-tillägg och du behöver bara installera den på en nod i klustret. Det ger möjlighet att framtvinga konfigurationsregler. Läs mer om Kubernetes arbetsbelastningsskydd och Azure Policy för Kubernetes.
  • ACR-integrering: Push-triggat och periodisk avbildningsgenomsökning för Azure Container Registry, vilket ger sårbarhetsbedömning utan extra komponenter.
  • Agentless discovery: Ger insyn i dina Kubernetes-kluster utan att kräva några agenter med hjälp av Azure interna funktioner för att identifiera och utvärdera klusterkonfigurationer.
  • Agentfri genomsökning av maskiner: Periodiska diskavbildningar av Kubernetes-noder för en djup analys av operativsystemets konfiguration och filsystem. Den här funktionen behöver inga installerade agenter eller nätverksanslutningar och påverkar inte datorns prestanda.
  • Microsoft XDR-integrering: Integrerar med Microsoft utökade identifierings- och svarsplattform för enhetliga säkerhetsåtgärder och incidenthantering.

Diagram över övergripande arkitektur för interaktionen mellan Microsoft Defender för containrar, Azure Kubernetes Service och Azure Policy.

Anmärkning

Dessa komponenter kräver inga inkommande anslutningar till dina kluster och använder Azure interna säkerhetsinfrastruktur. Alla komponenter använder utgående anslutning (ingen inkommande åtkomst krävs).

Information om Defender-sensorkomponent

Poddnamn Namespace Typ Kort beskrivning Förmågor Resursbegränsningar Utgång krävs
microsoft-defender-collector-ds-* kube-system DaemonSet Samlar in runtime-telemetri (Kubernetes-händelser, processer och nätverksdata) från noder med hjälp av eBPF-teknik och skickar den säkert till Defender för molnet. SYS_ADMIN,
SYS_RESOURCE,
SYS_PTRACE
minne: 296Mi

cpu: 360m
Nej
microsoft-defender-collector-misc-* kube-system Deployment Samlar in inventerings- och säkerhetshändelser på klusternivå som inte är bundna till specifika noder. Inte tillgänglig minne: 64Mi

CPU: 60m
Nej
microsoft-defender-publisher-ds-* kube-system DaemonSet Publicerar insamlad telemetri till Serverdelstjänsten för Microsoft Defender for Containers för bearbetning och analys. Inte tillgänglig minne: 200Mi

CPU: 60m
Https 443

Läs mer om kraven för utgående åtkomst

* Du kan inte konfigurera resursgränser. Läs mer om Kubernetes-resursers gränser.

Hur fungerar agentlös identifiering för Kubernetes i Azure?

Identifieringsprocessen använder ögonblicksbilder som tas med jämna mellanrum:

Diagram över behörighetsarkitekturen.

När du aktiverar den agentlösa identifieringen för Kubernetes-tillägget sker följande process:

  • Skapa:
    • Om du aktiverar tillägget från Defender CSPM skapar Defender för molnet en identitet i din miljö med namnet CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
    • Om du aktiverar tillägget från Defender för containrar skapar Defender för molnet en identitet i din miljö med namnet CloudPosture/securityOperator/DefenderForContainersSecurityOperator.
  • Assign: Defender för molnet tilldelar en inbyggd roll med namnet Kubernetes Agentless Operator till den identiteten i prenumerationsomfånget. Rollen innehåller följande behörigheter:
    • AKS-läsning (Microsoft.ContainerService/managedClusters/read)
    • AKS-betrodd åtkomst med följande behörigheter:
      • Microsoft.ContainerService/hanteradeKluster/bindningarFörBetroddaÅtkomstroller/skriv
      • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
      • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete Läs mer om AKS Trusted Access.
  • Discover: Med hjälp av den systemtilldelade identiteten identifierar Defender för molnet AKS-klustren i din miljö genom att göra API-anrop till API-servern i AKS.
  • Bind: Efter identifiering av ett AKS-kluster, Defender för molnet utför en AKS-bindningsåtgärd genom att skapa en ClusterRoleBinding mellan den skapade identiteten och Kubernetes ClusterRoleaks:trustedaccessrole:defender-containers:microsoft-defender-operator. ClusterRole Är synligt via API:et och ger Defender för molnet-dataplanet läsbehörighet i klustret.

Anmärkning

Den kopierade ögonblicksbilden finns kvar i samma region som klustret.