AWS Aurora-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie AWS Aurora-Logs in Google Security Operations aufnehmen. AWS Aurora ist ein verwalteter relationaler Datenbankdienst, der hohe Leistung, Skalierbarkeit und Verfügbarkeit bietet. Bei dieser Integration konfigurieren Sie AWS Aurora so, dass Logs zur Analyse, Überwachung und Bedrohungserkennung an Google SecOps weitergeleitet werden.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf AWS
- AWS Aurora-Datenbankcluster eingerichtet und ausgeführt
Amazon S3-Bucket konfigurieren
- Erstellen Sie einen Amazon S3-Bucket gemäß dieser Anleitung: Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets 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 Bereich Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie Drittanbieterdienst als Anwendungsfall 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 Zugriffsschlüssel und den geheimen 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 den Richtlinien AmazonS3FullAccess und CloudWatchLogsFullAccess und wählen Sie sie aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Berechtigungen hinzufügen.
Erweitertes Monitoring konfigurieren
- Melden Sie sich bei der AWS Management Console an.
- Geben Sie in der Suchleiste RDS ein und wählen Sie RDS aus der Liste der Dienste aus.
- Wählen Sie im RDS-Dashboard im Navigationsbereich Datenbanken aus.
- Wählen Sie den Aurora-Cluster aus, den Sie überwachen möchten.
- Klicken Sie im Bereich Logs und Monitoring auf Ändern.
- Rufen Sie den Bereich Monitoring auf und aktivieren Sie Erweitertes Monitoring.
- Legen Sie für die Monitoring-Rolle die entsprechende IAM-Rolle fest, die Berechtigungen zum Veröffentlichen in CloudWatch Logs oder S3 hat.
- Speichern Sie die Änderungen und wenden Sie sie auf Ihren Aurora-Cluster an.
AWS Aurora-Audit-Logs konfigurieren
- Wählen Sie im RDS-Dashboard die Option Datenbanken aus und klicken Sie auf Ihren Aurora-Cluster.
- Klicken Sie im Bereich Logs und Monitoring auf Ändern.
- Prüfen Sie im Bereich Datenbankoptionen, ob Audit-Logs aktivieren ausgewählt ist.
- Wählen Sie unter Ziel die Option S3 aus und geben Sie den S3-Bucket an, in dem die Logs gespeichert werden sollen.
- Klicken Sie auf Änderungen speichern , um die Einstellungen anzuwenden.
Optional: AWS Aurora-Logs mit CloudWatch konfigurieren
Für zusätzliche Monitoringfunktionen können Sie CloudWatch Logs so konfigurieren, dass Aurora-Logs erfasst werden.
- Wählen Sie im RDS-Dashboard Ihren Aurora-Cluster aus.
- Prüfen Sie im Bereich Logs und Monitoring, ob die CloudWatch Logs-Integration aktiviert ist.
- Rufen Sie CloudWatch Logs auf und erstellen Sie eine neue Loggruppe , um die Aurora-Logs zu speichern.
- Wählen Sie auf dem Bildschirm Loggruppen den Namen Ihrer neuen Loggruppe aus.
- Wählen Sie Aktionen > Daten nach Amazon S3 exportieren aus.
Legen Sie auf dem Bildschirm Daten nach Amazon S3 exportieren unter Datenexport definieren den Zeitraum für die zu exportierenden Daten mit Von und Bis fest.
Wählen Sie S3-Bucket, wählen Sie das Konto aus, das mit dem Amazon S3-Bucket verknüpft ist.
Wählen Sie unter Name des S3-Buckets einen Amazon S3-Bucket aus.
Geben Sie unter S3-Bucket-Präfix den zufällig generierten String ein, den Sie in der Bucket-Richtlinie angegeben haben.
Wählen Sie Exportieren aus, um Ihre Logdaten nach Amazon S3 zu exportieren.
Wenn Sie den Status der Logdaten sehen möchten, die Sie nach Amazon S3 exportiert haben, wählen Sie Aktionen > Alle Exporte nach Amazon S3 ansehen aus.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte, um Feeds in der Google SecOps-Plattform einzurichten:
- SIEM-Einstellungen > Feeds > Neu hinzufügen
- Content Hub > Content-Pakete > Loslegen
AWS Aurora-Feed einrichten
- Klicken Sie auf das Paket Amazon Cloud Platform.
- Suchen Sie den Logtyp AWS Aurora.
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-namedurch den tatsächlichen Namen Ihres S3-Buckets.
- Ersetzen Sie
Optionen für das Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.
Maximales Alter der Datei: Schließen Sie Dateien ein, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
Zugriffsschlüssel-ID für die SQS-Warteschlange: Ein Zugriffsschlüssel für das Konto, der ein alphanumerischer String mit 20 Zeichen ist.
Geheimer Zugriffsschlüssel für die SQS-Warteschlange: Ein Zugriffsschlüssel für das Konto, der ein alphanumerischer String mit 40 Zeichen ist.
Erweiterte Optionen
- Feedname: Ein vorab ausgefü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.
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 |
|---|---|---|
account |
principal.group.product_object_id |
Direkt aus dem Feld account im Rohlog zugeordnet. |
column1 |
timestamp_epoch |
Direkt aus dem Feld column1 im Rohlog zugeordnet. Wird verwendet, um metadata.event_timestamp abzuleiten. |
column10 |
Variabel | Kann je nach Logformat principal.process.command_line, object oder number sein. |
column11 |
ddl oder response oder command_line2 |
Kann je nach Logformat principal.resource.resource_subtype (ddl), security_result.outcomes.value (response) oder Teil von principal.process.command_line (command_line2) sein. |
column12 |
operation oder response oder command_line3 |
Kann je nach Logformat sr.summary (operation), security_result.outcomes.value (response) oder Teil von principal.process.command_line (command_line3) sein. |
column13 |
database oder response |
Kann je nach Logformat target.resource.name (database) oder security_result.outcomes.value (response) sein. |
column14 |
object |
Je nach Logformat direkt principal.resource.product_object_id oder target_data.resource.name zugeordnet. |
column15 |
command_line |
Direkt principal.process.command_line zugeordnet. |
column16 |
response |
Direkt security_result.outcomes.value zugeordnet. |
column2 |
timestamp oder timestamp_ms |
Direkt aus dem Feld column2 im Rohlog zugeordnet. |
column3 |
ip oder hostname |
Kann je nach Logformat principal.ip oder principal.resource.name sein. |
column4 |
port oder userid |
Kann je nach Logformat principal.port oder principal.user.userid sein. |
column5 |
userid oder ip |
Kann je nach Logformat principal.user.userid oder principal.ip sein. |
column6 |
hostname oder connection_id |
Kann je nach Logformat principal.resource.name oder network.session_id sein. |
column7 |
connection_id oder query_id |
Kann je nach Logformat network.session_id oder principal.process.pid sein. |
column8 |
operation |
Direkt sr.summary oder metadata.product_event_type zugeordnet. |
column9 |
query_id oder database |
Kann je nach Logformat principal.process.pid oder target_data.resource.name sein. |
command_line |
principal.process.command_line |
Direkt aus dem extrahierten Feld command_line zugeordnet. |
connection_id |
network.session_id |
Direkt aus dem extrahierten Feld connection_id zugeordnet. |
database |
target.resource.name |
Direkt aus dem extrahierten Feld database zugeordnet. Wird aus mehreren Feldern wie operation, command_line, has_principal_user und has_principal_machine durch bedingte Logik im Parser abgeleitet. Kann RESOURCE_DELETION, RESOURCE_CREATION, RESOURCE_READ, RESOURCE_WRITTEN, USER_RESOURCE_ACCESS, USER_UNCATEGORIZED oder GENERIC_EVENT sein. Fest auf „AWS_AURORA“ codiert. Aus column8 zugeordnet oder aus der Parserlogik abgeleitet. Fest auf „AURORA“ codiert. Fest auf „AMAZON“ codiert. |
has_principal_machine |
has_principal_machine |
Auf „true“ gesetzt, wenn principal.ip vorhanden ist, andernfalls auf „false“ initialisiert. |
has_principal_user |
has_principal_user |
Auf „true“ gesetzt, wenn principal.user.userid vorhanden ist, andernfalls auf „false“ initialisiert. |
hostname |
principal.resource.name |
Direkt aus dem extrahierten Feld hostname zugeordnet. |
ip |
principal.ip |
Direkt aus dem extrahierten Feld ip zugeordnet. |
logevent.id |
security_result.detection_fields.value |
In target.logEvents.logEvents verschachtelt, mit dem Schlüssel „id“ zugeordnet. |
logevent.message |
security_result.detection_fields.value |
In target.logEvents.logEvents verschachtelt, mit dem Schlüssel „message“ zugeordnet. Wird verwendet, um principal.ip, time_unix, operation und user zu extrahieren. |
logevent.timestamp |
security_result.detection_fields.value |
In target.logEvents.logEvents verschachtelt, mit dem Schlüssel „timestamp“ zugeordnet. |
object |
target_data.resource.name oder principal.resource.product_object_id |
Direkt aus dem extrahierten Feld object zugeordnet. |
operation |
sr.summary |
Direkt aus dem extrahierten Feld operation zugeordnet. |
port |
principal.port |
Direkt aus dem extrahierten Feld port zugeordnet. |
query_id |
principal.process.pid |
Direkt aus dem extrahierten Feld query_id zugeordnet. |
response |
security_result.outcomes.value |
Direkt aus dem extrahierten Feld response zugeordnet. |
service |
principal.application |
Direkt aus dem Feld service im Rohlog zugeordnet. |
src_ip |
principal.ip |
Aus logevent.message in der verschachtelten Struktur target.logEvents.logEvents extrahiert. |
target.logEvents.logGroup |
target.resource.attribute.labels.value |
Mit dem Schlüssel „logGroup“ zugeordnet. |
target.logEvents.logStream |
target.resource.attribute.labels.value |
Mit dem Schlüssel „logStream“ zugeordnet. |
target.logEvents.messageType |
target.resource.attribute.labels.value |
Mit dem Schlüssel „messageType“ zugeordnet. |
target.logEvents.owner |
target.resource.attribute.labels.value |
Mit dem Schlüssel „owner“ zugeordnet. |
timestamp_epoch |
metadata.event_timestamp |
Mit dem Filter date in metadata.event_timestamp konvertiert. |
user |
principal.user.userid |
Aus logevent.message in der verschachtelten Struktur target.logEvents.logEvents extrahiert. |
userid |
principal.user.userid |
Direkt aus dem extrahierten Feld userid zugeordnet. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten