Informazioni di riferimento su accesso alla rete e autorizzazioni per Defender per contenitori

Questo articolo descrive i requisiti di connettività e autorizzazione di rete per Microsoft Defender per i contenitori.

I requisiti in questo articolo dipendono dalle funzionalità abilitate e dall'ambiente in cui vengono eseguiti i carichi di lavoro del contenitore.

Altre informazioni sui modelli di connettività e sui componenti di piano.

Microsoft Defender per il cloud ai registri contenitori

Microsoft Defender per il cloud si connette ai registri contenitori per analizzare le immagini del contenitore per individuare le vulnerabilità. In alcuni casi, Defender per contenitori pubblica anche i risultati della valutazione della vulnerabilità nel Registro di sistema.

Registro Azure Container (ACR)

Network

  • Per gli ACR privati, l'accesso alla rete viene concesso automaticamente tramite l'infrastruttura di Azure.

Autorizzazioni

  • Ruolo: Defender Registri contenitori
  • Autorizzazioni:
    • Microsoft.ContainerRegistry/registries/pull/read
    • Microsoft.ContainerRegistry/registries/metadata/read
    • Microsoft.ContainerRegistry/registries/read
    • Microsoft.ContainerRegistry/registries/repositories/content/read
    • Microsoft.ContainerRegistry/registries/repositories/metadata/read
    • Microsoft.ContainerRegistry/registries/catalog/read

Amazon Elastic Container Registry (ECR)

Network

  • Gli endpoint ECR sono sempre accessibili pubblicamente.

Autorizzazioni

  • Ruolo: CspmMonitorAws (parte del ruolo CSPM esistente)

    • ecr:GetRegistryPolicy
    • ecr:DescribeImages
    • ecr:DescribeRepositories
    • ecr:GetRepositoryPolicy
  • Ruolo: MDCContainersImageAssessmentRole

    • ecr:PutImage
    • ecr:BatchDeleteImage
    • ecr-public:PutImage
    • ecr-public:BatchDeleteImage

Annotazioni

Le MDCContainersImageAssessmentRole autorizzazioni vengono usate solo per pubblicare i risultati della valutazione della vulnerabilità nel Registro di sistema per la distribuzione controllata. Microsoft Defender per il cloud non modifica le immagini del contenitore dei clienti.

Google Artifact Registry (GAR)

Network

  • Gli endpoint GAR sono sempre accessibili pubblicamente.

Autorizzazioni

  • Ruolo: MDCCspmCustomRole (parte del ruolo CSPM esistente)

    • artifactregistry.repositories.list
    • artifactregistry.repositories.getIamPolicy
    • artifactregistry.dockerimages.list
  • Ruolo: MDCWritingGarAssessmentsRole

    • artifactregistry.repositories.uploadArtifacts
    • artifactregistry.repositories.deleteArtifacts

Annotazioni

Le MDCWritingGarAssessmentsRole autorizzazioni vengono usate solo per pubblicare i risultati della valutazione della vulnerabilità nel Registro di sistema per la distribuzione controllata. Microsoft Defender per il cloud non modifica le immagini del contenitore dei clienti.

JFrog Artifactory (SaaS)

Network

  • L'istanza di JFrog Artifactory deve essere accessibile pubblicamente tramite Internet.

Autorizzazioni e configurazione

  • Un gruppo dedicato, ad esempio mdc-group-{customerTenantId}
  • Destinazione di autorizzazione con accesso in lettura a tutti i repository per il gruppo MDC
  • Provider OIDC (OpenID Connect) integrato con Microsoft Entra ID
  • Mapping di identità OIDC che consentono l'autenticazione tramite token rilasciati da Entra

Ambiti API usati

  • Accesso al gruppo: /access/api/v1/scim/v2/Groups
  • Destinazioni di autorizzazione: /access/api/v2/permissions (READ on ANY LOCAL, REMOTE, DISTRIBUTION)
  • Mapping di identità e provider OIDC:
    • /access/api/v1/oidc
    • /access/api/v1/oidc/{oidcName}/identity_mappings

Docker Hub (SaaS)

Network

  • Docker Hub deve essere accessibile pubblicamente tramite Internet.

Autorizzazioni

  • Token di accesso fornito dal cliente con accesso in lettura

Microsoft Defender per il cloud ai cluster Kubernetes

Microsoft Defender per il cloud si connette agli endpoint dell'API Kubernetes per individuare i cluster e raccogliere i dati di configurazione per l'analisi del comportamento e del rischio.

Il servizio Azure Kubernetes (AKS)

Network

  • Non è necessaria alcuna configurazione dell'endpoint pubblico o con restrizioni aggiuntive. Microsoft Defender per i contenitori accede all'API Kubernetes tramite Azure accesso attendibile.

Autorizzazioni

  • Identità gestita creata nell'ambiente del cliente
  • Ruolo predefinito: Operatore senza agente Kubernetes
    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

Annotazioni

Per il servizio Azure Kubernetes, Defender per il cloud usa l'accesso attendibile del servizio Azure Kubernetes. Defender per il cloud crea un'identità gestita e un'associazione di ruoli di accesso attendibile. Dopo aver individuato il cluster, Defender per il cloud crea un kubernetes ClusterRoleBinding nel cluster del servizio Azure Kubernetes predefinito aks:trustedaccessrole:defender-containers:microsoft-defender-operator, che concede autorizzazioni di lettura all'interno del cluster.

Amazon Elastic Kubernetes Service (EKS)

Network

  • Il server API Kubernetes deve consentire l'accesso da:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Per gli endpoint API privati, è necessario abilitare un endpoint pubblico con restrizioni con gli intervalli IP precedenti.

Per i cluster del servizio Azure Kubernetes privati, il server API Kubernetes deve esporre un endpoint pubblico limitato che consenta l'accesso dai Microsoft Defender approvati per gli intervalli IP dei contenitori.

Autorizzazioni

  • Ruolo: MDCContainersAgentlessDiscoveryK8sRole
    • eks:UpdateClusterConfig
    • eks:DescribeCluster
    • eks:CreateAccessEntry
    • eks:ListAccessEntries
    • eks:AssociateAccessPolicy
    • eks:ListAssociatedAccessPolicies

Annotazioni

eks:UpdateClusterConfig viene usato per aggiungere l'Microsoft Defender per i blocchi CIDR statici IP dei contenitori all'elenco di indirizzi consentiti CIDR (ResourcesVpcConfig.PublicAccessCidrs) del cluster EKS. Viene usato anche per aggiornare la modalità di autenticazione da CONFIG_MAP a API_AND_CONFIG_MAP, che è necessaria per la creazione di voci di accesso nei cluster meno recenti. Se questa autorizzazione non viene concessa, la raccolta di inventario non riesce per i cluster con accesso con endpoint pubblico limitato perché Defender per i contenitori non è in grado di connettersi al server API Kubernetes. La raccolta di inventario non riesce anche per i cluster che usano l'autenticazione solo />

Google Kubernetes Engine (GKE)

Network

  • Il server API Kubernetes deve consentire l'accesso da:
    • 172.212.245.192/28
    • 48.209.1.192/28
  • Per gli endpoint API privati, è necessario abilitare un endpoint pubblico con restrizioni con gli intervalli IP precedenti.

Per i cluster GKE privati, il server API Kubernetes deve esporre un endpoint pubblico limitato che consenta l'accesso dai Microsoft Defender approvati per gli intervalli IP dei contenitori.

Autorizzazioni

  • Ruolo: MDCGkeClusterWriteRole

    • container.clusters.update
    • container.viewer
  • Ruolo: MDCGkeContainerResponseActionsRole

    • container.pods.update
    • container.pods.delete
    • container.networkPolicies.create
    • container.networkPolicies.update
    • container.networkPolicies.delete
  • Ruolo: MDCGkeContainerInventoryCollectionRole

    • container.nodes.proxy
    • container.secrets.list

Annotazioni

container.clusters.update viene usato per aggiungere la Microsoft Defender per i blocchi CIDR IP statici dei contenitori alla configurazione delle reti autorizzate master del cluster GKE. Se questa autorizzazione non viene concessa, la raccolta di inventario non riesce per i cluster con reti master autorizzate abilitate perché Defender per i contenitori non possono connettersi al server API Kubernetes. Per i cluster senza reti autorizzate master abilitate, questa autorizzazione non è necessaria per la connettività.

Cluster Kubernetes da Microsoft Defender per il cloud

I cluster Kubernetes inviano dati di sicurezza di runtime a Microsoft Defender per il cloud.

Requisiti di rete in uscita

  • Protocollo: HTTPS
  • Porta: 443
  • Dominio: *.cloud.defender.microsoft.com

Autorizzazioni Kubernetes create dal sensore Defender

Il sensore Defender crea ruoli Kubernetes con le autorizzazioni seguenti:

Gruppo di API Risorse verbi
core ("") pod, nodi, servizi, eventi, configmap get, list, watch, patch
apps daemonset, replicaset, set di stato, distribuzioni get, list, watch
lotto processi, cronjobs get, list, watch
networking.k8s.io ingresso get, list, watch
apiextensions.k8s.io customresourcedefinitions get, list, watch, create, update, delete
defender.microsoft.com Tutte le risorse (*) get, list, watch, create, update, delete

Infrastruttura cloud per Microsoft Defender per il cloud (log di controllo kubernetes)

Defender per i contenitori richiede log di controllo kubernetes per il rilevamento delle minacce del piano di controllo.

Il servizio Azure Kubernetes (AKS)

  • I log di controllo vengono raccolti senza agente tramite l'infrastruttura di Azure.
  • Non si applicano requisiti di rete o di autorizzazione aggiuntivi, incluso per i cluster del servizio Azure Kubernetes privati.

Amazon Elastic Kubernetes Service (EKS)

  • I log di controllo vengono raccolti tramite AWS CloudWatch.
  • Defender per il cloud crea le risorse seguenti nell'account del cliente:
    • Coda Amazon SQS
    • Flusso di recapito di Amazon Xamls Data Firehose
    • Bucket Amazon S3

Ruoli richiesti

  • MDCContainersK8sCloudWatchToKinesisRole
  • MDCContainersK8sKinesisToS3Role

Google Kubernetes Engine (GKE)

  • I log di controllo vengono raccolti a livello di progetto tramite GCP Cloud Logging.
  • Defender per il cloud crea risorse Pub/Sub nel progetto del cliente per inoltrare i log.