Architectuur van Defender for Containers

Microsoft Defender voor containers maakt gebruik van meerdere connectiviteitspaden om beveiligingssignalen te verzamelen en beveiliging te bieden tussen containerregisters en Kubernetes-omgevingen. De vereiste connectiviteit is afhankelijk van de ingeschakelde functies en de omgeving waarin uw containers worden uitgevoerd.

Implementatiedetails variëren tussen Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) en Kubernetes-clusters met Arc.

Meer informatie over netwerkvereisten, machtigingen en ondersteunde configuraties in Network-toegangs- en machtigingenreferenties voor Defender voor containers.

Overzicht van bekwaamheidsmodel

In de volgende tabel ziet u hoe de belangrijkste mogelijkheden van Defender voor Containers worden geïmplementeerd en of ze in-cluster componenten vereisen.

Vermogen Zonder agent Vereist onderdelen in het cluster
Beoordeling van kwetsbaarheden van installatie-images Yes Nee.
Beoordeling van de beveiligingspositie van Kubernetes Yes Nee.
Detectie van dreigingen tijdens runtime Nee. Yes
Detectie van bedreigingen in controlevlak Yes Nee.

Verbinding met containerregisters

Beoordeling van kwetsbaarheden van afbeeldingen wordt gestart wanneer afbeeldingen naar ondersteunde registers worden gepushed en periodiek op basis van de registerconfiguratie. Defender voor Cloud analyseert metagegevens van afbeeldingen en lagen die vereist zijn voor evaluatie van beveiligingsproblemen. In ondersteunde scenario's kunnen resultaten van evaluatie van beveiligingsproblemen weer worden gepubliceerd naar het register zonder de oorspronkelijke containerinstallatiekopie te wijzigen. Voor deze mogelijkheden hoeven geen onderdelen te worden geïmplementeerd in uw Kubernetes-clusters.

Verbinding met Kubernetes-clusters

Microsoft Defender voor Cloud maakt verbinding met het Kubernetes-API-eindpunt om clusters te detecteren, configuratiegegevens te verzamelen en houding en risicoanalyse uit te voeren. Afhankelijk van de ingeschakelde functies en omgevingen kan deze connectiviteit leestoegang tot metagegevens van het cluster vereisen en, in sommige scenario's, beperkte schrijfbewerkingen voor het configureren van vereiste toegangsbindingen of extensies.

Runtimegegevens die worden verzonden vanuit Kubernetes-clusters

Kubernetes-clusters verzenden runtimebeveiligingsgegevens van werkknooppunten naar de Microsoft Defender voor Cloud back-end. Deze gegevens worden verzameld door Defender voor containers componenten die in het cluster draaien en worden naar buiten verzonden voor analyse. Dit connectiviteitspad ondersteunt detectie van runtimebedreigingen en andere op sensor gebaseerde mogelijkheden.

Verbinding met cloudprovider-API's

Microsoft Defender voor Cloud maakt verbinding met cloudprovider-API's om resources te detecteren en beveiligingsanalyse uit te voeren als onderdeel van het verbindingsproces van de cloudomgeving. Dit connectiviteitspad wordt tot stand gebracht wanneer u uw cloudomgeving verbindt met Microsoft Defender voor Cloud.

Kubernetes-auditlogboeken die zijn verzonden vanuit de cloudinfrastructuur

Met de cloudinfrastructuur worden Kubernetes-auditlogboeken verzonden naar Microsoft Defender voor Cloud voor detectie en beveiligingsanalyse van besturingsvlakbedreigingen. De methode die wordt gebruikt voor het verzamelen en verzenden van auditlogboeken, is afhankelijk van de cloudprovider en de omgeving waarin de Kubernetes-clusters worden uitgevoerd.

Ondersteuning voor proxy- en privéconnectiviteit

Defender voor Containers biedt ondersteuning van uitgaande connectiviteit via geconfigureerde proxy's en configuraties voor privéconnectiviteit.

Architectuur voor elke Kubernetes-omgeving

Architectuuronderdelen

Wanneer Defender voor Cloud een cluster beveiligt dat wordt gehost in Azure Kubernetes Service, worden systeemeigen Kubernetes-auditlogboekgegevens verzameld via Azure infrastructuur zonder dat er extra agents of configuratie nodig zijn. Als u de volledige beveiliging van Microsoft Defender for Containers wilt krijgen, hebt u deze onderdelen nodig:

  • Defender sensor: Een lichtgewicht DaemonSet geïmplementeerd op AKS-knooppunten die runtimetelemetrie (Kubernetes-gebeurtenissen, -processen en -netwerkgegevens) verzamelt met behulp van eBPF-technologie. De telemetrie wordt veilig verzonden naar Defender voor Cloud voor runtime-bedreigingsbeveiliging. De sensor registreert zich bij een Log Analytics-werkruimte en fungeert als een gegevenspijplijn. De auditlogboekgegevens worden echter niet opgeslagen in de Log Analytics-werkruimte. De Defender sensor wordt geïmplementeerd als een AKS-beveiligingsprofiel, dat systeemeigen is geïntegreerd in AKS Resource Provider (RP).

Opmerking

Wanneer u de Defender-sensor op een AKS-cluster configureert, wordt een afstemmingsproces geactiveerd. Dit proces vindt plaats als onderdeel van het Defender for Containers-plan en is verwacht gedrag.

  • Azure Policy voor Kubernetes: een pod die de opensource Gatekeeper v3 uitbreidt en zich registreert als een webhook voor Kubernetes-toegangsbeheer. Met deze pod kunt u op een gecentraliseerde, consistente manier afdwinging en beveiliging op schaal toepassen op uw clusters. De Azure Policy voor Kubernetes-pod wordt geïmplementeerd als een AKS-invoegtoepassing en u hoeft deze alleen op één knooppunt in het cluster te installeren. Het biedt de mogelijkheid om configuratieregels af te dwingen. Meer informatie over Kubernetes-workloadbeveiliging en Azure Policy voor Kubernetes.
  • ACR-integratie: Push-geactiveerde en periodieke scans van beelden voor Azure Container Registry, waardoor beveiligingsbeoordeling mogelijk is zonder extra componenten.
  • Agentless discovery: Biedt inzicht in uw Kubernetes-clusters zonder agents, met behulp van Azure systeemeigen mogelijkheden om clusterconfiguraties te detecteren en te evalueren.
  • Agentloze scanning voor machines: Periodieke schijfmomentopnamen van Kubernetes-knooppunten voor een out-of-band grondige analyse van zowel de configuratie van het besturingssysteem als het bestandssysteem. Deze functie heeft geen geïnstalleerde agents of netwerkconnectiviteit nodig en heeft geen invloed op de prestaties van de machine.
  • Microsoft XDR-integratie: kan worden geïntegreerd met het uitgebreide detectie- en responsplatform van Microsoft voor geïntegreerde beveiligingsbewerkingen en incidentrespons.

Diagram van architectuur op hoog niveau van de interactie tussen Microsoft Defender for Containers, Azure Kubernetes Service en Azure Policy.

Opmerking

Deze onderdelen vereisen geen binnenkomende verbindingen met uw clusters en maken gebruik van de systeemeigen beveiligingsinfrastructuur van Azure. Alle onderdelen maken gebruik van uitgaande connectiviteit (geen binnenkomende toegang vereist).

Details van defender-sensoronderdeel

Podnaam Namespace Kind Korte beschrijving Capaciteiten Beperkingen van bronnen Uitgaand verkeer vereist
microsoft-defender-collector-ds-* kube-system DaemonSet Verzamelt runtimetelemetrie (Kubernetes-gebeurtenissen, proces- en netwerkgegevens) van knooppunten met behulp van eBPF-technologie en verzendt deze veilig naar Defender voor Cloud. SYS_ADMIN,
SYS_RESOURCE,
SYS_PTRACE
geheugen: 296Mi

cpu: 360m
Nee.
microsoft-defender-collector-misc-* kube-system Implementatie Verzamelt inventaris- en beveiligingsgebeurtenissen op clusterniveau die niet zijn gebonden aan specifieke knooppunten. Niet van toepassing. geheugen: 64Mi

CPU: 60m
Nee.
microsoft-defender-publisher-ds-* kube-system DaemonSet Hiermee publiceert u verzamelde telemetrie naar de back-endservice van Microsoft Defender for Containers voor verwerking en analyse. Niet van toepassing. geheugen: 200Mi

CPU: 60 m
Https 443

Meer informatie over de vereisten voor uitgaande toegang

* U kunt geen resourcelimieten configureren. Meer informatie over limieten voor Kubernetes-resources.

Hoe werkt detectie zonder agent voor Kubernetes in Azure?

Het detectieproces maakt gebruik van momentopnamen die met intervallen zijn gemaakt:

Diagram van de machtigingsarchitectuur.

Wanneer u de detectie zonder agent inschakelt voor de Kubernetes-extensie, wordt het volgende proces uitgevoerd:

  • Maken:
    • Als u de extensie vanuit Defender CSPM inschakelt, maakt Defender voor Cloud een identiteit in uw omgeving met de naam CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
    • Als u de extensie vanuit Defender for Containers inschakelt, maakt Defender voor Cloud een identiteit in uw omgeving met de naam CloudPosture/securityOperator/DefenderForContainersSecurityOperator.
  • Toewijzen: Defender voor Cloud wijst een ingebouwde rol toe met de naam Kubernetes Agentless Operator aan die identiteit op abonnementsniveau. De rol bevat de volgende machtigingen:
    • "AKS read" (Microsoft.ContainerService/managedClusters/read)
    • Vertrouwde AKS-toegang met de volgende machtigingen:
      • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
      • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
      • Microsoft. ContainerService/managedClusters/trustedAccessRoleBindings/delete Meer informatie over AKS Trusted Access.
  • Discover: Met behulp van de door het systeem toegewezen identiteit detecteert Defender voor Cloud de AKS-clusters in uw omgeving door API-aanroepen naar de API-server van AKS te maken.
  • Bind: Na het detecteren van een AKS-cluster voert Defender voor Cloud een AKS-bindingsbewerking uit door een ClusterRoleBinding te maken tussen de gemaakte identiteit en de Kubernetes-ClusterRoleaks:trustedaccessrole:defender-containers:microsoft-defender-operator. Het ClusterRole is zichtbaar via de API en verleent leesrechten voor het gegevensvlak van Defender voor Cloud binnen het cluster.

Opmerking

De gekopieerde momentopname blijft in dezelfde regio als het cluster.