AWS Aurora-Logs erfassen
Parserversion: 6.0
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. In 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äß diesem Nutzerhandbuch: Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets für die spätere Verwendung.
- Erstellen Sie einen Nutzer gemäß diesem Nutzerhandbuch: IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Bereich Access Keys (Zugriffsschlüssel) auf Create Access Key (Zugriffsschlüssel erstellen).
- Wählen Sie als Anwendungsfall die Option Drittanbieterdienst aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungs-Tag 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 die Option Datenbanken aus.
- Wählen Sie den Aurora-Cluster aus, den Sie überwachen möchten.
- Klicken Sie im Abschnitt Logs und Monitoring auf Ändern.
- Gehen Sie zum Abschnitt Monitoring und aktivieren Sie Erweitertes Monitoring.
- Legen Sie die Monitoring-Rolle auf 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 Abschnitt Logs und Monitoring auf Ändern.
- Achten Sie darauf, dass im Abschnitt Datenbankoptionen die Option 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 zu übernehmen.
Optional: AWS Aurora-Logs mit CloudWatch konfigurieren
Für zusätzliche Monitoring-Funktionen können Sie CloudWatch Logs so konfigurieren, dass Aurora-Logs erfasst werden.
- Wählen Sie im RDS-Dashboard Ihren Aurora-Cluster aus.
- Achten Sie darauf, dass im Bereich Logs & Monitoring die Integration von CloudWatch Logs 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 Log Groups (Loggruppen) den Namen Ihrer neuen Log Group (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 mit Von und Bis den Zeitraum für die zu exportierenden Daten fest.
Wählen Sie unter S3-Bucket auswählen das Konto aus, das mit dem Amazon S3-Bucket verknüpft ist.
S3-Bucket-Name: Wählen Sie einen Amazon S3-Bucket aus.
S3-Bucket-Präfix: Geben Sie den zufällig generierten String ein, den Sie in der Bucket-Richtlinie angegeben haben.
Wählen Sie Exportieren aus, um Ihre Protokolldaten nach Amazon S3 zu exportieren.
Wenn Sie den Status der Protokolldaten 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:
- Einstellungen > Datenverwaltung > Feeds > Neuen Feed hinzufügen (auf einer reinen SIEM-Plattform: Einstellungen > Feeds > Neuen Feed hinzufügen)
- Content Hub > Content-Pakete > Jetzt starten
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 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: Ein Konto-Zugriffsschlüssel, der ein alphanumerischer String mit 20 Zeichen ist.
Geheimer Zugriffsschlüssel für 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.
- Aufnahme-Labels: 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 innerhalb dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
account |
principal.group.product_object_id |
Wird direkt aus dem Feld account im Rohlog zugeordnet. |
column1 |
timestamp_epoch |
Wird 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 (Vorgang), security_result.outcomes.value (Antwort) oder Teil von principal.process.command_line (command_line3) sein. |
column13 |
database oder response |
Kann je nach Protokollformat target.resource.name (Datenbank) oder security_result.outcomes.value (Antwort) sein. |
column14 |
object |
Wird 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 |
Wird 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 command_line-Feld zugeordnet. |
connection_id |
network.session_id |
Direkt aus dem extrahierten connection_id-Feld zugeordnet. |
database |
target.resource.name |
Direkt aus dem extrahierten database-Feld zugeordnet. Wird über bedingte Logik im Parser aus mehreren Feldern wie operation, command_line, has_principal_user und has_principal_machine abgeleitet. Kann RESOURCE_DELETION, RESOURCE_CREATION, RESOURCE_READ, RESOURCE_WRITTEN, USER_RESOURCE_ACCESS, USER_UNCATEGORIZED oder GENERIC_EVENT sein. Hartcodiert auf „AWS_AURORA“. Aus column8 zugeordnet oder aus der Parserlogik abgeleitet. Hartcodiert auf „AURORA“. Hartcodiert auf „AMAZON“. |
has_principal_machine |
has_principal_machine |
Wird auf „true“ gesetzt, wenn principal.ip vorhanden ist, andernfalls auf „false“ initialisiert. |
has_principal_user |
has_principal_user |
Wird 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 ip-Feld zugeordnet. |
logevent.id |
security_result.detection_fields.value |
Verschachtelt in target.logEvents.logEvents, zugeordnet mit dem Schlüssel „id“. |
logevent.message |
security_result.detection_fields.value |
Verschachtelt in target.logEvents.logEvents, zugeordnet mit dem Schlüssel „message“. Wird verwendet, um principal.ip, time_unix, operation und user zu extrahieren. |
logevent.timestamp |
security_result.detection_fields.value |
Verschachtelt in target.logEvents.logEvents, zugeordnet mit dem Schlüssel „timestamp“. |
object |
target_data.resource.name oder principal.resource.product_object_id |
Direkt aus dem extrahierten object-Feld zugeordnet. |
operation |
sr.summary |
Direkt aus dem extrahierten operation-Feld zugeordnet. |
port |
principal.port |
Direkt aus dem extrahierten port-Feld zugeordnet. |
query_id |
principal.process.pid |
Direkt aus dem extrahierten Feld query_id zugeordnet. |
response |
security_result.outcomes.value |
Direkt aus dem extrahierten response-Feld zugeordnet. |
service |
principal.application |
Wird direkt aus dem Feld service im Rohlog zugeordnet. |
src_ip |
principal.ip |
Aus logevent.message in der verschachtelten target.logEvents.logEvents-Struktur extrahiert. |
target.logEvents.logGroup |
target.resource.attribute.labels.value |
Zugeordnet mit dem Schlüssel „logGroup“. |
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 target.logEvents.logEvents-Struktur extrahiert. |
userid |
principal.user.userid |
Direkt aus dem extrahierten userid-Feld zugeordnet. |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten