AWS S3-Serverzugriffslogs erfassen

Parserversion: 4.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie AWS S3-Serverzugriffslogs erfassen, indem Sie einen Google Security Operations-Feed einrichten. Der Parser extrahiert Felder mithilfe von Grok-Mustern, verarbeitet potenzielle JSON-Eingaben und ordnet die extrahierten Felder dem UDM zu. Es führt Datentransformationen, Typkonvertierungen und bedingte Logik basierend auf dem Vorhandensein und den Werten bestimmter Felder aus, um eine genaue UDM-Darstellung zu gewährleisten.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  • Google SecOps-Instanz
  • Privilegierter Zugriff auf AWS

AWS S3-Serverzugriffs-Logging konfigurieren

Google SecOps unterstützt die Logerfassung mit Amazon S3 über Amazon SQS.

  1. Melden Sie sich in der AWS Management Console an.
  2. Rufen Sie die Amazon S3-Konsole auf.
  3. Gehen Sie zu Amazon S3 > Buckets.
  4. Wählen Sie einen vorhandenen Bucket aus oder erstellen Sie einen neuen.
  5. Klicken Sie auf Eigenschaften.
  6. Klicken Sie im Abschnitt Serverzugriffs-Logging auf Bearbeiten.
  7. Wählen Sie Aktivieren aus.
  8. Geben Sie im Feld Ziel-Bucket einen Namen für den neuen Bucket ein, an den die Logeintragsobjekte gesendet werden sollen, oder wählen Sie einen vorhandenen Bucket als Ziel aus.
  1. Klicken Sie auf Änderungen speichern.
  2. Wenn Sie die SQS-Warteschlange für den S3-Bucket erstellen möchten, konfigurieren Sie eine Amazon SQS-Instanz mit dem S3-Speicher. Weitere Informationen finden Sie unter Bucket für Benachrichtigungen konfigurieren (SNS-Thema oder SQS-Warteschlange).

Ermitteln Sie anhand des Dienstes und der Region die Endpunkte für die Verbindung. Weitere Informationen finden Sie in der folgenden AWS-Dokumentation:

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte, um Feeds in der Google SecOps-Plattform einzurichten:

  • Einstellungen > Datenverwaltung > Feeds > Neuen Feed hinzufügen (auf einer reinen SIEM-Plattform: Einstellungen > Feeds > Neuen Feed hinzufügen)
  • Content Hub > Content-Pakete > Jetzt starten

AWS S3-Dienstzugriffsfeed einrichten

  1. Klicken Sie auf das Paket Amazon Cloud Platform.
  2. Suchen Sie den Logtyp AWS S3 Service Access.
  3. Google SecOps unterstützt die Logerfassung mithilfe einer Zugriffsschlüssel-ID und einer geheimen Methode. Informationen zum Erstellen der Zugriffsschlüssel-ID und des Secrets finden Sie unter Toolauthentifizierung mit AWS konfigurieren.
  4. Geben Sie die Werte in den folgenden Feldern 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 zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Einstellungen für die Aufnahme aus.

    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

    • SQS Queue Access Key ID: Ein Konto-Zugriffsschlüssel, der ein alphanumerischer String mit 20 Zeichen ist.

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

    Erweiterte Optionen

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

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

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
aclRequired target.resource.attribute.labels.key: „aclRequired“
target.resource.attribute.labels.value: Wert von aclRequired
Direkt aus dem Rohprotokollfeld aclRequired zugeordnet.
authenticationtype extensions.auth.auth_details Direkt aus dem Rohprotokollfeld authenticationtype zugeordnet.
bucket target.resource.name Direkt aus dem Rohprotokollfeld bucket zugeordnet.
bucket target.resource.resource_type: "STORAGE_BUCKET" Der Parser setzt resource_type auf „STORAGE_BUCKET“, wenn das Feld bucket vorhanden ist.
bucketowner target.resource.product_object_id Direkt aus dem Rohprotokollfeld bucketowner zugeordnet.
bytes_sent network.sent_bytes Wird direkt aus dem Rohlogfeld bytes_sent zugeordnet, nachdem es in eine Ganzzahl ohne Vorzeichen umgewandelt und „-“ durch „0“ ersetzt wurde.
ciphersuite network.application_protocol: „HTTPS“ Der Parser setzt application_protocol auf „HTTPS“, wenn das Feld ciphersuite vorhanden ist.
ciphersuite network.tls.cipher Direkt aus dem Rohprotokollfeld ciphersuite zugeordnet.
errorcode security_result.action_details Direkt aus dem Rohprotokollfeld errorcode zugeordnet.
errorcode security_result.action: „BLOCK“ Der Parser setzt action auf „BLOCK“, wenn das Feld errorcode „AccessDenied“ enthält (Groß-/Kleinschreibung wird nicht berücksichtigt).
hostheader target.hostname Aus dem Rohprotokollfeld hostheader extrahiert, wobei die Portnummer möglicherweise entfernt wurde.
hostheader target.port Wird aus dem Rohprotokollfeld hostheader extrahiert, wenn eine Portnummer vorhanden ist.
hostid target.resource.attribute.labels.key: „S3 Extended Request ID“
target.resource.attribute.labels.value: Wert von hostid
Direkt aus dem Rohprotokollfeld hostid zugeordnet.
http_capture network.http.method Die HTTP-Methode wird aus dem Feld http_capture extrahiert.
http_capture network.http.version Die HTTP-Version wird aus dem Feld http_capture extrahiert.
http_capture target.url Die Ziel-URL wird mit hostheader und http_request_uri (aus http_capture extrahiert) erstellt, wobei je nach Vorhandensein von ciphersuite das Präfix „http://“ oder „https://“ verwendet wird.
httpstatus network.http.response_code Wird direkt aus dem Rohlogfeld httpstatus zugeordnet, nachdem es in eine Ganzzahl konvertiert wurde.
object_version_id target.resource.product_object_id Direkt aus dem Rohprotokollfeld object_version_id zugeordnet.
objectsize target.file.size Wird direkt aus dem Rohlogfeld objectsize zugeordnet, nachdem es in eine Ganzzahl ohne Vorzeichen umgewandelt und „-“ durch „0“ ersetzt wurde.
operation metadata.product_event_type Direkt aus dem Rohprotokollfeld operation zugeordnet.
referrer network.http.referral_url Wird direkt aus dem Rohlogfeld referrer zugeordnet, nachdem Anführungszeichen entfernt wurden.
remoteip metadata.event_type: „USER_RESOURCE_ACCESS“ Der Parser setzt den event_type auf „USER_RESOURCE_ACCESS“, wenn das Feld remoteip leer ist.
remoteip principal.ip Direkt aus dem Rohprotokollfeld remoteip zugeordnet.
requester target.resource.attribute.labels.key: „Access Point ARN“
target.resource.attribute.labels.value: Wert von requester
Direkt aus dem Rohprotokollfeld requester zugeordnet.
requester_user principal.user.userid Direkt aus dem Rohprotokollfeld requester_user zugeordnet.
requestid network.session_id Direkt aus dem Rohprotokollfeld requestid zugeordnet.
request_time_ms network.session_duration.nanos Wird direkt aus dem Rohlogfeld request_time_ms zugeordnet, nachdem es in eine Ganzzahl konvertiert, „-“ durch „0“ ersetzt und mit Nullen aufgefüllt wurde, um Nanosekunden darzustellen.
signatureversion target.resource.attribute.labels.key: „Signaturversion“
target.resource.attribute.labels.value: Wert von signatureversion
Direkt aus dem Rohprotokollfeld signatureversion zugeordnet.
time metadata.event_timestamp Aus dem Rohprotokollfeld time geparst und in einen Zeitstempel konvertiert.
tlsVersion network.tls.version Direkt aus dem Rohprotokollfeld tlsVersion zugeordnet.
useragent network.http.user_agent Wird direkt aus dem Rohprotokollfeld useragent zugeordnet, nachdem Anführungszeichen entfernt wurden.
(Parser-Logik) metadata.event_type: „NETWORK_HTTP“ Der Parser legt den Standard-event_type auf „NETWORK_HTTP“ fest.
(Parser-Logik) metadata.log_type: "AWS_S3_SERVER_ACCESS" Der Parser setzt log_type auf „AWS_S3_SERVER_ACCESS“.
(Parser-Logik) metadata.product_name: „AWS S3 Server Access“ Der Parser setzt product_name auf „AWS S3 Server Access“.
(Parser-Logik) metadata.product_version: „HTTP/http_version“ Der Parser legt den product_version mithilfe des extrahierten http_version fest.
(Parser-Logik) metadata.vendor_name: „AMAZON“ Der Parser setzt vendor_name auf „AMAZON“.
(Parser-Logik) network.application_protocol: „HTTP“ Der Parser setzt application_protocol auf „HTTP“, wenn das Feld ciphersuite nicht vorhanden ist.
(Parser-Logik) timestamp Der Parser setzt das Ereignis timestamp auf die aktuelle Zeit, wenn das Ereignis verarbeitet wird.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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