Raccogli i log open source di Forseti

Versione parser: 2.0

Supportata in:

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

Forseti Security è una raccolta di strumenti open source basata sulla community, progettata per migliorare la sicurezza degli ambienti Google Cloud Platform. Forseti acquisisce snapshot dell'inventario delle risorse GCP, esegue scansioni per la conformità controllo dell'accesso e fornisce visibilità sulle policy 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 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 globalmente univoco (ad es. forseti-violations-export)
    Tipo di località Scegli in base alle tue esigenze (Regione, a due regioni, multiregionale)
    Località Seleziona la località (ad es. us-central1)
    Classe di archiviazione Standard (consigliato per i log ad accesso frequente)
    Controllo degli accessi Uniforme (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 di notifica nel file forseti_conf_server.yaml per esportare le violazioni dello scanner in GCS.

  1. Connettiti alla VM del 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 con violazioni che vuoi esportare, configura l'agente di notifica 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 di 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

Recupera il account di servizio Google SecOps

Configura un feed in Google SecOps

  1. Vai a Impostazioni > Gestione dei dati > Feed. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Feed.
  2. Fai clic su Aggiungi nuovo feed e seleziona Configura un singolo feed.
  3. Nome del 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 bucket di archiviazione: gs://forseti-violations-export/violations/
    • Opzione di eliminazione dell'origine: 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'indirizzo 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 Impostalo su FORSETI SECURITY.
N/D metadata.vendor_name Impostalo su FORSETI.
data.resource_data.direction network.direction Imposta su INBOUND se la direzione è INGRESS.
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 a 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.