Runtime-Abdeckung und Fehlerbehebung für EKS Amazon-Cluster - Amazon GuardDuty

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Runtime-Abdeckung und Fehlerbehebung für EKS Amazon-Cluster

Nachdem Sie Runtime Monitoring aktiviert und den GuardDuty Security Agent (Add-on) EKS entweder manuell oder über die automatische Agentenkonfiguration installiert haben, können Sie mit der Bewertung der Abdeckung Ihrer EKS Cluster beginnen.

Überprüfen der Abdeckungsstatistiken

Die Abdeckungsstatistik für die EKS Cluster, die Ihren eigenen Konten oder Ihren Mitgliedskonten zugeordnet sind, gibt den Prozentsatz der fehlerfreien EKS Cluster an allen EKS Clustern in den ausgewählten Clustern an AWS-Region. Die folgende Gleichung stellt dies wie folgt dar:

(Fehlerfreie Cluster/Alle Cluster)*100

Wählen Sie eine der Zugriffsmethoden, um die Abdeckungsstatistiken für Ihre Konten einzusehen.

Console
  • Melden Sie sich bei der an AWS Management Console und öffnen Sie die GuardDuty Konsole unter https://console.aws.amazon.com/guardduty/.

  • Wählen Sie im Navigationsbereich Runtime Monitoring aus.

  • Wählen Sie die Registerkarte Runtime Coverage des EKS Clusters aus.

  • Auf der Registerkarte EKSCluster-Laufzeitabdeckung können Sie die Coverage-Statistiken einsehen, die nach dem Coverage-Status aggregiert sind, der in der Cluster-Listentabelle verfügbar ist.

    • Sie können die Tabelle mit der Cluster-Liste nach den folgenden Spalten filtern:

      • Cluster name

      • Konto-ID

      • Agentenverwaltungs-Typ

      • Abdeckungsstatus

      • Add-On-Version

  • Wenn einer Ihrer EKS Cluster den Deckungsstatus „Ungesund“ hat, kann die Spalte „Problem“ zusätzliche Informationen über den Grund für den Status „Fehlerhaft“ enthalten.

API/CLI
  • Führen Sie den ListCoverageAPImit Ihrer eigenen gültigen Melder-ID, Region und Service-Endpunkt aus. Sie können die Clusterliste damit filtern und sortierenAPI.

    • Sie können das Beispiel filter-criteria ändern mit einer der folgenden Optionen für CriterionKey:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • RESOURCE_TYPE

      • COVERAGE_STATUS

      • ADDON_VERSION

      • MANAGEMENT_TYPE

    • Sie können das Beispiel AttributeName in sort-criteria ändern mit einer der folgenden Optionen:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • COVERAGE_STATUS

      • ISSUE

      • ADDON_VERSION

      • UPDATED_AT

    • Sie können das ändern max-results (bis zu 50).

    • Um das detectorId für Ihr Konto und Ihre aktuelle Region zu finden, gehen Sie in der https://console.aws.amazon.com/guardduty/Konsole auf die Seite „Einstellungen“ oder führen Sie den ListDetectors API.

    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
  • Führen Sie den aus GetCoverageStatisticsAPI, um aggregierte Statistiken zur Abdeckung abzurufen, die statisticsType auf dem basieren.

    • Sie können das Beispiel statisticsType zu einer der folgenden Optionen ändern:

      • COUNT_BY_COVERAGE_STATUS— Stellt Deckungsstatistiken für EKS Cluster dar, die nach dem Deckungsstatus aggregiert sind.

      • COUNT_BY_RESOURCE_TYPE— Statistiken zur Abdeckung, aggregiert auf der Grundlage des AWS Ressourcentyps in der Liste.

      • Sie können das Beispiel filter-criteria im Befehl ändern. Sie können die folgenden Optionen für CriterionKey verwenden:

        • ACCOUNT_ID

        • CLUSTER_NAME

        • RESOURCE_TYPE

        • COVERAGE_STATUS

        • ADDON_VERSION

        • MANAGEMENT_TYPE

    • Informationen zu den Einstellungen detectorId für Ihr Konto und Ihre aktuelle Region finden Sie auf der Seite Einstellungen in der https://console.aws.amazon.com/guardduty/Konsole oder führen Sie den ListDetectors API.

    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"}}] }'

Wenn der Abdeckungsstatus Ihres EKS Clusters fehlerhaft ist, finden Sie weitere Informationen unterBehebung von Problemen mit der Amazon EKS Runtime Coverage.

Änderung des Abdeckungsstatus mit Benachrichtigungen EventBridge

Der Abdeckungsstatus eines EKS Clusters in Ihrem Konto wird möglicherweise als Ungesund angezeigt. Um zu erkennen, wann der Abdeckungsstatus Fehlerhaft wird, empfehlen wir Ihnen, den Abdeckungsstatus regelmäßig zu überwachen und Fehler zu beheben, falls der Status Fehlerhaft ist. Alternativ können Sie eine EventBridge Amazon-Regel erstellen, die Sie benachrichtigt, wenn sich der Deckungsstatus von einem Unhealthy auf Healthy oder einem anderen Wert ändert. GuardDuty Veröffentlicht dies standardmäßig im EventBridge Bus für Ihr Konto.

Beispiel für ein Benachrichtigungsschema

In einer EventBridge Regel können Sie die vordefinierten Beispielereignisse und Ereignismuster verwenden, um eine Benachrichtigung über den Versicherungsstatus zu erhalten. Weitere Informationen zum Erstellen einer EventBridge Regel finden Sie unter Regel erstellen im EventBridge Amazon-Benutzerhandbuch.

Darüber hinaus können Sie mithilfe des folgenden Beispiel-Benachrichtigungsschemas ein benutzerdefiniertes Ereignismuster erstellen. Achten Sie darauf, die Werte für Ihr Konto zu ersetzen. Um benachrichtigt zu werden, wenn sich der Abdeckungsstatus Ihres EKS Amazon-Clusters von Healthy zu ändertUnhealthy, detail-type sollte GuardDuty Runtime Protection Unhealthy. Um benachrichtigt zu werden, wenn sich der Versicherungsstatus von Unhealthy zu ändertHealthy, ersetzen Sie den Wert von detail-type durch GuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "AWS-Konto ID", "time": "event timestamp (string)", "region": "AWS-Region", "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" } }

Behebung von Problemen mit der Amazon EKS Runtime Coverage

Wenn der Abdeckungsstatus für Ihren EKS Cluster lautetUnhealthy, können Sie den entsprechenden Fehler entweder in der Spalte Problem in der GuardDuty Konsole oder mithilfe des CoverageResourceDatentyps anzeigen.

Wenn Sie mit Ein- oder Ausschluss-Tags arbeiten, um Ihre EKS Cluster selektiv zu überwachen, kann es einige Zeit dauern, bis die Tags synchronisiert sind. Dies kann sich auf den Abdeckungsstatus des zugehörigen EKS Clusters auswirken. Sie können erneut versuchen, das entsprechende Tag (Einschluss oder Ausschluss) zu entfernen und hinzuzufügen. Weitere Informationen finden Sie unter Taggen Ihrer EKS Amazon-Ressourcen im EKSAmazon-Benutzerhandbuch.

Die Struktur eines Abdeckungsproblems ist Issue type:Extra information. In der Regel verfügen die Probleme über optionale Zusatzinformationen, die eine spezifische Ausnahme oder eine Beschreibung des Problems enthalten können. Basierend auf zusätzlichen Informationen enthalten die folgenden Tabellen die empfohlenen Schritte zur Behebung von Problemen mit der Abdeckung Ihrer EKS Cluster.

Art des Problems (Präfix)

Zusatzinformation

Empfohlene Schritte zur Fehlerbehebung

Die Erstellung des Addons ist fehlgeschlagen

Das Addon aws-guardduty-agent ist mit der aktuellen Clusterversion des Clusters nicht kompatibel ClusterName. Das angegebene Addon wird nicht unterstützt.

Stellen Sie sicher, dass Sie eine der Kubernetes-Versionen verwenden, die die Bereitstellung des Add-ons unterstützen. aws-guardduty-agent EKS Weitere Informationen finden Sie unter Kubernetes-Versionen, die vom Security Agent unterstützt werden GuardDuty . Informationen zur Aktualisierung Ihrer Kubernetes-Version finden Sie unter Aktualisieren einer EKS Amazon-Cluster-Kubernetes-Version.

Die Erstellung des Addons ist fehlgeschlagen

Die Aktualisierung des Addons ist fehlgeschlagen

Der Status des Addons ist fehlerhaft

EKSProblem mit dem Addon -: AddonIssueCode AddonIssueMessage

Informationen zu empfohlenen Schritten für einen bestimmten Problemcode eines Add-ons finden Sie unterTroubleshooting steps for Addon creation/updatation error with Addon issue code.

Eine Liste der Addon-Problemcodes, die bei diesem Problem auftreten können, finden Sie unter AddonIssue.

VPCDie Endpunkterstellung ist fehlgeschlagen

VPCDie Erstellung von Endpunkten wird für Shared nicht unterstützt VPC vpcId

Runtime Monitoring unterstützt jetzt die Verwendung eines VPC innerhalb einer Organisation gemeinsam genutzten Geräts. Stellen Sie sicher, dass Ihre Konten alle Voraussetzungen erfüllen. Weitere Informationen finden Sie unter Voraussetzungen für die Nutzung von Shared VPC.

Nur bei Verwendung von Shared VPC mit automatisierter Agentenkonfiguration

Konto-ID des Besitzers 111122223333 zur gemeinsamen Nutzung VPC vpcId hat weder Runtime Monitoring noch automatische Agentenkonfiguration oder beides aktiviert.

Das gemeinsame VPC Besitzerkonto muss Runtime Monitoring und automatische Agentenkonfiguration für mindestens einen Ressourcentyp (Amazon EKS oder Amazon ECS (AWS Fargate)) aktivieren. Weitere Informationen finden Sie unter Spezifische Voraussetzungen für GuardDuty Runtime Monitoring.

Für die Aktivierung von privat DNS sind beide erforderlich enableDnsSupport und die enableDnsHostnames VPC Attribute müssen auf true for gesetzt sein vpcId (Dienst: Ec2, Statuscode: 400, Anforderungs-ID: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111).

Stellen Sie sicher, dass die folgenden VPC Attribute auf trueenableDnsSupport und gesetzt sind. enableDnsHostnames Weitere Informationen finden Sie unter DNSAttribute in Ihrem VPC.

Wenn Sie Amazon VPC Console unter verwenden, https://console.aws.amazon.com/vpc/um Amazon zu erstellen, stellen Sie sicherVPC, dass Sie sowohl DNSHostnamen aktivieren als auch DNSAuflösung aktivieren auswählen. Weitere Informationen finden Sie unter VPCKonfigurationsoptionen.

Das Löschen des gemeinsamen VPC Endpunkts ist fehlgeschlagen

Das Löschen eines gemeinsamen VPC Endpunkts ist für die Konto-ID nicht zulässig 111122223333, geteilt VPC vpcId, Konto-ID des Besitzers 555555555555.

Mögliche Schritte:
  • Die Deaktivierung des Runtime Monitoring-Status des gemeinsamen VPC Teilnehmerkontos hat keine Auswirkungen auf die Richtlinie für gemeinsame VPC Endgeräte und die Sicherheitsgruppe, die im Besitzerkonto vorhanden ist.

    Um den gemeinsamen VPC Endpunkt und die Sicherheitsgruppe zu löschen, müssen Sie Runtime Monitoring oder den Status der automatisierten Agentenkonfiguration im gemeinsamen VPC Besitzerkonto deaktivieren.

  • Das gemeinsame VPC Teilnehmerkonto kann den gemeinsamen VPC Endpunkt und die Sicherheitsgruppe, die im gemeinsamen VPC Besitzerkonto gehostet werden, nicht löschen.

Lokale EKS Cluster

EKSAddons werden auf lokalen Outpost-Clustern nicht unterstützt.

Nicht umsetzbar.

Weitere Informationen finden Sie EKSauf Amazon on AWS Outposts.

EKSDie Genehmigung zur Aktivierung von Runtime Monitoring wurde nicht erteilt

(kann zusätzliche Informationen anzeigen oder auch nicht)

  1. Wenn die zusätzlichen Informationen für dieses Problem verfügbar sind, beheben Sie die Ursache und folgen Sie dem nächsten Schritt.

  2. Schalten Sie EKS Runtime Monitoring ein, um es auszuschalten und dann wieder einzuschalten. Stellen Sie sicher, dass der GuardDuty Agent ebenfalls bereitgestellt wird, sei es automatisch GuardDuty oder manuell.

EKSDie Bereitstellung der Ressourcen zur Aktivierung der Runtime Monitoring ist im Gange

(zeigt möglicherweise zusätzliche Informationen an oder auch nicht)

Nicht umsetzbar.

Nachdem Sie EKS Runtime Monitoring aktiviert haben, bleibt der Deckungsstatus möglicherweise bestehen, Unhealthy bis der Schritt zur Ressourcenbereitstellung abgeschlossen ist. Der Abdeckungsstatus wird regelmäßig überwacht und aktualisiert.

Andere (jedes andere Problem)

Fehler aufgrund eines Autorisierungsfehlers

Schalten Sie EKS Runtime Monitoring um, um es auszuschalten und dann wieder einzuschalten. Stellen Sie sicher, dass der GuardDuty Agent ebenfalls bereitgestellt wird, entweder automatisch GuardDuty oder manuell.

Fehler bei der Erstellung oder Aktualisierung des Addons

Fehlerbehebungsschritte

EKSAddon-Problem -InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, da es nicht die gewünschte Anzahl von Replikaten hat.

  • Mithilfe der Problemmeldung können Sie die Ursache identifizieren und beheben. Sie können damit beginnen, Ihren Cluster zu beschreiben. Verwenden Sie dies beispielsweise, kubectl describe podsum die Hauptursache für den Pod-Ausfall zu ermitteln.

    Nachdem Sie die Ursache behoben haben, wiederholen Sie den Schritt (Erstellung oder Aktualisierung des Add-ons).

  • Wenn das Problem weiterhin besteht, überprüfen Sie, ob der VPC Endpunkt für Ihren EKS Amazon-Cluster korrekt konfiguriert ist. Weitere Informationen finden Sie unter VPCEndpunktkonfiguration wird validiert.

EKSAddon-Problem —AdmissionRequestDenied: Der Zulassungs-Webhook "validate.kyverno.svc-fail" hat die Anfrage abgelehnt: Richtlinie DaemonSet/amazon-guardduty/aws-guardduty-agent wegen Ressourcenverletzung:::... restrict-image-registries autogen-validate-registries

  1. Amazon EKS Cluster oder der Sicherheitsadministrator müssen die Sicherheitsrichtlinie überprüfen, die das Addon-Update blockiert.

  2. Sie müssen entweder den Controller (webhook) deaktivieren oder den Controller die Anfragen von Amazon annehmen lassenEKS.

EKSZusatzproblem —ConfigurationConflict: Beim Versuch, sich zu bewerben, wurden Konflikte festgestellt. Wird aufgrund des Konfliktlösungsmodus nicht fortgesetzt. Conflicts: DaemonSet.apps aws-guardduty-agent - .spec.template.spec.containers[name="aws-guardduty-agent"].image

Wenn Sie das Addon erstellen oder aktualisieren, geben Sie das OVERWRITE Konfliktlösungskennzeichen an. Dadurch werden möglicherweise alle Änderungen überschrieben, die mithilfe von Kubernetes direkt an den zugehörigen Ressourcen in Kubernetes vorgenommen wurden. API

Sie können das Addon zuerst löschen und dann erneut installieren.

EKSProblem mit dem Addon - 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

Sie müssen die fehlende Berechtigung eks:addon-cluster-admin ClusterRoleBinding manuell hinzufügen. Fügen Sie Folgendes yaml hinzueks: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 ---

Sie können dies jetzt mit yaml dem folgenden Befehl auf Ihren EKS Amazon-Cluster anwenden:

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

EKSProblem mit dem Add-on - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [all-namespace-must-have-label-owner] All namespaces must have an `owner` label

Sie müssen entweder den Controller deaktivieren oder den Controller die Anfragen vom EKS Amazon-Cluster annehmen lassen.

Bevor Sie das Add-on erstellen oder aktualisieren, können Sie auch einen GuardDuty Namespace erstellen und ihn als owner kennzeichnen.

EKSProblem mit dem Addon - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [allowed-container-registries] container <aws-guardduty-agent> has an invalid image registry

Sie müssen dem Admission Controller-Webhook ausdrücklich den Zugriff auf die Registrierung für Ihre Region gestatten, wie unter beschrieben. Repository für die EKS Agentenversion 1.6.0 oder höher