AWS Redshift-Logs erfassen

Unterstützt in:

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

  1. Erstellen Sie einen Amazon S3-Bucket gemäß dieser Anleitung: Bucket erstellen.
  2. Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung (z. B. redshift-audit-logs-to-secops).

  3. Wählen Sie den erstellten Bucket in der Amazon S3-Konsole unter https://console.aws.amazon.com/s3 aus.

  4. Wählen Sie den Tab Berechtigungen aus.

  5. Klicken Sie im Bereich Bucket-Richtlinie auf Bearbeiten.

  6. Fügen Sie die folgende Bucket-Richtlinie hinzu (ersetzen Sie redshift-audit-logs-to-secops durch 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/*"
                ]
            }
        ]
    }
    
  7. 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.

  1. Melden Sie sich in der Amazon Redshift-Konsole unter https://console.aws.amazon.com/redshiftv2/ an.
  2. Rufen Sie im Navigationsmenü Konfigurationen > Workload-Verwaltung auf.
  3. Wählen Sie die Parametergruppe aus, die mit Ihrem Cluster verknüpft ist.
  4. Wählen Sie den Tab Parameter aus.
  5. Klicken Sie auf Parameter bearbeiten.
  6. Setzen Sie den Parameterwert enable_user_activity_logging auf true.
  7. Klicken Sie auf Speichern.

Amazon Redshift-Audit-Logging für S3 aktivieren

  1. Melden Sie sich in der Amazon Redshift-Konsole unter https://console.aws.amazon.com/redshiftv2/ an.
  2. Wählen Sie im Navigationsmenü Cluster und dann den Cluster aus, den Sie konfigurieren möchten.
  3. Wählen Sie den Tab Eigenschaften aus.
  4. Klicken Sie im Bereich Datenbankkonfigurationen auf Bearbeiten und wählen Sie dann Audit-Logging bearbeiten aus.
  5. Wählen Sie auf der Seite Audit-Logging bearbeiten die Option Aktivieren aus.
  6. Wählen Sie unter Logziel die Option S3-Bucket aus.
  7. Wählen Sie unter S3-Bucket den konfigurierten Bucket aus (z. B. redshift-audit-logs-to-secops).
  8. Optional: Geben Sie ein S3-Schlüsselpräfix ein, um die Logdateien im Bucket zu organisieren (z. B. audit-logs/).
  9. 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
  10. 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.

  1. Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
  2. Wählen Sie den erstellten Nutzer aus.
  3. Wählen Sie den Tab Sicherheitsanmeldedaten aus.
  4. Klicken Sie im Bereich Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
  5. Wählen Sie Drittanbieterdienst als Anwendungsfall aus.
  6. Klicken Sie auf Weiter.
    • Optional: Fügen Sie ein Beschreibungstag hinzu.
  7. Klicken Sie auf Zugriffsschlüssel erstellen.
  8. Klicken Sie auf CSV-Datei herunterladen , um den Zugriffsschlüssel und den geheimen Zugriffsschlüssel zur späteren Verwendung zu speichern.
  9. Klicken Sie auf Fertig.
  10. Wählen Sie den Tab Berechtigungen aus.
  11. Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
  12. Wählen Sie Berechtigungen hinzufügen aus.
  13. Wählen Sie Richtlinien direkt anhängen aus.
  14. Suchen Sie nach der Richtlinie AmazonS3FullAccess.
  15. Wählen Sie die Richtlinie aus.
  16. Klicken Sie auf Weiter.
  17. Klicken Sie auf Berechtigungen hinzufügen.

Feed in Google SecOps konfigurieren, um AWS Redshift-Logs aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
  4. Geben Sie einen eindeutigen Namen für den Feednamen ein.
  5. Wählen Sie Amazon S3 V2 als Quelltyp aus.
  6. Wählen Sie AWS Redshift als Logtyp aus.
  7. Klicken Sie auf Weiter und dann auf Senden.
  8. 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
  9. 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: trueSTATUS_UPDATE
has_target_resource metadata.event_type Zugeordnet: trueUSER_RESOURCE_ACCESS
has_user metadata.event_type Zugeordnet: trueUSER_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)InfoINFORMATIONAL, (?i)ErrorERROR, (?i)WarningMEDIUM
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