Raccogliere i log di Forseti Open Source

Versione parser: 2.0

Supportato in:

Questo documento spiega come importare i log open source di Forseti in Google Security Operations utilizzando Google Cloud Storage V2.

Forseti Security è una raccolta di strumenti open source basati sulla community progettati per migliorare la sicurezza degli ambienti Google Cloud Platform. Forseti acquisisce snapshot dell'inventario delle risorse Google Cloud, esegue la scansione per verificare la conformità del controllo dell'accesso e fornisce visibilità sui criteri Cloud IAM.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps.
  • Un progetto GCP con l'API Storage di Cloud Storage abilitata.
  • Autorizzazioni per creare e gestire bucket GCS e policy IAM.
  • Un deployment di Forseti Security esistente.
  • Accesso al file di configurazione del server Forseti (forseti_conf_server.yaml).

Crea un bucket Google Cloud Storage

Utilizzo della console Google Cloud

  1. Vai alla console Google Cloud.
  2. Seleziona il tuo progetto o creane uno nuovo.
  3. Nel menu di navigazione, vai a Cloud Storage > Bucket.
  4. Fai clic su Crea bucket.
  5. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    Assegna un nome al bucket Inserisci un nome univoco globale (ad es.forseti-violations-export).
    Tipo di località Scegli in base alle tue esigenze (regione singola, a due regioni, multiregionale)
    Località Seleziona la posizione (ad es.us-central1).
    Classe di archiviazione Standard (consigliato per i log ad accesso frequente)
    Controllo degli accessi Uniforme (opzione consigliata)
    Strumenti di protezione (Facoltativo) Abilita il controllo delle versioni degli oggetti o la policy di conservazione
  6. Fai clic su Crea.

Utilizzo dello strumento a riga di comando gcloud

  • In alternativa, crea un bucket utilizzando il comando gcloud:

    gcloud storage buckets create gs://forseti-violations-export \
        --location=us-central1 \
        --default-storage-class=STANDARD
    
  • Sostituisci forseti-violations-export con il nome del bucket univoco globale richiesto.

  • Sostituisci us-central1 con la regione che preferisci.

Configura Forseti Security per esportare le violazioni in GCS

Forseti Security utilizza una configurazione del sistema di notifica nel file forseti_conf_server.yaml per esportare le violazioni dello scanner in GCS.

  1. Connettiti alla VM server Forseti utilizzando SSH: bash gcloud compute ssh forseti-server-vm --project=YOUR_PROJECT_ID --zone=YOUR_ZONE
  2. Apri il file di configurazione per la modifica: bash sudo nano /home/ubuntu/forseti-security/configs/forseti_conf_server.yaml Se utilizzi la configurazione basata su GCS, scaricala prima: bash gsutil cp gs://YOUR_FORSETI_SERVER_BUCKET/configs/forseti_conf_server.yaml ~/forseti_conf_server.yaml
  3. Vai alla sezione notifier e individua la sottosezione resources.
  4. Per ogni tipo di risorsa di violazione che vuoi esportare, configura il notificatore gcs_violations:

    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/
    

    Parametri chiave:

    • resource: Il tipo di violazione (ad es. iam_policy_violations).
    • data_format: impostato su csv o json.
    • gcs_path: il percorso Cloud Storage (deve includere una barra finale).
  5. Salva il file e, se necessario, caricalo di nuovo su GCS.

  6. Ricarica la configurazione: bash forseti server configuration reload

  7. Verifica: bash forseti server configuration get | grep gcs_violations

Recuperare il account di servizio Google SecOps

Configura un feed in Google SecOps

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed e seleziona Configura un singolo feed.
  3. Nome feed: inserisci un nome (ad es. Forseti Violations).
  4. Tipo di origine: seleziona Google Cloud Storage V2.
  5. Tipo di log: seleziona Forseti Open Source.
  6. Fai clic su Ottieni service account.
  7. Copia l'indirizzo email univoco del account di servizio (ad es. chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com).
  8. Fai clic su Avanti.
  9. Specifica i parametri di input:
    • URL del bucket di archiviazione: gs://forseti-violations-export/violations/
    • Opzione di eliminazione delle fonti: seleziona l'opzione che preferisci (ad es. Mai per i test).
  10. Fai clic su Avanti, esamina la configurazione e fai clic su Invia.

Concedi le autorizzazioni IAM al account di servizio Google SecOps

Utilizzo della console Google Cloud

  1. Vai a Cloud Storage > Bucket.
  2. Fai clic sul nome del bucket e vai alla scheda Autorizzazioni.
  3. Fai clic su Concedi l'accesso.
  4. Aggiungi entità: incolla l'email del account di servizio Google SecOps.
  5. Assegna ruoli: seleziona Visualizzatore oggetti Storage. Utilizza Storage Object Admin se hai selezionato un'opzione di eliminazione nel feed.
  6. Fai clic su Salva.
  • Utilizzo dello strumento a riga di comando gcloud

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

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
data.resource_data.instanceGroupUrls about Unito dall'array di instanceGroupUrls.
data.resource_data.nodePools.*.statusMessage metadata.description Valore ottenuto da nodePool.statusMessage.
data.resource_type metadata.event_type Tipi specifici per KMS/FW; altrimenti GENERIC_EVENT.
data.scanner_index_id metadata.product_log_id Valore copiato direttamente come stringa.
N/D metadata.product_name Imposta FORSETI SECURITY.
N/D metadata.vendor_name Imposta su FORSETI.
data.resource_data.direction network.direction Imposta IN ENTRATA se la direzione è INGRESSO.
data.resource_data.endpoint principal.ip Valore copiato direttamente.
data.full_name, serviceAccount principal.user.userid Estratto da full_name o serviceAccount.
data.violation_type security_result.category Mappato su POLICY_VIOLATION o ACL_VIOLATION.
data.rule_name security_result.rule_name Valore copiato direttamente.
data.full_name target.asset.attribute.cloud.project.id Estratto da full_name utilizzando grok.
data.resource_type target.resource.resource_type Mappato a un tipo specifico in base a resource_type.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.