AWS S3-Server-Zugriffslogs erfassen

Parserversion: 4.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie AWS S3-Serverzugriffsprotokolle 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 werden Datentransformationen, Typkonvertierungen und bedingte Logik basierend auf dem Vorhandensein und den Werten bestimmter Felder ausgeführt, 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 Log-Erfassung über Amazon S3 mithilfe von Amazon SQS.

  1. Melden Sie sich in der AWS Management Console an.
  2. Rufen Sie die Amazon S3-Konsole auf.
  3. Rufen Sie Amazon S3 > „Buckets“ auf.
  4. Wählen Sie einen vorhandenen Bucket aus oder erstellen Sie einen neuen.
  5. Klicken Sie auf Eigenschaften.
  6. Klicken Sie im Abschnitt Serverzugriffsprotokollierung 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 Logdatensatzobjekte gesendet werden sollen, oder wählen Sie einen vorhandenen Bucket als Ziel aus.
  1. Klicken Sie auf Änderungen speichern.
  2. Um die SQS-Warteschlange für den S3-Bucket zu erstellen, 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. Verwenden Sie dazu die folgende AWS-Dokumentation:

Feeds einrichten

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

  • SIEM-Einstellungen > Feeds > Neuen Feed hinzufügen
  • Content Hub > Content-Pakete > Jetzt starten

AWS S3 Service Access-Feed 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 Erfassung von Logs 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 (SQS-Warteschlange-Zugriffsschlüssel-ID): Ein Konto-Zugriffsschlüssel, der ein alphanumerischer String mit 20 Zeichen ist.

    • SQS Queue Secret Access Key (Geheimer Zugriffsschlüssel für die 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.
    • Aufnahmelabels: 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 in 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 Rohlogfeld authenticationtype zugeordnet.
bucket target.resource.name Direkt aus dem Rohprotokollfeld bucket zugeordnet.
bucket target.resource.resource_type: „STORAGE_BUCKET“ Der Parser legt resource_type auf „STORAGE_BUCKET“ fest, wenn das Feld bucket vorhanden ist.
bucketowner target.resource.product_object_id Direkt aus dem Rohlogfeld bucketowner zugeordnet.
bytes_sent network.sent_bytes Direkt aus dem Rohlogfeld bytes_sent abgeleitet, nachdem es in eine vorzeichenlose Ganzzahl umgewandelt und „-“ durch „0“ ersetzt wurde.
ciphersuite network.application_protocol: „HTTPS“ Der Parser legt application_protocol auf „HTTPS“ fest, 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 Rohlogfeld 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 Rohlogfeld 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 aus hostheader und http_request_uri (aus http_capture extrahiert) erstellt und mit „http://“ oder „https://“ versehen, je nachdem, ob ciphersuite vorhanden ist.
httpstatus network.http.response_code Direkt aus dem Rohlogfeld httpstatus abgeleitet, nachdem es in eine Ganzzahl umgewandelt wurde.
object_version_id target.resource.product_object_id Direkt aus dem Rohlogfeld object_version_id zugeordnet.
objectsize target.file.size Direkt aus dem Rohlogfeld objectsize abgeleitet, nachdem es in eine vorzeichenlose Ganzzahl umgewandelt und „-“ durch „0“ ersetzt wurde.
operation metadata.product_event_type Direkt aus dem Rohlogfeld operation zugeordnet.
referrer network.http.referral_url 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 Rohlogfeld remoteip zugeordnet.
requester target.resource.attribute.labels.key: „Access Point ARN“
target.resource.attribute.labels.value: Wert von requester
Direkt aus dem Rohlogfeld requester zugeordnet.
requester_user principal.user.userid Direkt aus dem Rohlogfeld requester_user zugeordnet.
requestid network.session_id Direkt aus dem Rohlogfeld 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 Rohlogfeld signatureversion zugeordnet.
time metadata.event_timestamp Aus dem Rohlogfeld time geparst und in einen Zeitstempel umgewandelt.
tlsVersion network.tls.version Direkt aus dem Rohlogfeld 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 Standardwert für event_type auf „NETWORK_HTTP“ fest.
(Parserlogik) metadata.log_type: „AWS_S3_SERVER_ACCESS“ Der Parser setzt log_type auf „AWS_S3_SERVER_ACCESS“.
(Parserlogik) metadata.product_name: „AWS S3-Serverzugriff“ Der Parser legt product_name auf „AWS S3 Server Access“ fest.
(Parserlogik) metadata.product_version: „HTTP/http_version“ Der Parser legt product_version anhand der extrahierten http_version fest.
(Parserlogik) metadata.vendor_name: „AMAZON“ Der Parser setzt vendor_name auf „AMAZON“.
(Parserlogik) network.application_protocol: „HTTP“ Der Parser setzt application_protocol auf „HTTP“, wenn das Feld ciphersuite nicht vorhanden ist.
(Parserlogik) 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