AWS Elastic Load Balancer-Logs erfassen

Parserversion:22.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie AWS Elastic Load Balancer-Logs erfassen, indem Sie einen Google Security Operations-Feed einrichten. Der Parser konvertiert die Logs in das UDM-Format. Es werden Grok-Muster verwendet, um Felder aus Nachrichten im CEF- und Nicht-CEF-Format zu extrahieren, sie UDM-Feldern zuzuordnen und verschiedene Datentransformationen zu verarbeiten, einschließlich spezifischer Logik für HTTP-, TLS- und sicherheitsbezogene Felder. Außerdem wird die Verarbeitung basierend auf dem Vorhandensein oder Format bestimmter Felder bedingt 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 Elastic Load Balancer konfigurieren

  • Zugriffs-Logging aktivieren, um Zugriffslogs an einen S3-Speicher-Bucket zu senden
  • Erstellen Sie einen Amazon Simple Queue Service (SQS) und hängen Sie ihn an einen S3-Speicher-Bucket an.

Amazon S3-Bucket konfigurieren

  1. Melden Sie sich in der AWS-Konsole an.
  2. Erstellen Sie einen Amazon S3-Bucket gemäß diesem Nutzerhandbuch: Bucket erstellen.
  3. Speichern Sie den Namen des Buckets (z. B. elb-logs) und die Region für die spätere Verwendung.
  4. Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
  5. Wählen Sie den erstellten Nutzer aus.
  6. Wählen Sie den Tab Sicherheitsanmeldedaten aus.
  7. Klicken Sie im Bereich Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
  8. Wählen Sie als Anwendungsfall die Option Drittanbieterdienst aus.
  9. Klicken Sie auf Weiter.
  10. Optional: Fügen Sie ein Beschreibungs-Tag hinzu.
  11. Klicken Sie auf Zugriffsschlüssel erstellen.
  12. Klicken Sie auf CSV-Datei herunterladen, um den Access Key (Zugriffsschlüssel) und den Secret Access Key (geheimer Zugriffsschlüssel) für die spätere Verwendung zu speichern.
  13. Klicken Sie auf Fertig.
  14. Wählen Sie den Tab Berechtigungen aus.
  15. Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
  16. Wählen Sie Berechtigungen hinzufügen aus.
  17. Wählen Sie Richtlinien direkt anhängen aus.
  18. Suchen Sie nach der Richtlinie AmazonS3FullAccess und wählen Sie sie aus.
  19. Klicken Sie auf Weiter.
  20. Klicken Sie auf Berechtigungen hinzufügen.

AWS Elastic Load Balancer für die Aktivierung von Zugriffslogs konfigurieren

  1. Melden Sie sich bei der AWS Management Console an.
  2. Suchen Sie nach EC2 und wählen Sie es aus.
  3. Wählen Sie im Navigationsmenü Load Balancer aus.
  4. Wählen Sie den Load-Balancer aus, für den Sie die Protokollierung aktivieren möchten.
  5. Scrollen Sie auf dem Tab Beschreibung zu Attribute.
  6. Klicken Sie auf Attribute bearbeiten.
  7. Aktivieren Sie Zugriffslogs, indem Sie Aktivieren auswählen.
  8. Wählen Sie den zuvor erstellten S3-Bucket aus (z. B. elb-logs).
  9. Optional: Legen Sie das Logpräfix fest, um Logs leichter zu identifizieren (z. B. elb/access-logs/).
  10. Klicken Sie auf Speichern.

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 Elastic Load Balancer-Feed einrichten

  1. Klicken Sie auf das Paket Amazon Cloud Platform.
  2. Suchen Sie den Logtyp AWS Elastic Load Balancer.
  3. Geben Sie die Werte in den folgenden Feldern an.

    1. Geben Sie die Werte in den folgenden Feldern an.
    2. Quelltyp: Amazon SQS V2
    3. Warteschlangenname: Der Name der SQS-Warteschlange, aus der gelesen werden soll.
    4. S3-URI: Der Bucket-URI.
      • s3://your-log-bucket-name/
        • Ersetzen Sie your-log-bucket-name durch den tatsächlichen Namen Ihres S3-Buckets.
    5. Optionen zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.

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

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

    8. 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.
  4. 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
actions_executed security_result.action Wenn actions_executed „waf,forward“ oder „waf,redirect“ ist, wird der Wert auf „ALLOW“ gesetzt. Wenn actions_executed „waf“ ist, legen Sie „BLOCK“ fest.
chosen_cert_arn principal.user.attribute.labels Wenn chosen_cert_arn „session“ enthält, ordnen Sie den Wert security_result.description zu. Erstellen Sie andernfalls ein Label mit dem Schlüssel „ARN“ und dem Wert chosen_cert_arn und fügen Sie es dem Array principal.user.attribute.labels hinzu.
chosen_cert_arn security_result.description Wenn chosen_cert_arn „session“ enthält, ordnen Sie den Wert diesem Feld zu.
client_ip principal.asset.ip Direkt zugeordnet.
client_ip principal.ip Direkt zugeordnet.
client_port principal.port Direkt zugeordnet.
classification security_result.rule_name Direkt zugeordnet, wenn nicht leer oder „-“.
classification_reason security_result.summary Wird direkt zugeordnet, wenn nicht leer oder „-“.
Customer (CEF) principal.user.user_display_name Direkt aus dem CEF-Feld zugeordnet.
data Verschiedene Wird mithilfe von Grok-Mustern geparst, um mehrere Felder zu extrahieren. Spezifische Zuordnungen finden Sie in den anderen Zeilen.
data.act (CEF) security_result.action_details Direkt aus dem CEF-Feld zugeordnet.
data.app (CEF) principal.application Direkt aus dem CEF-Feld zugeordnet.
data.ccode (CEF) principal.location.country Direkt aus dem CEF-Feld zugeordnet.
data.cicode (CEF) principal.location.city Direkt aus dem CEF-Feld zugeordnet.
data.cn1 (CEF) network.http.response_code Direkt aus dem CEF-Feld zugeordnet.
data.cpt (CEF) principal.port Direkt aus dem CEF-Feld zugeordnet.
data.cs1Label (CEF) additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Cap Support“ und dem Wert aus cs1Label.
data.cs2Label (CEF) additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Javascript Support“ und dem Wert aus cs2Label.
data.cs3Label (CEF) additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „CO Support“ und dem Wert aus cs3Label.
data.cs4Label (CEF) additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „VID“ und dem Wert aus cs4Label.
data.cs5Label (CEF) additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „clappsig“ und dem Wert aus cs5Label.
data.cs6Label (CEF) additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „clapp“ und dem Wert aus cs6Label.
data.cs7Label (CEF) additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „latitude“ und dem Wert aus cs7Label.
data.deviceExternalId (CEF) about.asset.asset_id Wird als Teil der Asset-ID verwendet: Incapsula.SIEMintegration:deviceExternalId.
data.deviceFacility (CEF) principal.location.region Direkt aus dem CEF-Feld zugeordnet.
data.dproc (CEF) target.process.command_line Direkt aus dem CEF-Feld zugeordnet.
data.dst_ip target.asset.ip Direkt zugeordnet.
data.dst_ip target.ip Direkt zugeordnet.
data.dst_port target.port Direkt zugeordnet.
data.elb target.resource.id Direkt zugeordnet.
data.fileId (CEF) security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „fileId“ und dem Wert aus fileId.
data.in (CEF) network.received_bytes Direkt aus dem CEF-Feld zugeordnet.
data.request (CEF) target.url Direkt aus dem CEF-Feld zugeordnet.
data.requestClientApplication (CEF) network.http.user_agent Direkt aus dem CEF-Feld zugeordnet.
data.requestMethod (CEF) network.http.method Direkt aus dem CEF-Feld zugeordnet.
data.severity (CEF) security_result.severity Wird auf „LOW“ abgebildet, wenn der Schweregrad 0 ist.
data.sip (CEF) principal.asset.ip Direkt aus dem CEF-Feld zugeordnet.
data.sip (CEF) principal.ip Direkt aus dem CEF-Feld zugeordnet.
data.siteid (CEF) security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „siteid“ und dem Wert aus siteid.
data.sourceServiceName (CEF) principal.application Direkt aus dem CEF-Feld zugeordnet.
data.spt (CEF) principal.port Direkt aus dem CEF-Feld zugeordnet.
data.src (CEF) principal.ip Direkt aus dem CEF-Feld zugeordnet.
data.suid (CEF) principal.user.userid Direkt aus dem CEF-Feld zugeordnet.
data.ver (CEF) network.tls.version Der Versionsteil wird mit „grok“ extrahiert und zugeordnet.
data.ver (CEF) network.tls.cipher Der Chiffre-Teil wird mit „grok“ extrahiert und zugeordnet.
data.xff (CEF) principal.ip Direkt aus dem CEF-Feld zugeordnet.
domain_name principal.administrative_domain Direkt zugeordnet.
http_method network.http.method Direkt zugeordnet.
log_type metadata.log_type Direkt zugeordnet.
message Verschiedene Mit Grok-Mustern geparst, um mehrere Felder zu extrahieren. Spezifische Zuordnungen finden Sie in den anderen Zeilen.
received_bytes network.received_bytes Direkt zugeordnet.
redirect_url network.application_protocol Wenn redirect_url mit „http“ beginnt, wird das Protokoll extrahiert und zugeordnet.
redirect_url target.asset.hostname Wenn redirect_url mit „http“ beginnt, wird der Hostname extrahiert und zugeordnet.
redirect_url target.hostname Wenn redirect_url mit „http“ beginnt, wird der Hostname extrahiert und zugeordnet.
redirect_url target.port Wenn redirect_url mit „http“ beginnt, wird der Port extrahiert und zugeordnet.
request_creation_time metadata.collected_timestamp Wird nach dem Parsen des Datums direkt zugeordnet.
request_processing_time security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „request_processing_time“ und dem Wert aus diesem Feld.
response_processing_time security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „response_processing_time“ und dem Wert aus diesem Feld.
sent_bytes network.sent_bytes Direkt zugeordnet.
ssl_cipher network.tls.cipher Direkt zugeordnet.
ssl_protocol network.tls.version Direkt zugeordnet.
target_group_arn target.group.group_display_name Direkt zugeordnet.
target_processing_time security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „target_processing_time“ und dem Wert aus diesem Feld.
target_status_code target.labels Erstellt ein Label mit dem Schlüssel „target_status_code“ und dem Wert aus diesem Feld und fügt es dem target.labels-Array hinzu.
time metadata.event_timestamp Wird nach dem Parsen des Datums direkt zugeordnet.
trace_id metadata.product_log_id Direkt zugeordnet nach dem Entfernen von „Root=“.
url network.http.referral_url Direkt zugeordnet.
user_agent network.http.user_agent Direkt zugeordnet.
(Parser) metadata.event_type Auf „NETWORK_HTTP“ festlegen, wenn die IDs der Prinzipal- und Zielmaschine vorhanden sind, auf „STATUS_UPDATE“, wenn nur die ID der Prinzipalmaschine vorhanden ist, auf „GENERIC_EVENT“, wenn keine Ziel-IP, kein Hostname oder keine Ziel-IP vorhanden ist, und andernfalls auf „NETWORK_HTTP“.
(Parser) metadata.product_name Auf „AWS Elastic Load Balancer“ festgelegt.
(Parser) metadata.vendor_name Legen Sie diesen Wert auf „AMAZON“ fest.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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