Forseti Open Source-Logs erfassen

Parserversion:2.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Forseti Open Source-Logs mit Google Cloud Storage V2 in Google Security Operations aufnehmen.

Forseti Security ist eine von der Community entwickelte Sammlung von Open-Source-Tools, die die Sicherheit von Google Cloud Platform-Umgebungen verbessern sollen. Forseti erstellt Inventarsnapshots von Google Cloud-Ressourcen, scannt nach Compliance bei der Zugriffssteuerung und bietet Einblick in Cloud IAM-Richtlinien.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  • Eine Google SecOps-Instanz.
  • Ein GCP-Projekt mit aktivierter Cloud Storage API.
  • Berechtigungen zum Erstellen und Verwalten von GCS-Buckets und IAM-Richtlinien.
  • Eine vorhandene Forseti Security-Bereitstellung.
  • Zugriff auf die Forseti-Serverkonfigurationsdatei (forseti_conf_server.yaml).

Google Cloud Storage-Bucket erstellen

Google Cloud Console verwenden

  1. Gehen Sie zur Google Cloud Console.
  2. Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
  3. Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
  4. Klicken Sie auf Bucket erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Bucket benennen Geben Sie einen global eindeutigen Namen ein, z. B. forseti-violations-export.
    Standorttyp Wählen Sie die Option aus, die am besten zu Ihren Anforderungen passt (Region, Dual-Region, Multi-Region).
    Standort Wählen Sie den Speicherort aus, z. B. us-central1.
    Speicherklasse Standard (empfohlen für Logs, auf die häufig zugegriffen wird)
    Zugriffskontrolle Einheitlich (empfohlen)
    Schutztools Optional: Objektversionierung oder Aufbewahrungsrichtlinie aktivieren
  6. Klicken Sie auf Erstellen.

gcloud-Befehlszeilentool verwenden

  • Alternativ können Sie einen Bucket mit dem Befehl gcloud erstellen:

    gcloud storage buckets create gs://forseti-violations-export \
        --location=us-central1 \
        --default-storage-class=STANDARD
    
  • Ersetzen Sie forseti-violations-export durch den global eindeutigen Bucket-Namen, den Sie benötigen.

  • Ersetzen Sie us-central1 durch die gewünschte Region.

Forseti Security so konfigurieren, dass Verstöße in GCS exportiert werden

Forseti Security verwendet eine Notifier-Konfiguration in der Datei forseti_conf_server.yaml, um Scanner-Verstöße in GCS zu exportieren.

  1. Stellen Sie eine Verbindung zu Ihrer Forseti-Server-VM über SSH her: bash gcloud compute ssh forseti-server-vm --project=YOUR_PROJECT_ID --zone=YOUR_ZONE
  2. Öffnen Sie die Konfigurationsdatei zur Bearbeitung: bash sudo nano /home/ubuntu/forseti-security/configs/forseti_conf_server.yaml Wenn Sie eine GCS-basierte Konfiguration verwenden, laden Sie sie zuerst herunter: bash gsutil cp gs://YOUR_FORSETI_SERVER_BUCKET/configs/forseti_conf_server.yaml ~/forseti_conf_server.yaml
  3. Rufen Sie den Bereich notifier auf und suchen Sie nach dem Unterbereich resources.
  4. Konfigurieren Sie für jeden Ressourcentyp für Verstöße, den Sie exportieren möchten, den gcs_violations-Benachrichtiger:

    notifier:
        resources:
            - resource: iam_policy_violations
                should_notify: true
                notifiers:
                    - name: gcs_violations
                        configuration:
                            data_format: csv
                            gcs_path: gs://forseti-violations-export/violations/
            - resource: firewall_rule_violations
                should_notify: true
                notifiers:
                    - name: gcs_violations
                        configuration:
                            data_format: csv
                            gcs_path: gs://forseti-violations-export/violations/
            - resource: cloudsql_acl_violations
                should_notify: true
                notifiers:
                    - name: gcs_violations
                        configuration:
                            data_format: csv
                            gcs_path: gs://forseti-violations-export/violations/
            - resource: bucket_acl_violations
                should_notify: true
                notifiers:
                    - name: gcs_violations
                        configuration:
                            data_format: csv
                            gcs_path: gs://forseti-violations-export/violations/
            - resource: config_validator_violations
                should_notify: true
                notifiers:
                    - name: gcs_violations
                        configuration:
                            data_format: csv
                            gcs_path: gs://forseti-violations-export/violations/
    

    Wichtige Parameter:

    • resource: Der Verstoßtyp, z.B. iam_policy_violations.
    • data_format: Legen Sie csv oder json fest.
    • gcs_path: Der Cloud Storage-Pfad (muss einen abschließenden Schrägstrich enthalten).
  5. Speichern Sie die Datei und laden Sie sie bei Bedarf wieder in GCS hoch.

  6. Konfiguration neu laden: bash forseti server configuration reload

  7. Bestätigen Sie: bash forseti server configuration get | grep gcs_violations

Google SecOps-Dienstkonto abrufen

Feed in Google SecOps konfigurieren

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen und wählen Sie Einzelnen Feed konfigurieren aus.
  3. Feedname: Geben Sie einen Namen ein (z.B. Forseti Violations).
  4. Quelltyp: Wählen Sie Google Cloud Storage V2 aus.
  5. Logtyp: Wählen Sie Forseti Open Source aus.
  6. Klicken Sie auf Dienstkonto abrufen.
  7. Kopieren Sie die eindeutige E‑Mail-Adresse des Dienstkontos (z.B. chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com).
  8. Klicken Sie auf Weiter.
  9. Geben Sie Eingabeparameter an:
    • Storage-Bucket-URL: gs://forseti-violations-export/violations/
    • Option zum Löschen der Quelle: Wählen Sie die Option aus, die Ihren Anforderungen entspricht (z.B. Nie für Tests).
  10. Klicken Sie auf Weiter, prüfen Sie die Konfiguration und klicken Sie auf Senden.

Dem Google SecOps-Dienstkonto IAM-Berechtigungen gewähren

Google Cloud Console verwenden

  1. Rufen Sie Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Namen Ihres Buckets und rufen Sie den Tab Berechtigungen auf.
  3. Klicken Sie auf Zugriff erlauben.
  4. Hauptkonten hinzufügen: Fügen Sie die E‑Mail-Adresse des Google SecOps-Dienstkontos ein.
  5. Rollen zuweisen: Wählen Sie Storage Object Viewer aus. Verwenden Sie Storage Object Admin, wenn Sie im Feed eine Löschoption ausgewählt haben.
  6. Klicken Sie auf Speichern.
  • gcloud-Befehlszeilentool verwenden

    gcloud storage buckets add-iam-policy-binding gs://forseti-violations-export \
        --member="serviceAccount:CHRONICLE_SERVICE_ACCOUNT_EMAIL" \
        --role="roles/storage.objectViewer"
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
data.resource_data.instanceGroupUrls about Zusammengeführt aus dem Array „instanceGroupUrls“.
data.resource_data.nodePools.*.statusMessage metadata.description Wert aus „nodePool.statusMessage“.
data.resource_type metadata.event_type Spezifische Typen für KMS/FW; andernfalls GENERIC_EVENT.
data.scanner_index_id metadata.product_log_id Wert direkt als String kopiert.
– metadata.product_name Auf FORSETI SECURITY festlegen.
– metadata.vendor_name Auf FORSETI festlegen.
data.resource_data.direction network.direction Auf INBOUND gesetzt, wenn die Richtung INGRESS ist.
data.resource_data.endpoint principal.ip Der Wert wurde direkt kopiert.
data.full_name, serviceAccount principal.user.userid Aus full_name oder serviceAccount extrahiert.
data.violation_type security_result.category Wird POLICY_VIOLATION oder ACL_VIOLATION zugeordnet.
data.rule_name security_result.rule_name Der Wert wurde direkt kopiert.
data.full_name target.asset.attribute.cloud.project.id Mit Grok aus full_name extrahiert.
data.resource_type target.resource.resource_type Entspricht einem bestimmten Typ basierend auf resource_type.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten