Raccogli i log di IBM Security Access Manager

Supportato in:

Questo documento spiega come importare i log di IBM Security Access Manager in Google Security Operations utilizzando Bindplane.

IBM Verify Identity Access (in precedenza IBM Security Access Manager / IBM Security Verify Access) è una soluzione di sicurezza basata su appliance di rete che fornisce servizi di gestione dell'accesso, sicurezza web e autenticazione. Applica le norme di sicurezza per le risorse basate sul web utilizzando un'architettura proxy inverso (WebSEAL) e genera log di controllo, autenticazione, autorizzazione e sistema fondamentali per il monitoraggio della sicurezza.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive o host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e l'appliance IBM Verify Identity Access
  • Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
  • Accesso privilegiato all'interfaccia di gestione locale dell'accesso all'identità di IBM Verify (LMI)

Recuperare il file di autenticazione dell'importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione. 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 /etc/bindplane-agent/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/chronicle_w_labels:
            compression: gzip
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: 'IBM_SAM'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del destinatario:

    • listen_address: L'indirizzo IP e la porta su cui l'agente Bindplane è in ascolto dei messaggi syslog in entrata. Utilizza 0.0.0.0:514 per ascoltare su tutte le interfacce sulla porta 514. Modifica la porta se 514 è già in uso o se preferisci una porta non privilegiata come 1514.
    • Per utilizzare TCP anziché UDP, sostituisci udplog con tcplog sia nella sezione receivers che nella sezione pipelines.
  • Configurazione dell'esportatore:

    • creds_file_path: il percorso completo del file di autenticazione dell'acquisizione scaricato in precedenza:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: l'ID cliente Google SecOps copiato in precedenza.
    • endpoint: URL dell'endpoint regionale:
      • Stati Uniti: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Per l'elenco completo, consulta Endpoint regionali.
    • log_type: deve essere impostato su IBM_SAM.

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:

  1. Esegui questo comando:

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

    sudo systemctl status observiq-otel-collector
    
  3. Controlla i log per individuare eventuali errori:

    sudo journalctl -u observiq-otel-collector -f
    

Per riavviare l'agente Bindplane in Windows:

  1. Scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console dei 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.
  2. Verifica che il servizio sia in esecuzione:

    sc query observiq-otel-collector
    
  3. Controlla i log per individuare eventuali errori:

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

Configura l'inoltro di syslog in IBM Verify Identity Access

Aggiungere una definizione del server syslog remoto

  1. Accedi all'interfaccia di gestione locale (LMI) di IBM Verify Identity Access.
  2. Vai a Monitora > Log > Inoltro Syslog remoto.
  3. Nella pagina Inoltro syslog remoto, fai clic su Aggiungi.
  4. Fornisci i seguenti dettagli di configurazione:
    • Server: inserisci l'indirizzo IP o il nome host dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta: inserisci il numero di porta su cui è in ascolto l'agente Bindplane (ad esempio, 514).
    • Protocollo: seleziona UDP in modo che corrisponda al ricevitore udplog nella configurazione dell'agente Bindplane. Se hai configurato l'agente Bindplane con tcplog, seleziona TCP.
    • Formato: seleziona il formato del messaggio syslog:
      • Protocollo BSD Syslog: formato RFC 3164 (consigliato per la massima compatibilità).
      • Protocollo Syslog: formato RFC 5424.
    • Debug: lascia la casella deselezionata, a meno che non sia necessaria la risoluzione dei problemi. Se questa opzione è abilitata, vengono scritte informazioni di debug aggiuntive nel file di log rsyslog_forwarder accessibile dalla pagina Visualizzazione dei file di log dell'applicazione.
  5. Fai clic su Salva.

Configura le origini log per il server syslog remoto

  1. Nella pagina Forwarding Syslog remoto, seleziona la voce del server Syslog remoto che hai creato.
  2. Fai clic su Origini.
  3. Fai clic su Aggiungi per aggiungere un'origine log.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: seleziona un'origine log dall'elenco a discesa. Le origini log disponibili sono:
      • Messaggi LMI: messaggi dell'applicazione LMI
      • LMI Trace: log di traccia e di debug LMI
      • Accesso LMI: log di accesso HTTP LMI
      • Messaggi di runtime: messaggi dell'ambiente di runtime
      • Runtime Trace: log di traccia e debug del runtime
      • Controllo runtime: eventi di controllo runtime (autenticazione, autorizzazione)
      • Log di runtime: log delle applicazioni di runtime
      • WebSEAL: log del proxy inverso web (richiede la selezione di un nome istanza e di un file di log)
      • Authorization Server (Server di autorizzazione): log del server di autorizzazione (richiede la selezione di un Nome istanza e di un File di log)
      • Policy Server: log del server delle policy (richiede la selezione di un file di log)
      • Embedded User Registry (Registro utenti incorporato) - Embedded LDAP user registry logs (Log del registro utenti LDAP incorporato)
      • Cluster: log di gestione dei cluster
      • Sistema: log a livello di sistema operativo
      • DSC: log della cache di sessione distribuita
      • FELB: log del bilanciatore del carico frontend
    • Nome istanza: questo campo è disponibile solo quando è selezionato WebSEAL o Authorization Server nel campo Nome. Seleziona il nome dell'istanza dall'elenco a discesa (ad esempio, default).
    • File di log: questo campo è disponibile quando nel campo Nome è selezionato WebSEAL, Authorization Server, Policy Server o Runtime Logs. Seleziona il file di log specifico dall'elenco a discesa.
    • Tag: inserisci un nome tag univoco per questa origine log. Il tag non deve contenere spazi (ad esempio, WebSEAL_Audit o RuntimeAudit).
    • Facility: seleziona una categoria di facility syslog per le voci di log inoltrate (ad esempio, local0, local1, auth o user).
    • Gravità: seleziona Informativa per acquisire tutte le voci di log.
  5. Fai clic su OK.
  6. Per aggiungere altre origini log, ripeti i passaggi da 3 a 5 per ogni origine che vuoi inoltrare.

  7. Fai clic su Salva per applicare la configurazione dell'origine log.

  8. Per attivare le modifiche, vai nella parte superiore della pagina e fai clic su Esegui il deployment delle modifiche in attesa. La configurazione dell'inoltro di syslog non è attiva finché non viene implementata.

Tabella di mappatura UDM

Campo log mappatura UDM Logica
sha256_value additional.fields Unito alla mappa {key: "sha256_value", value: {string_value: sha256_value}} e alla mappa {key: "connection_type", value: {string_value: connection_type}}
connection_type additional.fields
dvc_ip intermediary.hostname Valore copiato direttamente se dvc_ip non è un IP valido
dvc_ip intermediary.ip Imposta su dvc_ip se è un IP valido; unisci gli IP aggiuntivi da ip_address che sono validi, non uguali a src_ip o dst_ip, non vuoti, non "-"
ip_address intermediary.ip
ts metadata.collected_timestamp Analizzato da ts2, se presente, utilizzando AAAA-MM-GGTHH:mm:ss, altrimenti da ts utilizzando ISO8601, MMM gg HH:mm:ss, MMM g HH:mm:ss
ts2 metadata.collected_timestamp
descrizione metadata.description Valore copiato direttamente
timestamp metadata.event_timestamp Analizzato utilizzando i formati di data gg/MMM/aaaa:HH:mm:ss Z o aaaa-MM-gg-HH:mm:ss.SSSZZI
src_ip metadata.event_type Imposta su "NETWORK_HTTP" se sono presenti principal (src_ip o src_host) e target (dst_ip o target_hostname) e http (method o response_code), "NETWORK_CONNECTION" se sono presenti principal e target, "STATUS_UPDATE" se è presente principal, altrimenti "GENERIC_EVENT"
src_host metadata.event_type
dst_ip metadata.event_type
target_hostname metadata.event_type
metodo metadata.event_type
response_code metadata.event_type
product_event_type metadata.product_event_type Valore copiato direttamente
metadata.product_name metadata.product_name Impostato su "IBM_SAM"
metadata.vendor_name metadata.vendor_name Impostato su "IBM"
proto network.application_protocol Valore copiato direttamente se in HTTP, HTTPS
versione network.application_protocol_version Valore copiato direttamente
metodo network.http.method Valore di method_value se non è vuoto, altrimenti method
method_value network.http.method
response_code network.http.response_code Convertito in numero intero
ip_protocol_value network.ip_protocol Valore copiato direttamente se in TCP, UDP, ICMP
rcv_bytes network.received_bytes Convertito in uinteger
sent_bytes network.sent_bytes Convertito in uinteger
request_id network.session_id Valore copiato direttamente
src_application principal.application Valore copiato direttamente
src_host principal.asset.hostname Valore copiato direttamente
src_ip principal.asset.ip Valore copiato direttamente se non è vuoto, spazio, null, N/A, -
file_name principal.file.full_path Valore copiato direttamente
src_host principal.hostname Valore copiato direttamente
src_ip principal.ip Valore copiato direttamente se non è vuoto, spazio, null, N/A, -
src_port principal.port Convertito in numero intero
pid principal.process.pid Valore copiato direttamente
src_resource principal.resource.name Valore copiato direttamente
user_name principal.user.userid Valore copiato direttamente se non non autenticato o vuoto
descrizione security_result.action Imposta su "BLOCK" se la descrizione contiene "could not establish a secure connection" (impossibile stabilire una connessione sicura) o "could not be determined" (non è stato possibile determinare) o "have expired" (sono scaduti)
gravità security_result.severity Valore copiato direttamente, con AVVISO mappato su MEDIO
user_name security_result.summary Impostato su "unauthenticated" se user_name == "unauthenticated"
target_hostname target.asset.hostname Valore copiato direttamente
dst_ip target.asset.ip Valore copiato direttamente se non è vuoto, spazio, null, N/A, -
target_hostname target.hostname Valore copiato direttamente
dst_ip target.ip Valore copiato direttamente se non è vuoto, spazio, null, N/A, -
url target.url Concatenato da URL e URL1
url1 target.url
ip_protocol_value event.idm.read_only_udm.network.ip_protocol Mappato dal log delle modifiche
method_value event.idm.read_only_udm.network.http.method Mappato dal log delle modifiche
sha256_value event.idm.read_only_udm.additional.fields 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.