Copertura per i EKS cluster Amazon - Amazon GuardDuty

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Copertura per i EKS cluster Amazon

Dopo aver abilitato il Runtime Monitoring e installato il GuardDuty security agent (componente aggiuntivo) per la configurazione manuale EKS o automatizzata dell'agente, puoi iniziare a valutare la copertura per i tuoi cluster. EKS

Revisione delle statistiche di copertura

Le statistiche di copertura per EKS i cluster associati ai tuoi account o ai tuoi account membro sono la percentuale dei EKS cluster integri rispetto a tutti EKS i cluster selezionati. Regione AWS L'equazione seguente rappresenta questa percentuale come:

(Cluster integri/Tutti i cluster)*100

Scegli uno dei metodi di accesso per esaminare le statistiche di copertura dei tuoi account.

Console
  • Accedi a AWS Management Console e apri la console all' GuardDuty indirizzo. https://console.aws.amazon.com/guardduty/

  • Nel pannello di navigazione, scegli Runtime Monitoring.

  • Scegli la scheda EKSClusters Runtime Coverage.

  • Nella scheda Copertura in fase di esecuzione EKS dei cluster, puoi visualizzare le statistiche di copertura aggregate in base allo stato di copertura, disponibili nella tabella con l'elenco dei cluster.

    • Puoi filtrare la tabella Elenco cluster in base alle seguenti colonne:

      • Nome cluster

      • ID account

      • Tipo di gestione dell'agente

      • Stato copertura

      • Versione del componente aggiuntivo

  • Se uno dei tuoi EKS cluster ha lo stato di Copertura come Non integro, la colonna Problema può includere informazioni aggiuntive sul motivo dello stato Non integro.

API/CLI
  • Eseguilo ListCoverageAPIcon il tuo ID rilevatore, la tua regione e l'endpoint di servizio validi. È possibile filtrare e ordinare l'elenco dei cluster utilizzando questo. API

    • Puoi modificare il filter-criteria di esempio con una delle opzioni seguenti per CriterionKey:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • RESOURCE_TYPE

      • COVERAGE_STATUS

      • ADDON_VERSION

      • MANAGEMENT_TYPE

    • Puoi modificare il AttributeName di esempio in sort-criteria con una delle opzioni seguenti:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • COVERAGE_STATUS

      • ISSUE

      • ADDON_VERSION

      • UPDATED_AT

    • È possibile modificare il max-results (fino a 50).

    • Per trovare le detectorId impostazioni relative al tuo account e alla regione corrente, consulta la pagina Impostazioni nella https://console.aws.amazon.com/guardduty/console oppure esegui il ListDetectorsAPI.

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "EKS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • Esegui GetCoverageStatisticsAPIper recuperare le statistiche aggregate sulla copertura basate su. statisticsType

    • Puoi modificare il statisticsType di esempio con una delle opzioni seguenti:

      • COUNT_BY_COVERAGE_STATUS— Rappresenta le statistiche di copertura per EKS i cluster aggregate per stato di copertura.

      • COUNT_BY_RESOURCE_TYPE— Statistiche di copertura aggregate in base al tipo di AWS risorsa nell'elenco.

      • È possibile modificare il filter-criteria di esempio nel comando. Puoi utilizzare le seguenti opzioni per CriterionKey:

        • ACCOUNT_ID

        • CLUSTER_NAME

        • RESOURCE_TYPE

        • COVERAGE_STATUS

        • ADDON_VERSION

        • MANAGEMENT_TYPE

    • Per trovare le detectorId informazioni relative al tuo account e alla regione corrente, consulta la pagina Impostazioni nella https://console.aws.amazon.com/guardduty/console oppure esegui il ListDetectorsAPI.

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

Se lo stato di copertura del EKS cluster non è integro, consultaRisoluzione dei problemi di EKS copertura.

Configurazione delle notifiche delle modifiche dello stato di copertura

Lo stato di copertura di un EKS cluster nel tuo account potrebbe essere visualizzato come Non salutare. Per rilevare quando lo stato di copertura diventa Non integro, ti consigliamo di monitorarlo periodicamente e di risolvere i problemi se è Non integro. In alternativa, puoi creare una EventBridge regola Amazon per avvisarti quando lo stato della copertura cambia Unhealthy da Healthy o in altro modo. Per impostazione predefinita, GuardDuty lo pubblica nel EventBridgebus per il tuo account.

Schema di esempio delle notifiche

EventBridge Di norma, è possibile utilizzare gli eventi e i modelli di eventi di esempio predefiniti per ricevere notifiche sullo stato della copertura. Per ulteriori informazioni sulla creazione di una EventBridge regola, consulta Create rule nella Amazon EventBridge User Guide.

Inoltre, puoi creare un pattern di eventi personalizzato utilizzando lo schema di esempio delle notifiche seguente. Assicurati di sostituire i valori per il tuo account. Per ricevere una notifica quando lo stato di copertura del tuo EKS cluster Amazon cambia da Healthy aUnhealthy, detail-type dovrebbe GuardDuty Runtime Protection Unhealthy. Per ricevere una notifica quando lo stato della copertura cambia da Unhealthy aHealthy, sostituisci il valore di detail-type con GuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "Account AWS ID", "time": "event timestamp (string)", "region": "Regione AWS", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "EKS", "eksClusterDetails": { "clusterName": "string", "availableNodes": "string", "desiredNodes": "string", "addonVersion": "string" } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

Risoluzione dei problemi di EKS copertura

Se lo stato di copertura per il EKS cluster è ugualeUnhealthy, puoi visualizzare l'errore corrispondente nella colonna Problema della GuardDuty console o utilizzando il tipo di CoverageResourcedati.

Quando utilizzi tag di inclusione o esclusione per monitorare selettivamente EKS i cluster, la sincronizzazione dei tag potrebbe richiedere del tempo. Ciò potrebbe influire sullo stato di copertura del cluster associato. EKS Puoi provare a rimuovere e aggiungere nuovamente il tag corrispondente (di inclusione o di esclusione). Per ulteriori informazioni, consulta Taggare le EKS risorse Amazon nella Amazon EKS User Guide.

La struttura di un problema di copertura è Issue type:Extra information. In genere, in caso di problemi vengono fornite Informazioni supplementari facoltative che possono includere specifiche eccezioni o descrizioni del problema sul lato client. In base a informazioni aggiuntive, le seguenti tabelle forniscono i passaggi consigliati per risolvere i problemi di copertura dei cluster. EKS

Tipo di problema (prefisso)

Informazioni supplementari

Fasi consigliate per la risoluzione dei problemi

Creazione del componente aggiuntivo non riuscita

L'addon non aws-guardduty-agent è compatibile con la versione corrente del cluster ClusterName. L'addon specificato non è supportato.

Assicurati di utilizzare una di quelle versioni di Kubernetes che supportano la distribuzione del componente aggiuntivo. aws-guardduty-agent EKS Per ulteriori informazioni, consulta Versioni di Kubernetes supportate dal security agent GuardDuty . Per informazioni sull'aggiornamento della versione di Kubernetes, consulta Aggiornamento di una versione di Kubernetes EKS del cluster Amazon.

Creazione del componente aggiuntivo non riuscita

Aggiornamento del componente aggiuntivo non riuscito

Stato del componente aggiuntivo non integro

EKSProblema relativo al componente aggiuntivo: AddonIssueCode AddonIssueMessage

Per informazioni sui passaggi consigliati per un codice di problema specifico del componente aggiuntivo, consulta. Troubleshooting steps for Addon creation/updatation error with Addon issue code

Per un elenco dei codici di problema relativi ai componenti aggiuntivi che potresti riscontrare in questo problema, consulta. AddonIssue

VPCCreazione dell'endpoint non riuscita

VPCla creazione di endpoint non è supportata per la condivisione VPC vpcId

Il Runtime Monitoring ora supporta l'uso di un file condiviso VPC all'interno di un'organizzazione. Assicurati che i tuoi account soddisfino tutti i prerequisiti. Per ulteriori informazioni, consulta Prerequisiti per l'utilizzo della modalità condivisa VPC.

Solo quando si utilizza la configurazione condivisa VPC con agente automatizzato

ID dell'account del proprietario 111122223333 per condiviso VPC vpcId non ha né il Runtime Monitoring né la configurazione automatica degli agenti abilitati o entrambi.

L'account VPC proprietario condiviso deve abilitare il monitoraggio del runtime e la configurazione automatica degli agenti per almeno un tipo di risorsa (Amazon EKS o Amazon ECS (AWS Fargate)). Per ulteriori informazioni, consulta Prerequisiti specifici per il monitoraggio del GuardDuty runtime.

L'abilitazione privata DNS richiede entrambi enableDnsSupport e enableDnsHostnames VPC gli attributi sono impostati su true for vpcId (Servizio: Ec2, Codice di stato:400, ID richiesta: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111).

Assicuratevi che i seguenti VPC attributi siano impostati su — e. true enableDnsSupport enableDnsHostnames Per ulteriori informazioni, consulta DNSgli attributi nel tuo VPC.

Se utilizzi Amazon VPC Console https://console.aws.amazon.com/vpc/per creare AmazonVPC, assicurati di selezionare sia Abilita DNS nomi host che Abilita DNS risoluzione. Per ulteriori informazioni, consulta le opzioni VPC di configurazione.

Eliminazione VPC dell'endpoint condiviso non riuscita

L'eliminazione condivisa VPC dell'endpoint non è consentita per l'ID dell'account 111122223333, condiviso VPC vpcId, ID dell'account del proprietario 555555555555.

Potenziali passaggi:
  • La disabilitazione dello stato di monitoraggio del runtime dell'account VPC partecipante condiviso non influisce sulla politica condivisa degli VPC endpoint e sul gruppo di sicurezza esistente nell'account del proprietario.

    Per eliminare l'VPCendpoint e il gruppo di sicurezza condivisi, è necessario disabilitare il Runtime Monitoring o lo stato di configurazione automatica dell'agente nell'account proprietario condiviso. VPC

  • L'account VPC partecipante condiviso non può eliminare l'VPCendpoint condiviso e il gruppo di sicurezza ospitati nell'account del proprietario condivisoVPC.

Cluster locali EKS

EKSi componenti aggiuntivi non sono supportati sui cluster Outpost locali.

Non utilizzabile.

Per ulteriori informazioni, consulta Amazon EKS on AWS Outposts.

EKSAutorizzazione di attivazione del Runtime Monitoring non concessa

(può mostrare o meno informazioni aggiuntive)

  1. Se sono disponibili informazioni supplementari per questo problema, correggine la causa principale e segui la fase successiva.

  2. Attiva EKS Runtime Monitoring per disattivarlo e riaccenderlo. Assicurati che anche l' GuardDuty agente venga distribuito, automaticamente o manualmente. GuardDuty

EKSRuntime Monitoring (attivazione, approvvigionamento delle risorse) in corso

(può mostrare o meno informazioni aggiuntive)

Non utilizzabile.

Dopo aver abilitato il EKS Runtime Monitoring, lo stato di copertura potrebbe rimanere Unhealthy invariato fino al completamento della fase di approvvigionamento delle risorse. Lo stato di copertura viene monitorato e aggiornato periodicamente.

Altri (qualsiasi altro problema)

Errore dovuto a un errore di autorizzazione

Attiva EKS Runtime Monitoring per disattivarlo e riaccenderlo. Assicurati che anche l' GuardDuty agente venga distribuito, automaticamente o manualmente. GuardDuty

Errore di creazione o aggiornamento del componente aggiuntivo

Fasi per la risoluzione dei problemi

EKSProblema relativo al componente aggiuntivoInsufficientNumberOfReplicas: il componente aggiuntivo non è integro perché non ha il numero di repliche desiderato.

  • Utilizzando il messaggio relativo al problema, è possibile identificare e correggere la causa principale. Puoi iniziare descrivendo il tuo cluster. Ad esempio, kubectl describe podsda utilizzare per identificare la causa principale dell'errore del pod.

    Dopo aver corretto la causa principale, riprova il passaggio (creazione o aggiornamento del componente aggiuntivo).

  • Se il problema persiste, verifica che l'VPCendpoint per il tuo EKS cluster Amazon sia configurato correttamente. Per ulteriori informazioni, consulta Come posso verificare che la configurazione dell'VPCendpoint sia corretta?.

EKSProblema relativo all'addonAdmissionRequestDenied: webhook di ammissione "validate.kyverno.svc-fail" ha negato la richiesta: policy DaemonSet/amazon-guardduty/aws-guardduty-agent per violazione delle risorse:::... restrict-image-registries autogen-validate-registries

  1. Il EKS cluster Amazon o l'amministratore della sicurezza devono rivedere la politica di sicurezza che blocca l'aggiornamento dell'Addon.

  2. Devi disabilitare il controller (webhook) o fare in modo che il controller accetti le richieste di AmazonEKS.

EKSProblema aggiuntivoConfigurationConflict: sono stati rilevati conflitti durante il tentativo di candidatura. Non continuerà a causa della modalità di risoluzione dei conflitti. Conflicts: DaemonSet.apps aws-guardduty-agent - .spec.template.spec.containers[name="aws-guardduty-agent"].image

Quando crei o aggiorni l'Addon, fornisci il flag di OVERWRITE risoluzione del conflitto. Ciò potrebbe sovrascrivere qualsiasi modifica apportata direttamente alle risorse correlate in Kubernetes utilizzando Kubernetes. API

Puoi prima eliminare l'Addon e poi reinstallarlo.

EKSProblema aggiuntivo - AccessDenied: priorityclasses.scheduling.k8s.io "aws-guardduty-agent.priorityclass" is forbidden: User "eks:addon-manager" cannot patch resource "priorityclasses" in API group "scheduling.k8s.io" at the cluster scope

È necessario aggiungere eks:addon-cluster-admin ClusterRoleBinding manualmente l'autorizzazione mancante. Aggiungi quanto segue yaml aeks:addon-cluster-admin:

--- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eks:addon-cluster-admin subjects: - kind: User name: eks:addon-manager apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io ---

Ora puoi applicarlo yaml al tuo EKS cluster Amazon utilizzando il seguente comando:

kubectl apply -f eks-addon-cluster-admin.yaml

EKSProblema aggiuntivo - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [all-namespace-must-have-label-owner] All namespaces must have an `owner` label

Devi disabilitare il controller o fare in modo che il controller accetti le richieste dal EKS cluster Amazon.

Prima di creare o aggiornare il componente aggiuntivo, puoi anche creare uno spazio dei GuardDuty nomi ed etichettarlo come. owner