AWS S3-Server-Zugriffslogs erfassen

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. Dabei werden Daten transformiert, Typen konvertiert und bedingte Logik basierend auf dem Vorhandensein und den Werten bestimmter Felder angewendet, um eine genaue UDM-Darstellung zu gewährleisten.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Privilegierter Zugriff auf AWS

AWS S3-Server-Zugriffslogging konfigurieren

Google SecOps unterstützt die Erfassung von Logs ü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 Bereich 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 zum Einrichten von Feeds in der Google SecOps-Plattform:

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

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 Tool-Authentifizierung 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 Aufnahmeeinstellungen 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 20-stelliger alphanumerischer String ist.

    • SQS Queue Secret Access Key (geheimer Zugriffsschlüssel für SQS-Warteschlange): Ein Konto-Zugriffsschlüssel, der ein 40-stelliger alphanumerischer String ist.

    Erweiterte Optionen

    • Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
    • Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
    • 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 Rohlogfeld aclRequired zugeordnet.
authenticationtype extensions.auth.auth_details Direkt aus dem Rohlogfeld authenticationtype zugeordnet.
bucket target.resource.name Direkt aus dem Rohlogfeld 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 zugeordnet, 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 Rohlogfeld ciphersuite zugeordnet.
errorcode security_result.action_details Direkt aus dem Rohlogfeld errorcode zugeordnet.
errorcode security_result.action: „BLOCK“ Der Parser legt action auf „BLOCK“ fest, wenn das Feld errorcode „AccessDenied“ (Groß-/Kleinschreibung wird nicht berücksichtigt) enthält.
hostheader target.hostname Aus dem Rohlogfeld hostheader extrahiert, wobei die Portnummer möglicherweise entfernt wurde.
hostheader target.port Wird aus dem Rohlogfeld 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 zugeordnet, 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 legt event_type auf „USER_RESOURCE_ACCESS“ fest, 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 Direkt aus dem Rohlogfeld request_time_ms zugeordnet, nachdem es in eine Ganzzahl umgewandelt, „-“ durch „0“ ersetzt und mit Nullen aufgefüllt wurde, um Nanosekunden darzustellen.
signatureversion target.resource.attribute.labels.key: „Signature Version“
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 konvertiert.
tlsVersion network.tls.version Direkt aus dem Rohlogfeld tlsVersion zugeordnet.
useragent network.http.user_agent Direkt aus dem Rohlogfeld useragent zugeordnet, nachdem Anführungszeichen entfernt wurden.
(Parserlogik) 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 Server Access“ 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 legt das Ereignis timestamp auf die aktuelle Zeit fest, wenn das Ereignis verarbeitet wird.

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