Raccogliere i log di ForgeRock OpenAM
Questo documento spiega come importare i log di ForgeRock OpenAM in Google Security Operations utilizzando Bindplane. Il parser estrae i campi dai log nei formati CSV, Syslog + KV o JSON, li normalizza e li mappa al Unified Data Model (UDM). Gestisce vari tipi di eventi OpenAM, tra cui accesso/disconnessione, risultati di accesso e log generali, arricchendo i dati con informazioni su utenti, gruppi e reti ed eseguendo trasformazioni specifiche per diversi formati di log e tipi di eventi. Il parser dà la priorità all'analisi JSON, poi esegue il fallback a Syslog+KV e infine a CSV, eliminando i log dei formati non supportati.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps
- Windows 2016 o versioni successive oppure un host Linux con
systemd
- Se l'esecuzione avviene tramite un proxy, le porte del firewall sono aperte
- Accesso privilegiato a Forgerock OpenAM (ad esempio amAdmin)
Recuperare il file di autenticazione importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- 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
- Apri il prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installazione di Linux
- Apri un terminale con privilegi di root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione, consulta la guida all'installazione.
Configura l'agente Bindplane per importare Syslog e inviarli a Google SecOps
- Accedi al file di configurazione:
- Individua il file
config.yaml
. In genere, si trova nella directory/etc/bindplane-agent/
su Linux o nella directory di installazione su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano
,vi
o Blocco note).
- Individua il file
Modifica il file
config.yaml
come segue:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: 'OPENAM' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.
Sostituisci
<customer_id>
con l'ID cliente effettivo.Aggiorna
/path/to/ingestion-authentication-file.json
al percorso in cui è stato salvato il file di autenticazione nella sezione Recupera il file di autenticazione per l'importazione di Google SecOps.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart bindplane-agent
Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurare l'audit logging in Forgerock OpenAM
- Accedi alla console AM.
- Vai a Configura > Servizi globali > Registrazione audit.
- Attiva l'audit logging per avviare la funzionalità.
- Negli elenchi Filtri lista consentita campi e Filtri lista bloccata campi, inserisci i valori da includere (lista consentita) o escludere (lista bloccata) dai log degli eventi di controllo.
- Fai clic su Salva.
Configura i gestori Syslog per Forgerock OpenAM
- Accedi alla console AM come amministratore, ad esempio amAdmin.
- 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 del realm > Servizi > Registrazione dei controlli.
- Fai clic su Aggiungi una configurazione secondaria > Syslog.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci un nome per il gestore di eventi (ad esempio Google SecOps
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.
- Nome: inserisci un nome per il gestore di eventi (ad esempio Google SecOps
- Fai clic su Crea.
- Dopo aver creato il gestore eventi di controllo syslog, vengono visualizzate diverse schede di configurazione.
- Nella scheda Configurazione gestore generale, seleziona Attivato per attivare il gestore eventi, se disattivato.
- Seleziona gli argomenti per i log di controllo:
- Accesso
- Attività
- Autenticazione
- Configurazione
- Fai clic su Salva.
- Nella scheda Configurazione Syslog, fornisci i seguenti dettagli di configurazione:
- Nome host del server: inserisci l'indirizzo IP dell'agente Bindplane.
- Porta del server: inserisci il numero di porta dell'agente Bindplane.
- Timeout connessione: inserisci il numero di secondi per la connessione (ad esempio,
120
). - Protocollo di trasporto: seleziona UDP.
- Struttura: seleziona Local0.
- Tutti gli argomenti impostano la gravità su INFORMATIVA.
- Fai clic su Salva.
Nella scheda Buffering, seleziona Buffering attivato per attivarlo.
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 principal nell'evento. |
entries[0].info.ipAddress |
principal.ip |
L'indirizzo IP associato al principal 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 in modo permanente su "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 come "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 di 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. "ALLOW", "BLOCK"). |
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.