Raccogli i log di ForgeRock OpenAM

Supportato in:

Questo documento spiega come importare i log di ForgeRock OpenAM in Google Security Operations utilizzando l'agente Bindplane.

ForgeRock OpenAM è una soluzione di gestione dell'accesso che genera messaggi syslog per eventi di autenticazione, decisioni di controllo dell'accesso, attività della sessione e modifiche alla configurazione. Il parser estrae i campi dai log di controllo in formato JSON e li mappa al modello Unified Data Model (UDM).

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive oppure host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e il server ForgeRock OpenAM
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso amministratore alla console AM (ad esempio, amAdmin)

Recuperare il file di autenticazione importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato 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 dell'organizzazione.

Installa l'agente Bindplane

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

Installazione di Windows

  1. Apri 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:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/openam:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: OPENAM
            raw_log_field: body
    
    service:
        pipelines:
            logs/openam_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/openam
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • listen_address: Indirizzo IP e porta da ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • La porta 514 è la porta syslog standard (richiede l'accesso root su Linux; utilizza 1514 per l'accesso non root)
  • Configurazione dell'esportatore:

    • creds_file_path: percorso completo del file di autenticazione importazione:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID cliente copiato dalla console Google SecOps
    • endpoint: URL endpoint regionale:
      • Stati Uniti: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Per un elenco completo, vedi Endpoint regionali.

Salvare 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 individuare eventuali 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 Services:

      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 individuare eventuali errori:

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

Configura i gestori syslog per ForgeRock OpenAM

  1. Accedi alla console AM come amministratore (ad esempio, amAdmin).
  2. Per creare il gestore di eventi nella configurazione globale, vai a Configura > Servizi globali > Registrazione audit.
    • Per creare il gestore di eventi in un realm, vai a Realm > Nome realm > Servizi > Registrazione audit.
  3. Fai clic su Aggiungi una configurazione secondaria > Syslog.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome per il gestore di eventi (ad esempio, Syslog Event Handler).
    • Nome host del server: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta server: inserisci il numero di porta dell'agente Bindplane (ad esempio, 514 per UDP).
    • Protocollo di trasporto: seleziona UDP.
    • Timeout connessione: inserisci il numero di secondi per la connessione (ad esempio, 120).
    • (Facoltativo) Attiva l'opzione Buffering.
  5. Fai clic su Crea.
  6. Nella scheda Configurazione gestore generale, seleziona Attivato per attivare il gestore di eventi.
  7. Seleziona gli argomenti per gli audit log:
    • Accesso
    • Attività
    • Autenticazione
    • Configurazione
  8. Fai clic su Salva.
  9. Nella scheda Configurazione Syslog, fornisci i seguenti dettagli di configurazione:
    • Nome host del server: inserisci l'indirizzo IP di Bindplane.
    • Porta server: inserisci il numero di porta di Bindplane.
    • Timeout connessione: inserisci il numero di secondi per la connessione (ad esempio, 120).
    • Protocollo di trasporto: seleziona UDP.
    • Facility (Struttura): seleziona Local0.
    • Tutti gli argomenti impostano la gravità su INFORMATIVA.
  10. Fai clic su Salva.
  11. Nella scheda Buffering, seleziona Buffering abilitato per attivarlo.
  12. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
client.ip principal.ip L'indirizzo IP del client che effettua la richiesta.
client.ip principal.asset.ip L'indirizzo IP dell'asset client che effettua la richiesta.
client.port principal.port La porta utilizzata dal client che effettua la richiesta.
entries[0].info.authLevel principal.resource.resource_subtype Il livello di autenticazione associato all'evento. Prefisso "authLevel:".
entries[0].info.displayName security_result.description Un nome descrittivo per il nodo nell'albero di autenticazione.
entries[0].info.ipAddress principal.asset.ip L'indirizzo IP associato al soggetto principale nell'evento.
entries[0].info.ipAddress principal.ip L'indirizzo IP associato al soggetto principale nell'evento.
entries[0].info.nodeId principal.resource.id L'identificatore univoco del nodo nell'albero di autenticazione. Prefisso "nodeId:".
entries[0].info.nodeOutcome principal.resource.attribute.labels.value Il risultato del nodo nell'albero di autenticazione.
entries[0].info.nodeType principal.resource.type Il tipo di nodo nell'albero di autenticazione. Con il prefisso "nodeType:".
entries[0].info.treeName principal.resource.name Il nome dell'albero di autenticazione. Prefisso "treeName:".
eventName metadata.product_event_type Il nome dell'evento non elaborato dai log di OpenAM.
http.request.headers.host[0] target.asset.hostname Il nome host del server di destinazione, estratto dall'intestazione host.
http.request.headers.host[0] target.hostname Il nome host del server di destinazione, estratto dall'intestazione host.
http.request.headers.user-agent[0] network.http.user_agent Lo user agent della richiesta HTTP.
http.request.method network.http.method Il metodo HTTP utilizzato nella richiesta.
http.request.path target.url Il percorso dell'URL della richiesta HTTP.
info.failureReason security_result.summary Il motivo di un errore di autenticazione. Codificato come "SSO". Determinato dalla logica in base a eventName e ad altri campi. Può essere GENERIC_EVENT, USER_LOGIN, USER_LOGOUT, NETWORK_HTTP o STATUS_UPDATE. Codificato in modo permanente su "OPENAM". Codificato in modo permanente su "OpenAM". Codificato in modo permanente su "ForgeRock".
principal target.user.userid L'ID utente coinvolto nell'evento, estratto dai campi userId, principal o runAs.
result security_result.action_details Il risultato dell'evento (ad es. "SUCCESSFUL", "FAILED").
response.detail.reason security_result.summary Il motivo di un errore in un evento risultato dell'accesso.
response.status security_result.action_details Lo stato della risposta in un evento di risultato dell'accesso.
runAs target.user.userid L'ID utente coinvolto nell'evento, estratto dai campi userId, principal o runAs.
security_result.action security_result.action L'azione intrapresa a seguito dell'evento di sicurezza (ad es. "CONSENTI", "BLOCCA").
server.ip target.asset.ip L'indirizzo IP del server di destinazione.
server.ip target.ip L'indirizzo IP del server di destinazione.
server.port target.port La porta del server di destinazione.
timestamp metadata.event_timestamp Il timestamp dell'evento.
trackingIds metadata.product_log_id L'ID monitoraggio associato all'evento.
transactionId metadata.product_deployment_id L'ID transazione associato all'evento.
userId target.user.userid L'ID utente coinvolto nell'evento, estratto dai campi userId, principal o runAs.
userId target.user.group_identifiers Gli identificatori del gruppo associati all'utente.
am_group target.user.group_identifiers Gli identificatori del gruppo associati all'utente.
am_user target.user.email_addresses L'indirizzo email dell'utente, se presente nel campo am_user.
loginID[0] target.user.userid L'ID accesso utilizzato nell'evento.
loginID[0] target.user.email_addresses L'indirizzo email utilizzato per l'accesso, se presente nel campo loginID.
hostip intermediary.hostname Il nome host di un dispositivo intermedio.
hostip intermediary.ip L'indirizzo IP di un dispositivo intermediario.
src_ip principal.asset.ip L'indirizzo IP di origine.
src_ip principal.ip L'indirizzo IP di origine.
desc metadata.description La descrizione dell'evento.
payload metadata.description Il payload dell'evento.

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