Verbinden Microsoft Sentinel mit Amazon Web Services zum Erfassen von AWS EKS-Protokollen

Verwenden Sie den Amazon Web Services (AWS) S3-basierten EKS-Connector (Elastic Kubernetes Service), um AWS EKS-Überwachungsprotokolle zu erfassen, die in AWS S3-Buckets gesammelt werden, um Microsoft Sentinel. AWS EKS-Überwachungsprotokolle sind detaillierte Datensätze von API-Serveranforderungen, Authentifizierungsentscheidungen und Clusteraktivitäten in Ihren Kubernetes-Clustern. Diese Datensätze enthalten Informationen wie den Zeitpunkt, zu dem die Anforderung empfangen wurde, die Besonderheiten der Anforderung, der Benutzer, der die Anforderung stellt, und die ausgeführte Aktion. Diese Protokollanalyse ist für die Aufrechterhaltung der Sicherheit und Compliance von containerisierten Anwendungen, die in EKS-Clustern ausgeführt werden, unerlässlich.

Dieser Connector verfügt über ein AWS CloudFormation-basiertes Onboardingskript, um die Erstellung der aws-Ressourcen zu optimieren, die vom Connector verwendet werden.

Wichtig

Übersicht

Der Amazon Web Services S3 EKS-Datenconnector erfüllt die folgenden Anwendungsfälle:

  • Kubernetes-Sicherheitsüberwachung und Bedrohungserkennung: Analysieren Sie AWS EKS-Überwachungsprotokolle, um Sicherheitsbedrohungen wie unbefugten Zugriff, Rechteausweitung und verdächtige API-Aufrufe in Ihren Kubernetes-Clustern zu identifizieren und darauf zu reagieren. Indem Sie diese Protokolle in Microsoft Sentinel erfassen, können Sie die erweiterte Analyse und Bedrohungsintelligenz verwenden, um schädliche Aktivitäten für Ihre containerisierten Workloads zu erkennen und zu untersuchen.

  • Compliance und Überwachung für Containerumgebungen: AWS EKS-Überwachungsprotokolle enthalten detaillierte Datensätze aller API-Serverinteraktionen, die für Complianceberichte und -überwachungszwecke in Containerumgebungen von entscheidender Bedeutung sind. Der Connector stellt sicher, dass diese Überwachungsprotokolle in Microsoft Sentinel für einfachen Zugriff und analysen verfügbar sind, sodass gesetzliche Anforderungen für die Containersicherheit erfüllt werden können.

  • DevSecOps und Clustergovernance: Überwachen Sie Entwickleraktivitäten, Ressourcenzugriffsmuster und Konfigurationsänderungen in Ihren EKS-Clustern, um die richtigen Governance- und Sicherheitspraktiken in Ihren DevSecOps-Workflows sicherzustellen.

In diesem Artikel wird erläutert, wie Sie den Amazon Web Services S3 EKS-Connector konfigurieren. Der Prozess der Einrichtung besteht aus zwei Teilen: der AWS-Seite und der Microsoft Sentinel Seite. Der Prozess jeder Seite erzeugt Informationen, die von der anderen Seite verwendet werden. Diese bidirektionale Authentifizierung sorgt für eine sichere Kommunikation.

Voraussetzungen

  • Sie müssen über Schreibberechtigungen für den Microsoft Sentinel Arbeitsbereich verfügen.

  • Installieren Sie die Amazon Web Services-Lösung über den Content Hub in Microsoft Sentinel. Wenn Sie bereits eine frühere Version der Lösung installiert haben, aktualisieren Sie die Lösung im Inhaltshub, um sicherzustellen, dass Sie über die neueste Version verfügen, die diesen Connector enthält. Weitere Informationen finden Sie unter Ermitteln und Verwalten von Microsoft Sentinel sofort einsatzbereiten Inhalten.

  • Sie müssen über einen vorhandenen AWS EKS-Cluster mit aktivierter Überwachungsprotokollierung oder über die Möglichkeit verfügen, die Überwachungsprotokollierung während des Setupvorgangs in Ihrem EKS-Cluster zu aktivieren.

  • Sie müssen über die entsprechenden AWS-IAM-Berechtigungen für Folgendes verfügen:

    • Erstellen von IAM-Rollen und -Richtlinien
    • Erstellen von S3-Buckets und Konfigurieren von Bucketrichtlinien
    • Erstellen von SQS-Warteschlangen und Konfigurieren von Warteschlangenrichtlinien
    • Erstellen von CloudFormation-Stapeln
    • Konfigurieren von EKS-Clusterprotokollierungseinstellungen
    • Erstellen von Kinesis Data Firehose-Übermittlungsdatenströmen
    • Erstellen von Lambda-Funktionen

Aktivieren und Konfigurieren des Amazon Web Services S3 EKS-Connectors

Führen Sie die folgenden Aufgaben aus, um den Connector zu aktivieren und zu konfigurieren:

  • In Ihrer AWS-Umgebung:

    Die Amazon Web Services S3 EKS-Connectorseite in Microsoft Sentinel enthält herunterladbare AWS CloudFormation-Stapelvorlagen, die die folgenden AWS-Aufgaben automatisieren:

    • Konfigurieren Sie Ihren AWS EKS-Cluster so, dass Überwachungsprotokolle an CloudWatch Logs gesendet werden.

    • Erstellen Sie einen Kinesis Data Firehose-Übermittlungsdatenstrom , um Protokolle von CloudWatch an S3 zu transformieren und zu übermitteln.

    • Erstellen Sie einen S3-Bucket zum Speichern der verarbeiteten Überwachungsprotokolle.

    • Erstellen Sie eine SQS-Warteschlange (Simple Queue Service), um Benachrichtigungen bereitzustellen, wenn neue Protokolldateien in S3 erstellt werden.

    • Erstellen Sie einen Webidentitätsanbieter , um Benutzer über OpenID Connect (OIDC) bei AWS zu authentifizieren.

    • Erstellen Sie eine angenommene Rolle , um Benutzern, die vom OIDC-Webidentitätsanbieter authentifiziert wurden, Berechtigungen für den Zugriff auf Ihre AWS-Ressourcen zu gewähren.

    • Fügen Sie die entsprechenden IAM-Berechtigungsrichtlinien an, um der angenommenen Rolle Zugriff auf die entsprechenden Ressourcen (S3-Bucket, SQS) zu gewähren.

    • Erstellen Sie eine Lambda-Funktion, um EKS-Überwachungsprotokolle in das von Microsoft Sentinel erwartete Format zu transformieren.

  • In Microsoft Sentinel:

Einrichten der AWS-Umgebung

Zur Vereinfachung des Onboardingprozesses bietet die Amazon Web Services S3 EKS-Connectorseite in Microsoft Sentinel herunterladbare Vorlagen für die Verwendung mit dem AWS CloudFormation-Dienst. Der CloudFormation-Dienst verwendet diese Vorlagen zum automatischen Erstellen von Ressourcenstapeln in AWS. Zu diesen Stapeln gehören die in diesem Artikel beschriebenen Ressourcen sowie Anmeldeinformationen, Berechtigungen und Richtlinien.

Hinweis

Verwenden Sie den automatischen Setupprozess. Für Sonderfälle finden Sie die Anweisungen zur manuellen Einrichtung.

Vorbereiten der Vorlagendateien

Führen Sie die folgenden Schritte aus, um das Skript auszuführen, mit dem die AWS-Umgebung eingerichtet wird:

  1. Erweitern Sie im Azure-Portal im Microsoft Sentinel Navigationsmenü die Option Konfiguration, und wählen Sie Datenconnectors aus.

    Erweitern Sie im Defender-Portal im Schnellstartmenü Microsoft Sentinel > Konfiguration, und wählen Sie Datenconnectors aus.

  2. Wählen Sie Amazon Web Services S3 EKS aus der Liste der Datenconnectors aus.

    Wenn der Connector nicht angezeigt wird, installieren Sie die Amazon Web Services-Lösung über den Inhaltshub unter Inhaltsverwaltung in Microsoft Sentinel, oder aktualisieren Sie die Lösung auf die neueste Version.

  3. Wählen Sie im Detailbereich für den Connector connector die Option Connectorseite öffnen aus.

    Screenshot: Katalog für Datenconnectors mit AWS S3 EKS-Connector

  4. Im Abschnitt Konfiguration unter 1. AWS CloudFormation Deployment( AWS CloudFormation Deployment) wählen Sie den Link AWS CloudFormation Stacks aus. Durch diese Aktion wird die AWS-Konsole in einer neuen Browserregisterkarte geöffnet.

  5. Kehren Sie zur Registerkarte des Portals zurück, auf der Sie Microsoft Sentinel geöffnet haben. Wählen Sie unter Vorlage 1: OpenID Connect-Authentifizierungsbereitstellungdie Option Herunterladen aus, um die Vorlage herunterzuladen, die den OIDC-Webidentitätsanbieter erstellt. Die Vorlage wird als JSON-Datei in den angegebenen Downloadordner heruntergeladen.

    Hinweis

    Wenn Sie bereits über einen OIDC-Webidentitätsanbieter aus einer vorherigen Einrichtung des AWS-Connectors verfügen, überspringen Sie diesen Schritt.

  6. Wählen Sie unter Vorlage 2: Bereitstellung von AWS EKS-Ressourcendie Option Herunterladen aus, um die Vorlage herunterzuladen, mit der die anderen AWS-Ressourcen erstellt werden. Die Vorlage wird als JSON-Datei in den angegebenen Downloadordner heruntergeladen.

    Screenshot der Konfigurationsseite des AWS S3 EKS-Connectors.

Erstellen von AWS CloudFormation-Stapeln

Kehren Sie zur Browserregisterkarte der AWS-Konsole zurück, die auf der Seite AWS CloudFormation zum Erstellen eines Stapels geöffnet ist.

Wenn Sie noch nicht bei AWS angemeldet sind, melden Sie sich jetzt an. Sie werden zur Aws CloudFormation-Seite umgeleitet.

Erstellen des OIDC-Webidentitätsanbieters

Wichtig

Wenn Sie bereits über den OIDC-Webidentitätsanbieter aus einer vorherigen Einrichtung des AWS-Connectors verfügen, überspringen Sie diesen Schritt, und fahren Sie mit Erstellen der verbleibenden AWS-Ressourcen fort.
Wenn Sie bereits einen OIDC Connect-Anbieter für Microsoft Defender für Cloud eingerichtet haben, fügen Sie ihrem vorhandenen Anbieter Microsoft Sentinel als Zielgruppe hinzu (kommerziell: api://1462b192-27f7-4cb9-8523-0f4ecb54b47e, Government:api://d4230588-5f84-4281-a9c7-2c15194b28f7). Versuchen Sie nicht, einen neuen OIDC-Anbieter für Microsoft Sentinel zu erstellen.

Befolgen Sie die Anweisungen auf der Seite AWS-Konsole zum Erstellen eines neuen Stapels.

  1. Geben Sie eine Vorlage an, und laden Sie eine Vorlagendatei hoch.

  2. Wählen Sie Datei auswählen aus, und suchen Sie die datei 1: OpenID connect authentication deployment.json Sie heruntergeladen haben.

  3. Wählen Sie einen Namen für den Stapel aus.

  4. Durchlaufen Sie den restlichen Prozess, und erstellen Sie den Stapel.

Erstellen der verbleibenden AWS-Ressourcen

  1. Kehren Sie zur Seite AWS CloudFormation stacks zurück, und erstellen Sie einen neuen Stapel.

  2. Wählen Sie Datei auswählen aus, und suchen Sie die deployment.json heruntergeladene Datei vorlage 2: AWS EKS-Ressourcen .

  3. Wählen Sie einen Namen für den Stapel aus.

  4. Wenn Sie dazu aufgefordert werden, geben Sie die folgenden Parameter ein:

    • EKSClusterName: Geben Sie den Namen Ihres vorhandenen EKS-Clusters ein.
    • Microsoft Sentinel Arbeitsbereichs-ID: So finden Sie Ihre Arbeitsbereichs-ID:
      • Erweitern Sie im Azure-Portal im Microsoft Sentinel Navigationsmenü die Option Konfiguration, und wählen Sie Einstellungen aus. Wählen Sie die Registerkarte Arbeitsbereichseinstellungen aus, und suchen Sie die Arbeitsbereichs-ID auf der Seite Log Analytics-Arbeitsbereich.
      • Erweitern Sie im Defender-Portal im Schnellstartmenü System , und wählen Sie Einstellungen aus. Wählen Sie Microsoft Sentinel und dann log Analytics-Einstellungen unter Einstellungen für [WORKSPACE_NAME]aus. Suchen Sie die Arbeitsbereichs-ID auf der Seite Log Analytics-Arbeitsbereich, die auf einer neuen Browserregisterkarte geöffnet wird.
    • BucketName: Geben Sie einen eindeutigen Namen für den S3-Bucket ein, in dem EKS-Überwachungsprotokolle gespeichert werden.
    • SentinelSQSQueueName: Geben Sie einen Namen für die SQS-Warteschlange ein (Standard: MicrosoftSentinelEKSSqs).
    • AwsRoleName: Geben Sie einen Namen für die IAM-Rolle ein (muss mit "OIDC_" beginnen, Standard: OIDC_MicrosoftSentinelRoleEKS).
  5. Durchlaufen Sie den restlichen Prozess, und erstellen Sie den Stapel.

  6. Wechseln Sie nach Abschluss der Stapelerstellung zum Abschnitt Ausgaben des CloudFormation-Stapels, und notieren Sie sich die folgenden Werte:

    • SentinelRoleArn: Der ARN der IAM-Rolle, die für Microsoft Sentinel Zugriff erstellt wurde.
    • SentinelSQSQueueURL: Die URL der SQS-Warteschlange.
    • Step1EnableEKSAuditLogging: AWS CLI-Befehl zum Aktivieren der EKS-Überwachungsprotokollierung.
    • Step2CreateSubscriptionFilter: AWS CLI-Befehl zum Erstellen des CloudWatch Logs-Abonnementfilters.

Aktivieren der EKS-Überwachungsprotokollierung und Konfigurieren des Protokollstreamings

Aktivieren Sie nach dem Erstellen der CloudFormation-Stapel die Überwachungsprotokollierung in Ihrem EKS-Cluster, und konfigurieren Sie das Protokollstreaming:

  1. Wenn die Überwachungsprotokollierung in Ihrem EKS-Cluster noch nicht aktiviert ist, führen Sie den Befehl aus der Ausgabe Step1EnableEKSAuditLogging aus dem CloudFormation-Stapel aus.

  2. Warten Sie etwa fünf Minuten, bis Überwachungsprotokolle in CloudWatch Logs angezeigt werden.

  3. Führen Sie den Befehl aus der Ausgabe "Step2CreateSubscriptionFilter " aus, um einen Abonnementfilter zu erstellen, der Überwachungsprotokolle von CloudWatch an den Kinesis Data Firehose-Übermittlungsdatenstrom streamt.

  4. Die Lambda-Funktion transformiert die EKS-Überwachungsprotokolle automatisch in das von Microsoft Sentinel erwartete Format und übermittelt sie an S3, wo sie SQS-Benachrichtigungen für die Erfassung auslösen.

Hinzufügen von Protokollsammlern

Wenn Sie die Ressourcenstapel erstellen und die EKS-Überwachungsprotokollierung konfigurieren, kehren Sie zur Browserregisterkarte zurück, die zur Datenconnectorseite in Microsoft Sentinel geöffnet ist, und beginnen Sie mit dem zweiten Teil des Konfigurationsprozesses.

  1. Im Abschnitt Konfiguration unter 2. Verbinden Sie neue Sammler, und wählen Sie Neuen Collector hinzufügen aus.

    Screenshot des zweiten Teils der Konfiguration des AWS EKS-Connectors.

  2. Geben Sie den Rollen-ARN der IAM-Rolle ein, die Sie erstellt haben. Verwenden Sie den Wert aus der SentinelRoleArn-Ausgabe Ihres CloudFormation-Stapels (z. B arn:aws:iam::{AWS_ACCOUNT_ID}:role/OIDC_MicrosoftSentinelRoleEKS. ).

  3. Geben Sie die von Ihnen erstellte SQS-Warteschlangen-URL ein. Verwenden Sie den Wert aus der SentinelSQSQueueURL-Ausgabe Ihres CloudFormation-Stapels (z. B https://sqs.{AWS_REGION}.amazonaws.com/{AWS_ACCOUNT_ID}/MicrosoftSentinelEKSSqs. ).

  4. Wählen Sie Verbinden aus, um den Collector hinzuzufügen. Mit dieser Aktion wird eine Datensammlungsregel für den Azure Monitor-Agent erstellt, um die Protokolle abzurufen und in der dedizierten AWSEKSLogs_CL Tabelle in Ihrem Log Analytics-Arbeitsbereich zu erfassen.

    Screenshot: Hinzufügen eines neuen Collectors für EKS-Protokolle

Überprüfen der Datenerfassung

  1. Navigieren Sie nach dem Einrichten des Connectors zur Seite Protokolle (oder zur Seite Erweiterte Suche im Defender-Portal), und führen Sie die folgende Abfrage aus. Wenn Sie Ergebnisse erhalten, funktioniert der Connector ordnungsgemäß.

    AWSEKSLogs_CL
    | take 10
    
  2. Sie können auch spezifischere Abfragen ausführen, um Ihre EKS-Überwachungsdaten zu untersuchen.

    // View recent EKS audit events by verb (API action)
    AWSEKSLogs_CL
    | where TimeGenerated > ago(1h)
    | summarize count() by Verb
    | order by count_ desc
    
    // Monitor authentication decisions
    AWSEKSLogs_CL
    | where TimeGenerated > ago(24h)
    | where AuthDecision != ""
    | summarize count() by AuthDecision, User
    | order by count_ desc
    
    // Track failed requests (non-200 response codes)
    AWSEKSLogs_CL
    | where TimeGenerated > ago(24h)
    | where ResponseCode != 200
    | project TimeGenerated, User, Verb, ObjectRef, ResponseCode, SourceIPs
    | order by TimeGenerated desc
    

Schemareferenz

Die EKS-Überwachungsprotokolle werden in der AWSEKSLogs_CL Tabelle mit dem folgenden Schema erfasst:

Spalte Typ Beschreibung
TimeGenerated Datum/Uhrzeit Der Zeitpunkt, zu dem das Überwachungsereignis generiert wurde
AwsAccountId string AWS-Konto-ID, in der sich der EKS-Cluster befindet
Region string AWS-Region, in der sich der EKS-Cluster befindet
ClusterName string Name des EKS-Clusters
Verb string Das der API-Anforderung zugeordnete HTTP-Verb (GET, POST, PUT, DELETE usw.)
Benutzer string Informationen zum Benutzer, der die Anforderung stellt
SourceIPs Dynamische Array von Quell-IP-Adressen, von denen die Anforderung stammt
UserAgent string Benutzer-Agent-Zeichenfolge des Clients, der die Anforderung stellt
ObjectRef string Verweis auf das Kubernetes-Objekt, auf das zugegriffen wird
ResponseCode int HTTP-Antwortcode für die API-Anforderung
Phase string Phase der Anforderungsverarbeitung (RequestReceived, ResponseStarted, ResponseComplete, Panic)
AuthDecision string Vom API-Server getroffene Autorisierungsentscheidung
RawEvent Dynamische Vollständige rohe Überwachungsereignisdaten für die erweiterte Analyse

Problembehandlung

Häufige Probleme und Lösungen

  • In AWSEKSLogs_CL Tabelle werden keine Daten angezeigt:

    • Vergewissern Sie sich, dass die EKS-Überwachungsprotokollierung in Ihrem Cluster aktiviert ist.
    • Überprüfen Sie, ob der CloudWatch Logs-Abonnementfilter ordnungsgemäß konfiguriert ist.
    • Stellen Sie sicher, dass die Lambda-Funktion Protokolle fehlerfrei verarbeitet. Überprüfen Sie CloudWatch Logs auf Lambda-Funktionsprotokolle.
    • Vergewissern Sie sich, dass S3-Bucketbenachrichtigungen ordnungsgemäß konfiguriert sind, um SQS-Nachrichten auszulösen.
  • Fehler beim Erstellen des CloudFormation-Stapels:

    • Stellen Sie sicher, dass Sie über ausreichende IAM-Berechtigungen verfügen, um alle erforderlichen Ressourcen zu erstellen.
    • Überprüfen Sie, ob der von Ihnen angegebene EKS-Clustername in Ihrem Konto vorhanden ist.
    • Stellen Sie sicher, dass der S3-Bucketname global eindeutig ist.
  • Authentifizierungsfehler:

    • Vergewissern Sie sich, dass der OIDC-Webidentitätsanbieter ordnungsgemäß konfiguriert ist.
    • Stellen Sie sicher, dass die IAM-Rollenberechtigungen für den Zugriff auf S3- und SQS-Ressourcen ausreichend sind.
    • Überprüfen Sie, ob die in der CloudFormation-Vorlage verwendete Arbeitsbereichs-ID mit Ihrem Microsoft Sentinel Arbeitsbereich übereinstimmt.

Erweiterte Überwachung

Falls noch nicht geschehen, implementieren Sie die Integritätsüberwachung des Datenconnectors, damit Sie wissen können, wann Connectors keine Daten empfangen oder andere Probleme haben. Weitere Informationen finden Sie unter Überwachen der Integrität Ihrer Datenconnectors.

Nächste Schritte

In diesem Dokument haben Sie erfahren, wie Sie AWS EKS-Überwachungsprotokolle mit Microsoft Sentinel für eine umfassende Kubernetes-Sicherheitsüberwachung verbinden. Weitere Informationen zu Microsoft Sentinel finden Sie in den folgenden Artikeln: