Defender for Containers-arkitektur

Defender for Containers är utformat på olika sätt för varje Kubernetes-miljö oavsett om de körs i:

  • Azure Kubernetes Service (AKS) – Microsofts hanterade tjänst för att utveckla, distribuera och hantera containerbaserade program.

  • Amazon Elastic Kubernetes Service (EKS) på ett anslutet AWS-konto (Amazon Web Services) – Amazons hanterade tjänst för att köra Kubernetes på AWS utan att behöva installera, använda och underhålla ett eget Kubernetes-kontrollplan eller -noder.

  • Google Kubernetes Engine (GKE) i ett anslutet GCP-projekt (Google Cloud Platform) – Googles hanterade miljö för distribution, hantering och skalning av program med GCP-infrastruktur.

  • En ohanterad Kubernetes-distribution (med Azure Arc-aktiverade Kubernetes) – CNCF-certifierade Kubernetes-kluster (Cloud Native Computing Foundation) som finns lokalt eller på IaaS.

Kommentar

Defender for Containers-stöd för Arc-aktiverade Kubernetes-kluster (AWS EKS och GCP GKE) är en förhandsversionsfunktion.

För att skydda dina Kubernetes-containrar tar Defender för containrar emot och analyserar:

  • Granska loggar och säkerhetshändelser från API-servern
  • Klusterkonfigurationsinformation från kontrollplanet
  • Arbetsbelastningskonfiguration från Azure Policy
  • Säkerhetssignaler och händelser från nodnivån

Mer information om implementeringsinformation som operativsystem som stöds, funktionstillgänglighet, utgående proxy finns i Tillgänglighet för funktioner i Defender för containrar.

Arkitektur för varje Kubernetes-miljö

Arkitekturdiagram över Defender för molnet- och AKS-kluster

När Defender för molnet skyddar ett kluster som finns i Azure Kubernetes Service är insamlingen av granskningsloggdata agentlös och samlas in automatiskt via Azure-infrastrukturen utan extra kostnad eller konfigurationsöverväganden. Det här är de komponenter som krävs för att få det fullständiga skydd som erbjuds av Microsoft Defender för containrar:

  • Defender-sensor: DaemonSet som distribueras på varje nod, samlar in signaler från värdar med hjälp av eBPF-teknik och ger körningsskydd. Sensorn registreras med en Log Analytics-arbetsyta och används som en datapipeline. Granskningsloggdata lagras dock inte på Log Analytics-arbetsytan. Defender-sensorn distribueras som en AKS-säkerhetsprofil.
  • Azure Policy for Kubernetes: En podd som utökar Gatekeeper v3 med öppen källkod och registreras som en webbkrok till Kubernetes-åtkomstkontroll, vilket gör det möjligt att tillämpa skalbara tillämpningsåtgärder och skydd på dina kluster på ett centraliserat och konsekvent sätt. Azure Policy for Kubernetes-podden distribueras som ett AKS-tillägg. Den installeras bara på en nod i klustret. Mer information finns i Skydda dina Kubernetes-arbetsbelastningar och Förstå Azure Policy för Kubernetes-kluster.

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

Information om Defender-sensorkomponent

Poddnamn Namnområde Variant Kort beskrivning Funktioner Resursgränser Utgående trafik krävs
microsoft-defender-collector-ds-* kube-system DaemonSet En uppsättning containrar som fokuserar på att samla in inventerings- och säkerhetshändelser från Kubernetes-miljön. SYS_ADMIN,
SYS_RESOURCE,
SYS_PTRACE
minne: 296Mi

cpu: 360m
Nej
microsoft-defender-collector-misc-* kube-system Distribution En uppsättning containrar som fokuserar på att samla in inventerings- och säkerhetshändelser från Kubernetes-miljön som inte är begränsade till en specifik nod. Ej tillämpligt minne: 64Mi

cpu: 60m
Nej
microsoft-defender-publisher-ds-* kube-system DaemonSet Publicera insamlade data till serverdelstjänsten Microsoft Defender for Containers där data bearbetas för och analyseras. Ej tillämpligt minne: 200Mi

cpu: 60m
Https 443

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

* Resursbegränsningar kan inte konfigureras. Läs mer om Kubernetes-resursers gränser.

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

Identifieringsprocessen baseras på ö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 tillägget är aktiverat från Defender CSPM skapar Defender för molnet en identitet i kundmiljöer med namnet CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
    • Om tillägget är aktiverat från Defender för containrar skapar Defender för molnet en identitet i kundmiljöer med namnet CloudPosture/securityOperator/DefenderForContainersSecurityOperator.
  • Tilldela: 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/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

    Läs mer om betrodd åtkomst i AKS.

  • Upptäck: Med hjälp av den systemtilldelade identiteten utför Defender för molnet en identifiering av AKS-klustren i din miljö med hjälp av API-anrop till API-servern i AKS.

  • Bindning: Vid identifiering av ett AKS-kluster utför Defender för molnet 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 läsbehörighet för dataplanet i klustret.

Kommentar

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

Nästa steg

I den här översikten har du lärt dig om arkitekturen för containersäkerhet i Microsoft Defender för molnet. Information om hur du aktiverar planen finns i: