AWS Elastic Load Balancing-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie AWS Elastic Load Balancing-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.
Vorbereitung {: #before-you-begin }
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf AWS
AWS Elastic Load Balancing konfigurieren
- Zugriffs-Logging aktivieren, um Zugriffslogs an einen S3-Speicher-Bucket zu senden
- Erstellen Sie eine Amazon SQS-Warteschlange (Amazon Simple Queue Service) und hängen Sie sie an einen S3-Speicher-Bucket an.
Amazon S3-Bucket konfigurieren
- Melden Sie sich in der AWS-Konsole an.
- Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu der Anleitung unter Bucket erstellen.
- Speichern Sie den Namen des Buckets (z. B.
elb-logs
) und die Region für die spätere Verwendung. - Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie als Anwendungsfall Drittanbieterdienst aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungstag hinzu.
- Klicken Sie auf Zugriffsschlüssel erstellen.
- 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.
- Klicken Sie auf Fertig.
- Wählen Sie den Tab Berechtigungen aus.
- Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
- Wählen Sie Berechtigungen hinzufügen aus.
- Wählen Sie Richtlinien direkt anhängen aus.
- Suchen Sie nach der Richtlinie AmazonS3FullAccess und wählen Sie sie aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Berechtigungen hinzufügen.
AWS Elastic Load Balancer so konfigurieren, dass Zugriffslogs aktiviert werden
- Melden Sie sich in der AWS Management Console an.
- Suchen Sie nach EC2 und wählen Sie es aus.
- Wählen Sie im Navigationsmenü Load Balancers aus.
- Wählen Sie den Load Balancer aus, für den Sie das Logging aktivieren möchten.
- Scrollen Sie auf dem Tab Beschreibung zu Attribute.
- Klicken Sie auf Attribute bearbeiten.
- Aktivieren Sie Zugriffslogs, indem Sie Aktivieren auswählen.
- Wählen Sie den zuvor erstellten S3-Bucket aus (z. B.
elb-logs
). - Optional: Legen Sie das Log-Präfix fest, um Logs leichter identifizieren zu können (z. B.
elb/access-logs/
). - Klicken Sie auf Speichern.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über die SIEM-Einstellungen > „Feeds“ einrichten
Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.
So konfigurieren Sie einen einzelnen Feed:
- Rufen Sie die SIEM-Einstellungen> Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. AWS Elastic Load Balancer Logs (AWS Elastic Load Balancer-Logs).
- Wählen Sie Amazon S3 als Quelltyp aus.
- Wählen Sie AWS Elastic Load Balancer als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Region: Die Region, in der sich der Amazon S3-Bucket befindet.
- S3-URI: Der Bucket-URI.
s3:/BUCKET_NAME
- Ersetzen Sie
BUCKET_NAME
durch den tatsächlichen Namen Ihres S3-Buckets.
- Ersetzen Sie
- URI is a (URI ist ein): Wählen Sie den URI-TYP entsprechend der Logstream-Konfiguration aus (Single file | Directory | Directory which includes subdirectories (Einzelne Datei | Verzeichnis | Verzeichnis mit Unterverzeichnissen)).
- Optionen zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.
Access Key ID (Zugriffsschlüssel-ID): Der Zugriffsschlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Asset-Namespace: Der Asset-Namespace.
Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Region: Die Region, in der sich der Amazon S3-Bucket befindet.
- S3-URI: Der Bucket-URI.
s3:/BUCKET_NAME
- Ersetzen Sie
BUCKET_NAME
durch den tatsächlichen Namen Ihres S3-Buckets.
- Ersetzen Sie
- URI is a (URI ist ein): Wählen Sie den URI-TYP entsprechend der Logstream-Konfiguration aus (Single file | Directory | Directory which includes subdirectories (Einzelne Datei | Verzeichnis | Verzeichnis mit Unterverzeichnissen)).
- Optionen zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.
Access Key ID (Zugriffsschlüssel-ID): Der Zugriffsschlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Berechtigungen zum Lesen aus dem S3-Bucket.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
actions_executed |
security_result.action |
Wenn actions_executed „waf,forward“ oder „waf,redirect“ ist, legen Sie „ALLOW“ fest. 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 |
Direkt zugeordnet, wenn nicht leer oder „-“. |
Customer (CEF) |
principal.user.user_display_name |
Direkt aus dem CEF-Feld zugeordnet. |
data |
Verschiedene | Mit Grok-Mustern geparst, um mehrere Felder zu extrahieren. In anderen Zeilen finden Sie spezifische Zuordnungen. |
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 Versionsabschnitt 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. In anderen Zeilen finden Sie spezifische Zuordnungen. |
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 direkt nach dem Parsen des Datums 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 direkt nach dem Parsen des Datums 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“ setzen, wenn die IDs von 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. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten