AWS Redshift-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie AWS Redshift-Logs mit Amazon S3 in Google Security Operations aufnehmen.
Amazon Redshift ist ein vollständig verwalteter Cloud-Data-Warehouse-Dienst im Petabyte-Bereich von Amazon Web Services. Er ermöglicht schnelle Abfragen und Analysen für große Datasets mit SQL-basierten Tools und Business-Intelligence-Anwendungen. Amazon Redshift protokolliert Datenbankaktivitäten, einschließlich Authentifizierungsversuchen, Verbindungen, Trennungen, Änderungen an der Nutzerdefinition und Abfragen, die für die Datenbank ausgeführt werden. Bei dieser Integration wird die native Audit-Logging-Funktion von Amazon Redshift verwendet, um Logdateien an einen S3-Bucket zu senden, der dann von Google SecOps über einen Amazon S3 V2-Feed aufgenommen wird.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Privilegierter Zugriff auf die AWS Management Console mit Berechtigungen zum Verwalten von:
- Amazon Redshift (Cluster, Parametergruppen)
- Amazon S3 (Buckets, Bucket-Richtlinien)
- AWS IAM (Nutzer, Richtlinien)
S3-Bucket für Amazon Redshift-Audit-Logging konfigurieren
Amazon Redshift lädt Audit-Logdateien in einen S3-Bucket hoch. Sie müssen die S3-Bucket-Richtlinie so konfigurieren, dass der Amazon Redshift-Dienst Logdateien schreiben kann.
S3-Bucket erstellen und konfigurieren
- Erstellen Sie einen Amazon S3-Bucket gemäß dieser Anleitung: Bucket erstellen.
Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung (z. B.
redshift-audit-logs-to-secops).Wählen Sie den erstellten Bucket in der Amazon S3-Konsole unter https://console.aws.amazon.com/s3 aus.
Wählen Sie den Tab Berechtigungen aus.
Klicken Sie im Bereich Bucket-Richtlinie auf Bearbeiten.
Fügen Sie die folgende Bucket-Richtlinie hinzu (ersetzen Sie
redshift-audit-logs-to-secopsdurch Ihren Bucket-Namen):{ "Version": "2012-10-17", "Statement": [ { "Sid": "Put bucket policy needed for audit logging", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::redshift-audit-logs-to-secops", "arn:aws:s3:::redshift-audit-logs-to-secops/*" ] } ] }Klicken Sie auf Änderungen speichern.
Parameter für das Nutzeraktivitätslog aktivieren
Das Verbindungslog und das Nutzerlog werden automatisch erfasst, wenn das Audit-Logging aktiviert ist. Wenn Sie auch das Nutzeraktivitätslog erfassen möchten, in dem jede Abfrage aufgezeichnet wird, bevor sie in der Datenbank ausgeführt wird, müssen Sie den Datenbankparameter enable_user_activity_logging aktivieren.
- Melden Sie sich in der Amazon Redshift-Konsole unter https://console.aws.amazon.com/redshiftv2/ an.
- Rufen Sie im Navigationsmenü Konfigurationen > Workload-Verwaltung auf.
- Wählen Sie die Parametergruppe aus, die mit Ihrem Cluster verknüpft ist.
- Wählen Sie den Tab Parameter aus.
- Klicken Sie auf Parameter bearbeiten.
- Setzen Sie den Parameterwert enable_user_activity_logging auf true.
Klicken Sie auf Speichern.
Amazon Redshift-Audit-Logging für S3 aktivieren
- Melden Sie sich in der Amazon Redshift-Konsole unter https://console.aws.amazon.com/redshiftv2/ an.
- Wählen Sie im Navigationsmenü Cluster und dann den Cluster aus, den Sie konfigurieren möchten.
- Wählen Sie den Tab Eigenschaften aus.
- Klicken Sie im Bereich Datenbankkonfigurationen auf Bearbeiten und wählen Sie dann Audit-Logging bearbeiten aus.
- Wählen Sie auf der Seite Audit-Logging bearbeiten die Option Aktivieren aus.
- Wählen Sie unter Logziel die Option S3-Bucket aus.
- Wählen Sie unter S3-Bucket den konfigurierten Bucket aus (z. B.
redshift-audit-logs-to-secops). - Optional: Geben Sie ein S3-Schlüsselpräfix ein, um die Logdateien im Bucket zu organisieren (z. B.
audit-logs/). - Wählen Sie die zu exportierenden Logs aus:
- Verbindungslog : Authentifizierungsversuche, Verbindungen und Trennungen
- Nutzerlog : Änderungen an Datenbanknutzerdefinitionen
- Nutzeraktivitätslog : Jede Abfrage, bevor sie in der Datenbank ausgeführt wird
- Klicken Sie auf Änderungen speichern.
Weitere Informationen finden Sie im Amazon Redshift Management Guide unter Database audit logging (Datenbank-Audit-Logging).
IAM-Nutzer für Google SecOps konfigurieren
Google SecOps benötigt einen IAM-Nutzer mit Leseberechtigung für den S3-Bucket, um die exportierten Audit-Logs aufzunehmen.
- 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 zur späteren 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.
- Wählen Sie die Richtlinie aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Berechtigungen hinzufügen.
Feed in Google SecOps konfigurieren, um AWS Redshift-Logs aufzunehmen
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
- Geben Sie einen eindeutigen Namen für den Feednamen ein.
- Wählen Sie Amazon S3 V2 als Quelltyp aus.
- Wählen Sie AWS Redshift als Logtyp aus.
- Klicken Sie auf Weiter und dann auf Senden.
Geben Sie Werte für die folgenden Felder an:
- S3-URI:
s3://redshift-audit-logs-to-secops/audit-logs/ - Option zum Löschen der Quelle: Wählen Sie die Option zum Löschen nach Ihren Wünschen aus.
- Maximale Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden (Standardwert: 180 Tage)
- Zugriffsschlüssel-ID: Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket
- Geheimer Zugriffsschlüssel: Geheimer Schlüssel des Nutzers mit Zugriff auf den S3-Bucket
- Asset-Namespace: Der Asset-Namespace
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
- S3-URI:
Klicken Sie auf Weiter und dann auf Senden.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
func_label |
additional.fields |
Zusammengeführt |
lpclagg_label |
additional.fields |
Zusammengeführt |
lpcltype_label |
additional.fields |
Zusammengeführt |
msg |
metadata.description |
Direkt zugeordnet |
has_principal |
metadata.event_type |
Zugeordnet: true → STATUS_UPDATE |
has_target_resource |
metadata.event_type |
Zugeordnet: true → USER_RESOURCE_ACCESS |
has_user |
metadata.event_type |
Zugeordnet: true → USER_UNCATEGORIZED |
column1 |
metadata.product_event_type |
Direkt zugeordnet |
requestID |
metadata.product_log_id |
Direkt zugeordnet |
column20 |
network.application_protocol_version |
Direkt zugeordnet |
column9 |
network.session_duration.seconds |
Umbenannt/zugeordnet |
column21 |
network.session_id |
Direkt zugeordnet |
xid |
network.session_id |
Direkt zugeordnet |
column11 |
network.tls.cipher |
Direkt zugeordnet |
column10 |
network.tls.version |
Direkt zugeordnet |
column16 |
principal.application |
Direkt zugeordnet |
column3 |
principal.asset.ip |
Zusammengeführt |
log_event.src_ip |
principal.asset.ip |
Zusammengeführt |
column3 |
principal.hostname |
Direkt zugeordnet |
column3 |
principal.ip |
Zusammengeführt |
log_event.src_ip |
principal.ip |
Zusammengeführt |
region |
principal.location.name |
Direkt zugeordnet |
column17 |
principal.platform_version |
Direkt zugeordnet |
column4 |
principal.port |
Direkt zugeordnet |
column5 |
principal.process.pid |
Direkt zugeordnet |
pid |
principal.process.pid |
Direkt zugeordnet |
accountID |
principal.user.userid |
Direkt zugeordnet |
user_id |
principal.user.userid |
Direkt zugeordnet |
authmethod_label |
security_result.detection_fields |
Zusammengeführt |
compression_label |
security_result.detection_fields |
Zusammengeführt |
driver_version_label |
security_result.detection_fields |
Zusammengeführt |
iamauthguid_label |
security_result.detection_fields |
Zusammengeführt |
mtu_label |
security_result.detection_fields |
Zusammengeführt |
plugin_name_label |
security_result.detection_fields |
Zusammengeführt |
ssl_compression_label |
security_result.detection_fields |
Zusammengeführt |
ssl_expansion_label |
security_result.detection_fields |
Zusammengeführt |
level |
security_result.severity |
Zugeordnet: (?i)Info → INFORMATIONAL, (?i)Error → ERROR, (?i)Warning → MEDIUM |
file |
target.file.full_path |
Direkt zugeordnet |
expected_bucket_label |
target.resource.attribute.labels |
Zusammengeführt |
expected_s3_prefix_label |
target.resource.attribute.labels |
Zusammengeführt |
sql_query_label |
target.resource.attribute.labels |
Zusammengeführt |
time_zone_label |
target.resource.attribute.labels |
Zusammengeführt |
ClusterIdentifier |
target.resource.name |
Direkt zugeordnet |
column6 |
target.resource.name |
Direkt zugeordnet |
db |
target.resource.name |
Direkt zugeordnet |
column7 |
target.user.user_display_name |
Direkt zugeordnet |
user |
target.user.user_display_name |
Direkt zugeordnet |
| – | metadata.event_type |
Konstante: USER_RESOURCE_ACCESS |
| – | security_result.severity |
Konstante: INFORMATIONAL |
| – | target.resource.type |
Konstante: DATABASE |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten