AWS CloudTrail-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie AWS CloudTrail-Logs erfassen, indem Sie einen Google Security Operations-Feed einrichten. Außerdem wird erläutert, wie Logfelder Google SecOps Unified Data Model-Feldern (UDM) zugeordnet werden.

Weitere Informationen finden Sie unter Datenaufnahme in Google SecOps.

Eine typische Bereitstellung besteht aus AWS CloudTrail und dem Google SecOps-Feed, der so konfiguriert ist, dass Logs an Google SecOps gesendet werden. Ihre Bereitstellung kann von der in diesem Dokument beschriebenen typischen Bereitstellung abweichen. Die Bereitstellung enthält die folgenden Komponenten:

  • AWS CloudTrail: Die Plattform, auf der Logs erfasst werden.

  • AWS S3: Die Plattform, auf der Logs gespeichert werden.

  • Google SecOps-Feed: Der Google SecOps-Feed der Logs aus AWS S3 abruft und in Google SecOps schreibt.

  • Google SecOps: Die Plattform, auf der die Logs aus AWS CloudTrail aufbewahrt und analysiert werden.

Ein Aufnahmelabel identifiziert den Parser, der Logrohdaten in das strukturierte UDM-Format normalisiert. Die Informationen in diesem Dokument gelten für den Parser mit dem Aufnahmelabel AWS_CLOUDTRAIL.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • AWS-Konto
  • Voraussetzungen für die Verwendung von AWS CloudTrail sind erfüllt. Weitere Informationen finden Sie unter AWS CloudTrail einrichten.
  • Alle Systeme in der Bereitstellungsarchitektur verwenden die UTC-Zeitzone.

Grundlegende Schritte zum Aufnehmen von Logs aus S3 mit SQS

In diesem Abschnitt werden die grundlegenden Schritte zum Aufnehmen von AWS CloudTrail-Logs in Ihre Google SecOps-Instanz beschrieben. In den Schritten wird beschrieben, wie Sie Amazon S3 mit Amazon SQS als Feedquelltyp verwenden.

AWS CloudTrail und S3 konfigurieren

In dieser Anleitung konfigurieren Sie AWS CloudTrail-Logs, die in einen S3-Bucket geschrieben werden.

  1. Suchen Sie in der AWS-Konsole nach CloudTrail.
  2. Klicken Sie auf Track erstellen.
  3. Geben Sie einen Track-Namen an.
  4. Wählen Sie Neuen S3-Bucket erstellen aus. Sie können auch einen vorhandenen S3-Bucket verwenden.
  5. Geben Sie einen Namen für AWS KMS-Alias an oder wählen Sie einen vorhandenen AWS KMS-Schlüssel aus.
  6. Sie können die anderen Einstellungen so lassen, wie sie sind, und auf Weiter klicken.
  7. Wählen Sie Ereignistyp aus, fügen Sie nach Bedarf Datenereignisse hinzu und klicken Sie auf Weiter.
  8. Prüfen Sie die Einstellungen unter Überprüfen und erstellen und klicken Sie auf Track erstellen.
  9. Suchen Sie in der AWS-Konsole nach Amazon S3-Buckets.
  10. Klicken Sie auf den neu erstellten Log-Bucket und wählen Sie den Ordner AWSLogs aus. Klicken Sie dann auf S3-URI kopieren und speichern Sie ihn für die Verwendung in den folgenden Schritten.

Standard-SQS-Warteschlange und SNS einrichten

Wenn Sie eine SQS-Warteschlange verwenden, muss es sich um eine Standard -Warteschlange und nicht um eine FIFO-Warteschlange handeln.

  1. Aktivieren Sie AWS CloudTrail und konfigurieren Sie es so, dass Logs über einen neuen oder vorhandenen Track an einen S3-Bucket gesendet werden.
  2. Öffnen Sie die AWS SNS-Konsole und erstellen Sie ein neues Standard-Topic. Geben Sie ihm einen Namen, z.B. „CloudTrail-Notification-Topic“.
  3. Erstellen Sie mit der AWS SQS-Konsole eine SQS-Warteschlange, z.B. „CloudTrail-Notification-Queue“, und aktualisieren Sie die Zugriffsrichtlinie, damit der SNS-Topic-ARN Nachrichten senden kann. Weitere Informationen zum Erstellen von SQS-Warteschlangen finden Sie unter Erste Schritte mit Amazon SQS.

    Beispiel für ein SQS-Richtlinien-Snippet:

    {
       "Version": "2012-10-17",
       "Id": `PolicyForSNS`,
       "Statement": [
          {
             "Sid": "AllowSNS",
             "Effect": "Allow",
             "Principal": { "Service": "sns.amazonaws.com" },
             "Action": "SQS:SendMessage",
             "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:CloudTrail-Notification-Queue",
             "Condition": {
             "ArnEquals": { "aws:SourceArn": "arn:aws:sns:REGION:ACCOUNT_ID:CloudTrail-Notification-Topic"}
             }
          }
       ]
    }
    
  4. Rufen Sie das SNS-TopicAbonnementsAbonnement erstellen auf, legen Sie das Protokoll auf SQS und den Endpunkt auf den ARN der SQS-Warteschlange fest.

  5. CloudTrail sendet neue Logs nicht nativ an SNS. Wenn Sie Benachrichtigungen aktivieren möchten, können Sie einen CloudTrail-Ereignisauswähler für Verwaltungsereignisse verwenden oder die CloudTrail-Integration mit CloudWatch Logs nutzen und dann eine CloudWatch-Ereignisregel erstellen, die Benachrichtigungen auslöst, indem Sie ein SNS-Topic als Ziel festlegen. Weitere Informationen finden Sie unter Benachrichtigungen für Ihren S3-Bucket einrichten.

    Beispiel für ein Ereignismuster:

    {
       "source": ["aws.s3"],
       "detail-type": ["AWS API Call via CloudTrail"],
       "detail": {
          "eventName": ["PutObject"],
          "requestParameters": {
             "bucketName": [`CloudTrail-Notification-Topic`]
          }
       }
    }
    
  6. Achten Sie darauf, dass IAM-Rollen oder -Richtlinien CloudWatch Events das Veröffentlichen in SNS ermöglichen und dass SNS Nachrichten an SQS senden darf.

AWS IAM-Nutzer konfigurieren

Konfigurieren Sie einen AWS IAM-Nutzer, mit dem Google SecOps sowohl auf die SQS-Warteschlange (falls verwendet) als auch auf den S3-Bucket zugreifen kann.

  1. Suchen Sie in der AWS-Konsole nach IAM.
  2. Klicken Sie auf Nutzer und dann auf dem folgenden Bildschirm auf Nutzer erstellen.
  3. Geben Sie einen Namen für den Nutzer an, z. B. chronicle-feed-user, und wählen Sie Nutzerzugriff auf die AWS Management Console gewähren aus.
  4. Wählen Sie Vorhandene Richtlinien direkt anhängen und nach Bedarf AmazonS3ReadOnlyAccess oder AmazonS3FullAccess aus. AmazonS3FullAccess wird verwendet, wenn Google SecOps die S3-Buckets nach dem Lesen der Logs leeren soll, um die AWS S3-Speicherkosten zu optimieren.
  5. Als empfohlene Alternative zum vorherigen Schritt können Sie den Zugriff weiter auf den angegebenen S3-Bucket beschränken, indem Sie eine benutzerdefinierte Richtlinie erstellen. Klicken Sie auf Richtlinie erstellen und folgen Sie der AWS-Dokumentation, um eine benutzerdefinierte Richtlinie zu erstellen.
  6. Wenn Sie eine Richtlinie anwenden, achten Sie darauf, dass Sie sqs:DeleteMessage hinzugefügt haben. Google SecOps kann keine Nachrichten löschen, wenn die Berechtigung sqs:DeleteMessage nicht an die SQS-Warteschlange angehängt ist. Alle Nachrichten werden auf AWS-Seite gesammelt, was zu einer Verzögerung führt, da Google SecOps wiederholt versucht, dieselben Dateien zu übertragen.
  7. Klicken Sie auf Weiter:Tags.
  8. Fügen Sie bei Bedarf Tags hinzu und klicken Sie auf Weiter:Überprüfen.
  9. Prüfen Sie die Konfiguration und klicken Sie auf Nutzer erstellen.
  10. Nachdem der Nutzer erstellt wurde, rufen Sie den Tab Sicherheitsanmeldedaten auf und klicken Sie auf Zugriffsschlüssel erstellen.
  11. Wählen Sie CLI aus und klicken Sie auf Weiter:Tags.
  12. Fügen Sie bei Bedarf Tags hinzu und klicken Sie dann auf Zugriffsschlüssel erstellen: Überprüfen.
  13. Kopieren Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel des erstellten Nutzers für den nächsten Schritt.

    So finden Sie die SubjectID:

    1. Starten Sie die Konfiguration des AWS CloudTrail-Feeds in Google SecOps.
    2. Rufen Sie den entsprechenden Amazon S3-Bucket auf und suchen Sie in den AWS CloudTrail-Logs nach Einträgen, die sich auf den Versuch beziehen, den Feed einzurichten.
    3. Öffnen Sie den entsprechenden Logeintrag und suchen Sie in den JSON-Rohdaten nach dem Abschnitt userIdentity.
    4. Suchen Sie in diesem Abschnitt nach dem Feld principalId oder userName. Der hier aufgeführte numerische Wert ist Ihre eindeutige SubjectID.
    5. Kopieren Sie diese SubjectID und fügen Sie sie der Vertrauensrichtlinie Ihrer AWS IAM-Rolle hinzu, um die erforderlichen Zugriffsberechtigungen zu gewähren.

KMS-Schlüsselberechtigungen konfigurieren

Ein KMS-Schlüssel ist erforderlich, um CloudTrail-Logs zu entschlüsseln, die serverseitig verschlüsselt sind. AWS KMS bietet eine verbesserte Verschlüsselung und Sicherheit für vertrauliche Daten, die in Amazon S3 gespeichert sind.

  1. Suchen Sie in der AWS-Konsole nach Key Management Service (KMS).
  2. Klicken Sie auf Schlüssel erstellen:Weiter.
  3. Fügen Sie einen Alias für den Schlüssel hinzu. Fügen Sie optional eine Beschreibung und Tags hinzu. Klicken Sie auf Weiter: Überprüfen.
  4. Prüfen Sie die Konfiguration und klicken Sie auf Weiter.
  5. Wählen Sie die Schlüsselnutzer aus, die Zugriff auf diesen Schlüssel haben sollen, und klicken Sie dann auf Fertig.

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:

  • SIEM-Einstellungen > Feeds > Neu hinzufügen
  • Content Hub > Content-Pakete > Erste Schritte

AWS CloudTrail-Feed einrichten

  1. Klicken Sie auf das Paket Amazon Cloud Platform.
  2. Geben Sie für den Logtyp AWS CloudTrail die folgenden Werte an:
  3. Geben Sie Werte für die folgenden Felder an:

    • Quelltyp: Amazon SQS V2
    • Warteschlangenname: Der Name der SQS-Warteschlange, aus der gelesen werden soll
    • S3-URI: Der Bucket-URI.
      • s3://your-log-bucket-name/
        • Ersetzen Sie your-log-bucket-name durch den tatsächlichen Namen Ihres S3-Buckets.
    • Optionen für das Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.

    • Maximale Dateialter: Schließen Sie Dateien ein, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

    • SQS-Warteschlangen-Zugriffsschlüssel-ID: Ein Zugriffsschlüssel für das Konto, der ein alphanumerischer String mit 20 Zeichen ist.

    • SQS-Warteschlangen-Zugriffsschlüssel: Ein Zugriffsschlüssel für das Konto, der ein alphanumerischer String mit 40 Zeichen ist.

    Erweiterte Optionen

    • Feedname: Ein vorab ausgefüllter Wert, der den Feed identifiziert.
    • Asset-Namespace: Der mit dem Feed verknüpfte Namespace.
    • Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
  4. Klicken Sie auf Feed erstellen.

Weitere Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.

Unterstützte AWS CloudTrail-Logtypen

Der AWS CloudTrail-Parser unterstützt die folgenden Dienste:

  • apigateway.amazonaws.com
  • appconfig.amazonaws.com
  • autoscaling.amazonaws.com
  • cloud9.amazonaws.com
  • cloudsearch.amazonaws.com
  • cloudshell.amazonaws.com
  • cloudtrail.amazonaws.com
  • config.amazonaws.com
  • devicefarm.amazonaws.com
  • ds.amazonaws.com
  • dynamodb.amazonaws.com
  • ec2-instance-connect.amazonaws.com
  • ec2.amazonaws.com
  • ecr-public.amazonaws.com
  • ecr.amazonaws.com
  • ecs.amazonaws.com
  • eks.amazonaws.com
  • elasticache.amazonaws.com
  • elasticloadbalancing.amazonaws.com
  • firehose.amazonaws.com
  • guardduty.amazonaws.com
  • health.amazonaws.com
  • iam.amazonaws.com
  • imagebuilder.amazonaws.com
  • kinesis.amazonaws.com
  • kinesisanalytics.amazonaws.com
  • kinesisvideo.amazonaws.com
  • kms.amazonaws.com
  • lambda.amazonaws.com
  • logs.amazonaws.com
  • macie2.amazonaws.com
  • monitoring.amazonaws.com
  • network-firewall.amazonaws.com
  • organizations.amazonaws.com
  • quicksight.amazonaws.com
  • ram.amazonaws.com
  • rds.amazonaws.com
  • resource-explorer-2.amazonaws.com
  • resource-groups.amazonaws.com
  • route53-recovery-readiness.amazonaws.com
  • route53.amazonaws.com
  • route53domains.amazonaws.com
  • route53resolver.amazonaws.com
  • s3-outposts.amazonaws.com
  • s3.amazonaws.com
  • s3express.amazonaws.com
  • secretsmanager.amazonaws.com
  • securityhub.amazonaws.com
  • ses.amazonaws.com
  • signin.amazonaws.com
  • ssm.amazonaws.com
  • sts.amazonaws.com
  • waf-regional.amazonaws.com
  • waf.amazonaws.com
  • wafv2.amazonaws.com

Unterstützte AWS CloudTrail-Logformate

Der AWS CloudTrail-Parser unterstützt Logs im JSON-Format.

Unterstützte AWS CloudTrail-Beispiellogs

  • JSON:

    {
      "Records": [{
          "eventVersion": "1.08",
          "userIdentity": {
              "type": "AssumedRole",
              "principalId": "AROAXELJRGZMPHEYTK4Q4:redlock",
              "arn": "arn:aws:sts::111111111111:assumed-role/PrismaCloudReadOnlyRole/redlock",
              "accountId": "111111111111",
              "accessKeyId": "ASIAXELJRGZMNUCV3DC4",
              "sessionContext": {
                  "sessionIssuer": {
                      "type": "Role",
                      "principalId": "AROAXELJRGZMPHEYTK4Q4",
                      "arn": "arn:aws:iam::111111111111:role/PrismaCloudReadOnlyRole",
                      "accountId": "111111111111",
                      "userName": "PrismaCloudReadOnlyRole"
                  },
                  "webIdFederationData": {},
                  "attributes": {
                      "creationDate": "2021-07-01T03:20:01Z",
                      "mfaAuthenticated": "false"
                  }
              }
          },
          "eventTime": "2021-07-01T03:35:42Z",
          "eventSource": "kms.amazonaws.com",
          "eventName": "DescribeKey",
          "awsRegion": "eu-west-1",
          "sourceIPAddress": "198.51.100.0",
          "userAgent": "aws-sdk-java/1.11.1025Linux/4.14.232-176.381.amzn2.x86_64OpenJDK_64-Bit_Server_VM/11.0.10+9java/11.0.10groovy/2.5.12vendor/AdoptOpenJDKcfg/retry-mode/legacy",
          "requestParameters": {
              "keyId": "11a011a1-1010-11a1-a0aa-c4e1a9367642"
          },
          "responseElements": null,
          "requestID": "11a011a1-1010-11a1-a0aa-604ac86fc50e",
          "eventID": "11a011a1-1010-11a1-a0aa-17ef2bdeb889",
          "readOnly": true,
          "resources": [{
              "accountId": "111111111111",
              "type": "AWS::KMS::Key",
              "ARN": "arn:aws:kms:eu-west-1:111111111111:key/11a011a1-1010-11a1-a0aa-c4e1a9367642"
          }],
          "eventType": "AwsApiCall",
          "managementEvent": true,
          "recipientAccountId": "111111111111",
          "eventCategory": "Management"
      }]
    }
    

Weitere Informationen zur Feldzuordnung und UDM-Zuordnung finden Sie unter AWS CloudTrail-Feldzuordnung.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten