Raccogli i log DLP di Forcepoint

Parser Version: 10.0

Supportata in:

Questo documento spiega come importare i log di Forcepoint DLP in Google Security Operations utilizzando Bindplane.

Forcepoint DLP (Data Loss Prevention) è una soluzione di protezione dei dati che identifica, monitora e protegge i dati sensibili negli ambienti aziendali. Rileva e impedisce i trasferimenti di dati non autorizzati tramite email, web, endpoint e applicazioni cloud utilizzando criteri sensibili al contenuto e machine learning. Il parser estrae i campi dai log formattati CEF di Forcepoint DLP. Poi, mappa questi valori al modello UDM (Unified Data Model). Imposta anche i valori predefiniti dei metadati per l'origine e il tipo di evento.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive oppure host Linux con systemd
  • Se l'esecuzione avviene dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso con privilegi alla console web di Forcepoint Security Manager

Recupera le credenziali Google SecOps per l'agente Bindplane

Per autenticare l'agente Bindplane in Google SecOps, scegli uno dei seguenti metodi:

  • Nuovi deployment: utilizza l'API Chronicle (opzione 1).
  • Deployment legacy: continua a utilizzare il file di autenticazione dell'acquisizione (Opzione 2) fino alla dismissione dell'API Ingestion il 20 luglio 2027.
  1. Accedi alla consoleGoogle Cloud e seleziona il progetto Google Cloud collegato alla tua istanza Google SecOps.
  2. Vai a IAM e amministrazione > Service account.
  3. Fai clic su Crea service account.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome service account: inserisci un nome per l'account (ad esempio, bindplane-ingest).
    • Descrizione del service account: inserisci una descrizione (ad esempio, Bindplane agent log ingestion).
  5. Fai clic su Crea e continua.
  6. Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
  7. Fai clic su Continua, quindi su Fine.
  8. Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
  9. Fai clic su Aggiungi chiave > Crea nuova chiave.
  10. Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul tuo computer.
  11. Salva il file della chiave come ingestion-auth.json nella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.json su Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json su Windows) o aggiorna creds_file_path in config.yaml in modo che corrisponda al percorso in cui lo salvi.
  12. Vai a IAM e amministrazione > Impostazioni e copia il Numero progetto. Ti servirà per la configurazione dell'esportatore.

Opzione 2: scarica il file di autenticazione dell'acquisizione (legacy)

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli organizzazione.

Installa l'agente Bindplane

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di finestre

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sc query observiq-otel-collector
    

Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

Installazione di Linux

  1. Apri un terminale con privilegi root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sudo systemctl status observiq-otel-collector
    

Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.

Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps

Individua il file di configurazione

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifica il file di configurazione

  • Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: 'FORCEPOINT_DLP'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - tcplog
          exporters:
            - chronicle/chronicle_w_labels
    

Parametri di configurazione

  • Sostituisci i seguenti segnaposto:

    • Configurazione del ricevitore:

      • tcplog: utilizza udplog per il syslog UDP o tcplog per il syslog TCP
      • 0.0.0.0: indirizzo IP su cui ascoltare (0.0.0.0 per ascoltare su tutte le interfacce)
      • 514: Numero di porta su cui ascoltare (porta syslog standard)
    • Configurazione dell'esportatore:

      • creds_file_path: percorso completo del file della chiave JSON del account di servizio (opzione 1):
        • Linux: /opt/observiq-otel-collector/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID: l'ID cliente della sezione Recupera l'ID cliente
      • location: sostituisci <LOCATION> con la regione della tua istanza Google SecOps (ad esempio us, europe o asia-southeast1). L'esportatore antepone chronicle.googleapis.com a questo valore. Per l'elenco completo, consulta Endpoint regionali.
      • project: sostituisci <PROJECT_NUMBER> con il numero di progetto in IAM e amministrazione > Impostazioni.
      • endpoint: mantieni l'impostazione chronicle.googleapis.com.
      • log_type: tipo di log esattamente come appare in Chronicle (FORCEPOINT_DLP)

Esportatore API di importazione legacy

  • Se utilizzi il file di autenticazione dell'importazione dell'opzione 2, sostituisci il blocco exporters con il seguente. Imposta creds_file_path sul percorso del file di autenticazione dell'importazione e, se la tua istanza si trova al di fuori degli Stati Uniti, sostituisci malachiteingestion-pa.googleapis.com con l'endpoint regionale (ad esempio, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'FORCEPOINT_DLP'
        raw_log_field: body
        ingestion_labels:
    

Salva il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.
    • Windows: fai clic su File > Salva.

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica che il servizio sia in esecuzione:

        sudo systemctl status observiq-otel-collector
      
    2. Controlla i log per verificare la presenza di errori:

        sudo journalctl -u observiq-otel-collector -f
      
  • Per riavviare l'agente Bindplane in Windows, scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console Servizi:

      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.

      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per verificare la presenza di errori:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configura l'inoltro di syslog DLP Forcepoint

  1. Accedi alla console web di Forcepoint Security Manager.
  2. Vai a Impostazioni > Generale > Integrazione SIEM.
  3. Seleziona Attiva l'integrazione SIEM.
  4. Fornisci i seguenti dettagli di configurazione:
    • Indirizzo IP del server Syslog: inserisci l'indirizzo IP dell'host dell'agente Bindplane.
    • Porta: inserisci 514.
    • Protocollo: seleziona TCP.
    • Formato: seleziona CEF (Common Event Format).
    • TLS Enabled (TLS abilitato): deseleziona (a meno che non utilizzi TLS).
  5. Nella sezione Dati sugli incidenti, seleziona i dati da includere nei messaggi syslog:
    • Azione eseguita
    • Gravità
    • Nome della policy
    • Informazioni sulla fonte
    • Informazioni sulla destinazione
    • Dettagli dei contenuti
  6. Fai clic su OK per salvare.
  7. Vai a Principale > Gestione criteri > Norme DLP.
  8. Per ogni policy che deve inoltrare eventi, verifica che la notifica syslog sia abilitata:
    1. Seleziona la policy.
    2. Vai alla scheda Piano d'azione.
    3. Verifica che il piano d'azione includa Invia a SIEM.
  9. Fai clic su Esegui il deployment per applicare le modifiche alla policy.
  10. Verifica che i messaggi syslog vengano inviati controllando i log dell'agente Bindplane.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
act security_result.description Se actionPerformed è vuoto, il valore di act viene assegnato a security_result.description.
actionID metadata.product_log_id Il valore di actionID viene assegnato a metadata.product_log_id.
actionPerformed security_result.description Il valore di actionPerformed viene assegnato a security_result.description.
amministratore principal.user.userid Il valore di administrator viene assegnato a principal.user.userid.
analyzedBy additional.fields.key La stringa "analyzedBy" viene assegnata ad additional.fields.key.
analyzedBy additional.fields.value.string_value Il valore di analyzedBy viene assegnato a additional.fields.value.string_value.
gatto security_result.category_details I valori di cat vengono uniti nel campo security_result.category_details come elenco.
destinationHosts target.hostname Il valore di destinationHosts viene assegnato a target.hostname.
destinationHosts target.asset.hostname Il valore di destinationHosts viene assegnato a target.asset.hostname.
dettagli security_result.description Se sia actionPerformed che act sono vuoti, il valore di details viene assegnato a security_result.description.
duser target.user.userid Il valore di duser viene utilizzato per compilare target.user.userid. Più valori separati da "; " vengono suddivisi e assegnati come indirizzi email singoli se corrispondono all'espressione regolare dell'email, altrimenti vengono trattati come ID utente.
eventId metadata.product_log_id Se actionID è vuoto, il valore di eventId viene assegnato a metadata.product_log_id.
fname target.file.full_path Il valore di fname viene assegnato a target.file.full_path.
logTime metadata.event_timestamp Il valore di logTime viene analizzato e utilizzato per compilare metadata.event_timestamp.
loginName principal.user.user_display_name Il valore di loginName viene assegnato a principal.user.user_display_name.
msg metadata.description Il valore di msg viene assegnato a metadata.description.
productVersion additional.fields.key La stringa "productVersion" è assegnata a additional.fields.key.
productVersion additional.fields.value.string_value Il valore di productVersion viene assegnato ad additional.fields.value.string_value.
ruolo principal.user.attribute.roles.name Il valore del ruolo viene assegnato a principal.user.attribute.roles.name.
severityType security_result.severity Il valore di severityType è mappato a security_result.severity. "high" corrisponde ad "ALTA", "med" corrisponde a "MEDIA" e "low" corrisponde a "BASSA" (senza distinzione tra maiuscole e minuscole).
sourceHost principal.hostname Il valore di sourceHost viene assegnato a principal.hostname.
sourceHost principal.asset.hostname Il valore di sourceHost viene assegnato a principal.asset.hostname.
sourceIp principal.ip Il valore di sourceIp viene aggiunto al campo principal.ip.
sourceIp principal.asset.ip Il valore di sourceIp viene aggiunto al campo principal.asset.ip.
sourceServiceName principal.application Il valore di sourceServiceName viene assegnato a principal.application.
suser principal.user.userid Se administrator è vuoto, il valore di suser viene assegnato a principal.user.userid.
timestamp metadata.event_timestamp Il valore del timestamp viene utilizzato per popolare metadata.event_timestamp.
argomento security_result.rule_name Il valore dell'argomento viene assegnato a security_result.rule_name dopo la rimozione delle virgole. Codificato in modo permanente su "FORCEPOINT_DLP". Codificato su "Forcepoint". Estratto dal messaggio CEF. Può essere "Forcepoint DLP" o "Forcepoint DLP Audit". Estratto dal messaggio CEF. Concatenazione di device_event_class_id ed event_name, formattata come "[device_event_class_id] - event_name". Inizializzato su "GENERIC_EVENT". Modificato in "USER_UNCATEGORIZED" se is_principal_user_present è "true".
destinationDnsDomain event.idm.read_only_udm.target.hostname e event.idm.read_only_udm.target.asset.hostname Mappato dal log delle modifiche
inter_host intermediary.hostname Mappato dal log delle modifiche
violationTriggers.VZ CPNI" and "violationTriggers.Controlled Unclassified Information: Portion Marking additional.fields Mappato dal log delle modifiche
act security_result.action_details Mappato dal log delle modifiche
caseDescription metadata.description Mappato dal log delle modifiche
eventIDs metadata.product_event_type Mappato dal log delle modifiche
sourceServiceName network.application_protocol Mappato dal log delle modifiche
productVersion metadata.product_version Mappato dal log delle modifiche
riskScore additional.fields Mappato dal log delle modifiche
productVersion" and "analyzedBy additional.fields Mappato dal log delle modifiche
timeStamp metadata.event_timestamp Mappato dal log delle modifiche

Log delle modifiche

Visualizza il log delle modifiche per questo parser

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