Amazon VPC Transit Gateway-Flusslogs erfassen

Parserversion:3.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Amazon VPC Transit Gateway-Flusslogs mit Amazon S3 oder Amazon Kinesis Data Firehose in Google Security Operations aufnehmen. In Transit Gateway-Flusslogs werden detaillierte Metadaten zum Netzwerkverkehr (Quell- und Ziel-IPs, Ports, Protokolle, Byte- und Paketanzahl, Aktionen) für Ihre Transit Gateway-Anhänge erfasst. Diese Daten ermöglichen Sicherheitsmonitoring, Anomalieerkennung und Compliance-Auditing in Google SecOps.

Hinweis

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

  • Eine Google SecOps-Instanz.
  • Privilegierter Zugriff auf AWS mit Berechtigungen für Folgendes:
    • Transit Gateway-Flow-Logs erstellen und verwalten
    • S3-Buckets erstellen (für die S3-Exportoption)
    • IAM-Nutzer, ‑Richtlinien und ‑Rollen erstellen
    • Kinesis Data Firehose-Bereitstellungsstreams konfigurieren (für die Firehose-Option)
    • Auf CloudWatch Logs zugreifen und Abo-Filter erstellen (für Firehose-Option)

Option – Nach Amazon S3 exportieren

Transit Gateway-Flusslogs (zu S3) aktivieren

  1. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.
  2. Wählen Sie im Navigationsbereich Transit Gateways aus.
  3. Aktivieren Sie die Kästchen für ein oder mehrere Transit-Gateways und wählen Sie Aktionen > Flusslog erstellen aus.
  4. Wählen Sie als Ziel die Option An einen Amazon S3-Bucket senden aus.
  5. Geben Sie für S3-Bucket-ARN den ARN eines vorhandenen S3-Buckets ein (z. B. arn:aws:s3:::tgw-flowlogs-bucket).

  6. Wählen Sie für Format für Logeinträge das Format für den Flusslogeintrag aus:

    • AWS-Standardformat: Enthält alle Felder von Version 2 bis Version 6.
    • Benutzerdefiniertes Format: Wählen Sie nur die Felder aus, die Sie benötigen.
  7. Wählen Sie als Log file format (Logdateiformat) Text (Standard) oder Parquet aus.

  8. Wählen Sie für Hive-kompatibles S3-Präfix optional Aktivieren aus, um Hive-kompatible Präfixe für die Partitionierung zu verwenden.

  9. Wählen Sie unter Partition logs by time (Logs nach Zeit partitionieren) die Option Every 1 hour (60 min) (Alle 1 Stunde (60 Minuten)) oder Every 24 hours (1440 min) (Alle 24 Stunden (1.440 Minuten)) aus.

  10. Optional: Wählen Sie Neues Tag hinzufügen aus, um dem Flow-Log Tags hinzuzufügen.

  11. Klicken Sie auf Flow-Log erstellen.

Amazon S3-Bucket erstellen

  1. Öffnen Sie die Amazon S3-Konsole.
  2. Klicken Sie auf Bucket erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Bucket-Name: Geben Sie einen eindeutigen Namen ein, z. B. tgw-flowlogs-bucket.
    • AWS-Region: Wählen Sie dieselbe Region aus, in der sich Ihr Transit Gateway befindet.
  4. Klicken Sie auf Bucket erstellen.

IAM-Nutzer mit Zugriff auf Amazon S3 erstellen

  1. Öffnen Sie die IAM-Konsole.
  2. Klicken Sie auf Nutzer > Nutzer hinzufügen.
  3. Geben Sie einen Nutzernamen ein, z. B. chronicle-tgw-s3-reader.
  4. Wählen Sie Programmatic access (Programmatischer Zugriff) aus.
  5. Klicken Sie auf Next: Permissions.
  6. Wählen Sie Vorhandene Richtlinien direkt anhängen aus.
  7. Suchen Sie nach der Richtlinie AmazonS3ReadOnlyAccess und wählen Sie sie aus.
  8. Klicken Sie auf Weiter: Tags > Weiter: Überprüfen > Nutzer erstellen.
  9. Kopieren Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel für die Google SecOps-Feedkonfiguration.

Feed in Google SecOps konfigurieren, um Amazon VPC Transit Gateway-Flusslogs (S3) aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. AWS Transit Gateway Flow Logs - S3.
  4. Wählen Sie Amazon S3 als Quelltyp aus.
  5. Wählen Sie Amazon VPC Transit Gateway Flow Logs als Log type (Logtyp) aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie Werte für die folgenden Eingabeparameter an:

    • S3-URI: Der Bucket-URI, z. B. s3://tgw-flowlogs-bucket/flow-logs/
    • Option zum Löschen der Quelle: Wählen Sie die gewünschte Option zum Löschen aus:
      • Nie: Löscht nach Übertragungen niemals Dateien.
      • Übertragene Dateien löschen: Dateien werden nach der erfolgreichen Übertragung gelöscht.
      • Übertragene Dateien und leere Verzeichnisse löschen: Dateien und leere Verzeichnisse werden nach der erfolgreichen Übertragung gelöscht.
    • Höchstalter für Dateien: Dateien einschließen, die in den letzten Tagen geändert wurden (Standard ist 180 Tage)
    • Zugriffsschlüssel-ID: Der IAM-Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.
    • Geheimer Zugriffsschlüssel: Der geheime Schlüssel des IAM-Nutzers mit Zugriff auf den S3-Bucket
    • Asset-Namespace: Der Asset-Namespace
    • Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
  8. Klicken Sie auf Weiter.

  9. Prüfen Sie die Feedkonfiguration und klicken Sie auf Senden.

Option – Streamen über Amazon Kinesis Data Firehose

Transit Gateway-Flusslogs (für CloudWatch Logs) aktivieren

  1. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.
  2. Wählen Sie im Navigationsbereich Transit Gateways aus.
  3. Aktivieren Sie die Kästchen für ein oder mehrere Transit-Gateways und wählen Sie Aktionen > Flusslog erstellen aus.
  4. Wählen Sie für Ziel die Option An CloudWatch Logs senden aus.
  5. Wählen Sie unter Ziel-Loggruppe eine vorhandene Loggruppe aus oder geben Sie einen neuen Namen ein, um eine neue Loggruppe zu erstellen (z. B. /aws/tgw/flowlogs).

  6. Geben Sie für IAM-Rolle eine Rolle an, die Berechtigungen zum Veröffentlichen von Logs in CloudWatch Logs hat.

  7. Wählen Sie für Format für Logeinträge das Format für den Flusslogeintrag aus:

    • AWS-Standardformat: Enthält alle Felder von Version 2 bis Version 6.
    • Benutzerdefiniertes Format: Wählen Sie nur die Felder aus, die Sie benötigen.
  8. Optional: Wählen Sie Neues Tag hinzufügen aus, um dem Flow-Log Tags hinzuzufügen.

  9. Klicken Sie auf Flow-Log erstellen.

Feed in Google SecOps erstellen, um Amazon VPC Transit Gateway-Flusslogs (Firehose) aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. AWS Transit Gateway Flow Logs - Firehose.
  4. Wählen Sie Amazon Data Firehose als Quelltyp aus.
  5. Wählen Sie Amazon VPC Transit Gateway Flow Logs als Log type (Logtyp) aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie Werte für die folgenden Eingabeparameter an:
    • Trennzeichen für Aufteilung: Geben Sie \n ein.
    • Asset-Namespace: Der Asset-Namespace
    • Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
  8. Klicken Sie auf Weiter.
  9. Prüfen Sie die Feedkonfiguration und klicken Sie auf Senden.
  10. Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
  11. Kopieren und speichern Sie den geheimen Schlüssel. Sie können dieses Secret nicht noch einmal aufrufen.
  12. Wechseln Sie zum Tab Details.
  13. Kopieren Sie die Feed-Endpunkt-URL aus dem Feld Endpoint Information (Endpunktinformationen).
  14. Klicken Sie auf Fertig.

API-Schlüssel für den Amazon Data Firehose-Feed erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Anmeldedaten unter https://console.cloud.google.com/apis/credentials auf.
  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.
  3. Klicken Sie auf API-Schlüssel bearbeiten, um den Schlüssel einzuschränken.
  4. Wählen Sie unter API-Einschränkungen die Option Schlüssel einschränken aus.
  5. Suchen Sie nach Google SecOps API und wählen Sie die Option aus.
  6. Klicken Sie auf Speichern.
  7. Kopieren und speichern Sie den API-Schlüssel.

Endpunkt-URL erstellen

  • Hängen Sie den API-Schlüssel an die URL des Feed-Endpunkts an. Das Format ist:

    <FEED_ENDPOINT_URL>?key=<API_KEY>
    

Ersetzen Sie Folgendes:

  • <FEED_ENDPOINT_URL>: Die Feed-Endpunkt-URL
  • <API_KEY>: Der API-Schlüssel

  • Beispiel:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...
    

Speichern Sie diese vollständige URL für den nächsten Schritt.

IAM-Richtlinie für Firehose erstellen

  1. Rufen Sie in der AWS Console IAM > Richtlinien > Richtlinie erstellen > JSON-Tab auf.
  2. Fügen Sie den folgenden JSON-Code für die Richtlinie ein:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "firehose:PutRecord",
                    "firehose:PutRecordBatch"
                ],
                "Resource": "arn:aws:firehose:<REGION>:<ACCOUNT_ID>:deliverystream/<DELIVERY_STREAM_NAME>"
            }
        ]
    }
    
  3. Ersetzen Sie Folgendes:

    • <REGION>: Ihre AWS-Region, z. B. us-east-1
    • <ACCOUNT_ID>: Ihre AWS-Konto-ID (12-stellige Nummer)
    • <DELIVERY_STREAM_NAME>: Der Name Ihres Firehose-Übertragungsstreams (diesen erstellen Sie im nächsten Schritt)
  4. Geben Sie der Richtlinie den Namen TGWFlowLogsToFirehosePolicy und klicken Sie auf Richtlinie erstellen.

IAM-Rolle für CloudWatch Logs erstellen

  1. Klicken Sie auf IAM > Rollen > Rolle erstellen.
  2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie aus und fügen Sie Folgendes ein:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "logs.<REGION>.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  3. Ersetzen Sie <REGION> durch Ihre AWS-Region.

  4. Klicken Sie auf Weiter.

  5. Suchen Sie nach der Richtlinie TGWFlowLogsToFirehosePolicy und wählen Sie sie aus.

  6. Klicken Sie auf Weiter.

  7. Geben Sie der Rolle den Namen TGWFlowLogsToFirehoseRole und klicken Sie auf Rolle erstellen.

Kinesis Data Firehose-Bereitstellungsstream erstellen

  1. Rufen Sie in der AWS Console Kinesis > Data Firehose > Create delivery stream auf.
  2. Geben Sie die folgenden Konfigurationsdetails an:

    • Quelle und Ziel:

      • Quelle: Wählen Sie Direkter PUT oder andere Quellen aus.
      • Ziel: Wählen Sie HTTP-Endpunkt aus.
    • Name des Bereitstellungsstreams:

      • Name des Bereitstellungsstreams: Geben Sie einen Namen ein, z. B. tgw-flowlogs-to-secops.
    • HTTP-Endpunktziel:

      • HTTP-Endpunkt-URL: Geben Sie die vollständige Endpunkt-URL ein, die Sie erstellt haben (Feed-Endpunkt + API-Schlüssel).
      • Inhaltsverschlüsselung: Wählen Sie GZIP aus.
    • Benutzerdefinierte HTTP-Header:

      • Klicken Sie auf Benutzerdefinierten HTTP-Header hinzufügen.
      • Headername: Geben Sie X-Goog-Chronicle-Auth ein.
      • Header-Wert: Geben Sie den geheimen Schlüssel ein, den Sie beim Erstellen des Feeds gespeichert haben.
    • Sicherungseinstellungen:

      • Sicherung von Quelldatensätzen in Amazon S3: Wählen Sie Nur fehlgeschlagene Daten aus.
      • S3-Bucket: Wählen Sie einen vorhandenen Bucket aus oder erstellen Sie einen neuen für fehlgeschlagene Datensätze.
    • Pufferhinweise:

      • Puffergröße: Geben Sie 1 MiB ein.
      • Pufferintervall: Geben Sie 60 Sekunden ein.
  3. Klicken Sie auf Lieferstream erstellen.

  4. Warten Sie, bis sich der Status des Bereitstellungsstreams in Aktiv ändert.

CloudWatch-Loggruppe für Firehose abonnieren

  1. Rufen Sie in der AWS Console CloudWatch > Logs > Log groups auf.
  2. Wählen Sie die Transit Gateway-Flussloggruppe aus, z. B. /aws/tgw/flowlogs.
  3. Klicken Sie auf den Tab Abo-Filter.
  4. Klicken Sie auf Erstellen > Amazon Kinesis Data Firehose-Abo-Filter erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Ziel: Wählen Sie den Bereitstellungsstream tgw-flowlogs-to-secops aus.
    • Berechtigung erteilen: Wählen Sie die Rolle TGWFlowLogsToFirehoseRole aus.
    • Name des Abo-Filters: Geben Sie einen Namen ein, z. B. tgw-flowlogs-to-chronicle.
    • Logformat: Wählen Sie Andere aus.
    • Abo-Filtermuster: Lassen Sie das Feld leer, um alle Ereignisse zu senden.
  6. Klicken Sie auf Streaming starten.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
packets_lost_blackhole_label additional.fields Zusammengeführt
packets_lost_mtu_exceeded_label additional.fields Zusammengeführt
packets_lost_no_route_label additional.fields Zusammengeführt
packets_lost_ttl_expired_label additional.fields Zusammengeführt
start_time_label additional.fields Zusammengeführt
tcp_flags_label additional.fields Zusammengeführt
tgw_attachment_id_label additional.fields Zusammengeführt
tgw_id_label additional.fields Zusammengeführt
tgw_pair_attachment_id_label additional.fields Zusammengeführt
type_label additional.fields Zusammengeführt
end_time metadata.event_timestamp Geparst als UNIX
event_type metadata.event_type Direkt zugeordnet
account_id metadata.product_log_id Direkt zugeordnet
version metadata.product_version Direkt zugeordnet
flow_direction network.direction Zugeordnet: (?i)ingress → INBOUND, (?i)egress → OUTBOUND
bytes network.sent_bytes Direkt zugeordnet
packets network.sent_packets Direkt zugeordnet
tgw_src_eni principal.asset.asset_id Direkt zugeordnet
srcaddr principal.asset.ip Zusammengeführt
srcaddr principal.ip Zusammengeführt
region principal.location.country_or_region Direkt zugeordnet
tgw_src_az_id principal.location.country_or_region Direkt zugeordnet
srcport principal.port Direkt zugeordnet
pkt_src_aws_service_label principal.resource.attribute.labels Zusammengeführt
tgw_src_az_id_label principal.resource.attribute.labels Zusammengeführt
tgw_src_subnet_id principal.resource.name Direkt zugeordnet
tgw_src_vpc_id principal.resource.product_object_id Direkt zugeordnet
resource_type principal.resource.resource_subtype Direkt zugeordnet
tgw_src_vpc_account_id principal.user.userid Direkt zugeordnet
security_result_action security_result.action Zusammengeführt
protocol_label security_result.detection_fields Zusammengeführt
tgw_dst_eni target.asset.asset_id Direkt zugeordnet
dstaddr target.asset.ip Zusammengeführt
dstaddr target.ip Zusammengeführt
tgw_dst_az_id target.location.country_or_region Direkt zugeordnet
dstport target.port Direkt zugeordnet
pkt_dst_aws_service_label target.resource.attribute.labels Zusammengeführt
tgw_dst_subnet_id target.resource.name Direkt zugeordnet
tgw_dst_vpc_id target.resource.product_object_id Direkt zugeordnet
tgw_dst_vpc_account_id target.user.userid Direkt zugeordnet
metadata.product_name Konstante: AWS VPC Transit Gateway
metadata.vendor_name Konstante: AWS
network.direction Konstante: INBOUND

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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