Raccogliere i log della piattaforma Ribbon Analytics

Supportato in:

Questo documento spiega come importare i log della piattaforma Ribbon Analytics in Google Security Operations utilizzando l'agente Bindplane.

Ribbon Analytics Platform è una piattaforma di analisi di rete e session border controller per il monitoraggio delle comunicazioni vocali e di dati. Genera messaggi syslog per i record dettagliati delle chiamate, gli eventi di sessione e le informazioni sullo stato del sistema.

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 la piattaforma Ribbon Analytics
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso con privilegi all'interfaccia di gestione della piattaforma Ribbon Analytics

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.
  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/ribbon_analytics:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: RIBBON_ANALYTICS_PLATFORM
            raw_log_field: body
    
    service:
        pipelines:
            logs/ribbon_analytics_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/ribbon_analytics
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del destinatario:

    • 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 dell'acquisizione:
      • 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 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.

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 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 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.
      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 l'inoltro di syslog della piattaforma di analisi Ribbon

  1. Accedi all'interfaccia di gestione di Ribbon.
  2. Vai a Impostazioni > Server di log remoti.
  3. Aggiungi un nuovo server di log remoto con la seguente configurazione:
    • Host: inserisci l'indirizzo IP dell'host dell'agente Bindplane.
    • Porta: inserisci 514.
    • Protocollo: seleziona UDP.
  4. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
type_name about Mappato: SYSCALL → about
type_syscall_props.AUID about.user.user_display_name Mappato direttamente
type_syscall_props.auid about.user.userid Mappato direttamente
additional_delay_data additional.fields Unita
additional_delays_data additional.fields Unita
additional_dns_data additional.fields Unita
additional_field additional.fields Unita
additional_relay_data additional.fields Unita
auth_realm_field additional.fields Unita
log_details_label additional.fields Unita
_mechanism extensions.auth.mechanism Unita
audit_message extensions.auth.type Mappato: `type=(SYSCALL/LOGIN/USER_LOGIN/USER_CMD/USER_ACCT/USER_ROLE_CHANGE/USERSTART/USER…
msg2 extensions.auth.type Mappato: login failure → MACHINE
type_name extensions.auth.type Mappato: USER_LOGIN → MACHINE, `"LOGIN", "USER_START", "USER_AUTH", "CRED_ACQ", "CRED_REF…
dvc intermediary.hostname Mappato direttamente
dvc intermediary.ip Unita
description metadata.description Mappato direttamente
error_message metadata.description Mappato direttamente
msg2 metadata.description Mappato direttamente
event_timestamp metadata.event_timestamp Analizzato come UNIX
timestamp metadata.event_timestamp Analizzato come MMM d HH:mm:ss
event_type metadata.event_type Mappato: GENERIC_EVENT → STATUS_UPDATE
has_principal metadata.event_type Mappato: true → STATUS_UPDATE
msg2 metadata.event_type Mappato: HTTP → NETWORK_HTTP, login failure → USER_LOGIN
target_user_present metadata.event_type Mappato: true → USER_UNCATEGORIZED
type_name metadata.event_type Mappato: SYSCALL → USER_UNCATEGORIZED
applica metadata.product_event_type Mappato direttamente
audit_message metadata.product_event_type Valori mappati (6 in totale, ad es. pam_krb5.*authentication fails for → PAM_KRB5_AUTH_ERROR, `…
eventType metadata.product_event_type Mappato direttamente
p_event_type metadata.product_event_type Mappato direttamente
type metadata.product_event_type Mappato direttamente
type_name metadata.product_event_type Mappato direttamente
jsonPayload._AUDIT_ID metadata.product_log_id Mappato direttamente
product_log_id metadata.product_log_id Mappato direttamente
audit_message network.application_protocol Mappato: type=(CRYPTO_SESSION/CRYPTO_KEY_USER) → SSH
auth network.application_protocol Mappato: ssh → SSH
message network.application_protocol Mappato: ssh/ssh2 → SSH
tty network.application_protocol Mappato: ssh → SSH
audit_message network.direction Mappato: type=(CRYPTO_SESSION/CRYPTO_KEY_USER) → OUTBOUND, `type=(CRYPTO_SESSION/CRYPTO_K…
mailid network.email.mail_id Mappato direttamente
to_email network.email.to Mappato: ^.+@.+$ → to_email
response_code network.http.response_code Mappato direttamente
audit_message network.ip_protocol Mappato: type=(CRYPTO_SESSION/CRYPTO_KEY_USER) → TCP
bytes_sent network.sent_bytes Mappato direttamente
type_crypto_props.ksize network.sent_bytes Rinominate/mappate
jsonPayload._AUDIT_SESSION network.session_id Mappato direttamente
sessionid network.session_id Mappato direttamente
type_anom_props.ses network.session_id Rinominate/mappate
type_syscall_props.ses network.session_id Mappato direttamente
type_crypto_props.cipher network.tls.cipher Mappato direttamente
type_crypto_props.pfs network.tls.curve Mappato direttamente
applica principal.application Mappato direttamente
jsonPayload._COMM principal.application Mappato direttamente
type_anom_props.comm principal.application Mappato direttamente
type_syscall_props.comm principal.application Mappato direttamente
type_syscall_props.terminal principal.application Mappato direttamente
%{rhost} principal.asset.hostname Unita
rhost principal.asset.hostname Mappato quando kvdata != ``
princi_ip principal.asset.ip Unita
rhost principal.asset.ip Unita
srcIp principal.asset.ip Mappato: `^(?:(25[0-5]/2[0-4][0-9]/1[0-9]{2}/[1-9]?[0-9]).){3}(25[0-5]/2[0-4][0-9]/1[0-9]{2}…
%{rhost} principal.hostname Unita
jsonPayload._HOSTNAME principal.hostname Mappato direttamente
principal_hostname principal.hostname Mappato direttamente
rhost principal.hostname Mappato quando kvdata != ``
audit_message principal.ip Mappato: `type=(SYSCALL/LOGIN/USER_LOGIN/USER_CMD/USER_ACCT/USER_ROLE_CHANGE/USERSTART/USER…
prin_ip principal.ip Unita
princi_ip principal.ip Unita
rhost principal.ip Unita
srcIp principal.ip Mappato: `^(?:(25[0-5]/2[0-4][0-9]/1[0-9]{2}/[1-9]?[0-9]).){3}(25[0-5]/2[0-4][0-9]/1[0-9]{2}…
type_crypto_props.laddr principal.ip Unita
srcPort principal.port Rinominate/mappate
type_crypto_props.lport principal.port Rinominate/mappate
auth principal.process.command_line Mappato direttamente
proctitle_value principal.process.command_line Mappato direttamente
type_syscall_props.cmd principal.process.command_line Mappato direttamente
event.idm.read_only_udm.target.process.file.full_path principal.process.file.full_path Mappato direttamente
proctitle_value principal.process.file.full_path Mappato direttamente
audit_message principal.process.file.names Mappato: `type=(SYSCALL/LOGIN/USER_LOGIN/USER_CMD/USER_ACCT/USER_ROLE_CHANGE/USERSTART/USER…
filename principal.process.file.names Unita
jsonPayload._PPID principal.process.parent_process.pid Mappato direttamente
type_syscall_props.ppid principal.process.parent_process.pid Mappato direttamente
jsonPayload._PID principal.process.pid Mappato direttamente
pi principal.process.pid Mappato direttamente
process_pid principal.process.pid Mappato direttamente
type_crypto_props.spid principal.process.pid Mappato direttamente
type_syscall_props.pid principal.process.pid Mappato direttamente
email principal.user.email_addresses Mappato: ^.+@.+$ → email
user_name principal.user.email_addresses Mappato: ^.+@.+$ → user_name
type_syscall_props.UID principal.user.user_display_name Mappato direttamente
type_syscall_props.acct principal.user.user_display_name Mappato direttamente
jsonPayload._AUDIT_FIELD_SUID principal.user.userid Mappato direttamente
principal_user_userid principal.user.userid Mappato direttamente
ruser principal.user.userid Mappato direttamente
type_crypto_props.suid principal.user.userid Mappato direttamente
user_name principal.user.userid Mappato direttamente
usr principal.user.userid Mappato direttamente
a0_label security_result.about.labels Unita
a1_label security_result.about.labels Unita
a2_label security_result.about.labels Unita
a3_label security_result.about.labels Unita
audit_message security_result.about.labels Valori mappati (7 in totale, ad es. `type=(SYSCALL/LOGIN/USER_LOGIN/USER_CMD/USER_ACCT/USER_ROLE_CH…
exit_label security_result.about.labels Unita
syscall_label security_result.about.labels Unita
tty_label security_result.about.labels Unita
jsonPayload._AUDIT_FIELD_ARCH security_result.about.platform_version Mappato direttamente
type_syscall_props.arch security_result.about.platform_version Mappato direttamente
type_syscall_props.key security_result.about.registry.registry_key Mappato direttamente
product_log_id security_result.about.registry.registry_value_data Mappato direttamente
action security_result.action Unita
action_data security_result.action Mappato: `"authentication failure", "Authentication failure", "Failed password", "Connection …
audit_message security_result.action Mappato: `type=(SYSCALL/LOGIN/USER_LOGIN/USER_CMD/USER_ACCT/USER_ROLE_CHANGE/USERSTART/USER…
security_action security_result.action Unita
action_data security_result.action_details Mappato direttamente
auth security_result.action_details Mappato: sshd → FAILURE
status security_result.action_details Mappato direttamente
type_crypto_props.res security_result.action_details Rinominate/mappate
type_syscall_props.res security_result.action_details Mappato direttamente
a0_label security_result.detection_fields Unita
a1_label security_result.detection_fields Unita
a2_label security_result.detection_fields Unita
a3_label security_result.detection_fields Unita
audit_message security_result.detection_fields Mappato: `type=(SYSCALL/LOGIN/USER_LOGIN/USER_CMD/USER_ACCT/USER_ROLE_CHANGE/USERSTART/USER…
auid_field security_result.detection_fields Unita
auth security_result.detection_fields Mappato: sshd → authentication_protocol_field, sshd → authentication_mechanism_field,…
authentication_mechanism_field security_result.detection_fields Unita
authentication_protocol_field security_result.detection_fields Unita
bootid_label security_result.detection_fields Unita
connection_state_field security_result.detection_fields Unita
cwd_field security_result.detection_fields Unita
exit_label security_result.detection_fields Unita
jsonPayload._AUDIT_TYPE_NAME security_result.rule_id Mappato direttamente
type_name security_result.rule_id Mappato direttamente
msg_desc security_result.summary Mappato direttamente
secsummary security_result.summary Mappato direttamente
type_anom_props.reason security_result.summary Mappato direttamente
type_syscall_props.op security_result.summary Mappato direttamente
type_syscall_props.res security_result.summary Mappato direttamente
type_syscall_props.success security_result.summary Mappato direttamente
type_path1_props.name src.file.full_path Rinominate/mappate
type_crypto_props.terminal target.application Rinominate/mappate
target_hostname target.asset.hostname Mappato direttamente
type_crypto_props.hostname target.asset.hostname Mappato direttamente
dst_ip target.asset.ip Unita
resource.labels.project_id target.cloud.project.name Mappato direttamente
filepath target.file.full_path Mappato direttamente
jsonPayload._AUDIT_FIELD_FILE target.file.full_path Mappato direttamente
target_file_full_path target.file.full_path Mappato direttamente
jsonPayload._AUDIT_FIELD_HASH target.file.sha256 Mappato direttamente
target_hostname target.hostname Mappato direttamente
type_crypto_props.hostname target.hostname Mappato direttamente
audit_message target.ip Mappato: type=(CRYPTO_SESSION/CRYPTO_KEY_USER) → tar_ip
dst_ip target.ip Unita
tar_ip target.ip Unita
resource.labels.location target.location.name Mappato direttamente
dst_port target.port Mappato direttamente
target_port target.port Mappato direttamente
type_crypto_props.rport target.port Rinominate/mappate
args target.process.command_line Rinominate/mappate
cmnd target.process.command_line Mappato direttamente
command_line target.process.command_line Mappato direttamente
cwd target.process.file.full_path Mappato direttamente
jsonPayload._EXE target.process.file.full_path Mappato direttamente
proctitle_value target.process.file.full_path Mappato direttamente
type_anom_props.exe target.process.file.full_path Rinominate/mappate
type_crypto_props.exe target.process.file.full_path Rinominate/mappate
type_syscall_props.exe target.process.file.full_path Mappato direttamente
type_anom_props.pid target.process.pid Rinominate/mappate
type_crypto_props.pid target.process.pid Rinominate/mappate
resource.labels.cluster_name target.resource.name Mappato direttamente
audit_message target.resource.type Mappato: `type=(SYSCALL/LOGIN/USER_LOGIN/USER_CMD/USER_ACCT/USER_ROLE_CHANGE/USERSTART/USER…
type_name target.resource.type Mappato: "USER_ACCT", "USER_ROLE_CHANGE","USER_MGMT" → SETTING
target_email target.user.email_addresses Mappato: ^.+@.+$ → target_email
type_syscall_props.ID target.user.user_display_name Mappato direttamente
type_syscall_props.acct target.user.user_display_name Mappato direttamente
event.idm.read_only_udm.principal.user.userid target.user.userid Rinominate/mappate
jsonPayload._UID target.user.userid Mappato direttamente
type_crypto_props.uid target.user.userid Mappato direttamente
type_syscall_props.acct target.user.userid Mappato direttamente
type_syscall_props.id target.user.userid Mappato direttamente
type_syscall_props.uid target.user.userid Mappato direttamente
user_name target.user.userid Mappato direttamente
username target.user.userid Mappato direttamente
N/D extensions.auth.type Costante: AUTHTYPE_UNSPECIFIED
N/D metadata.event_type Costante: STATUS_UPDATE
N/D metadata.product_event_type Costante: PAM_KRB5_AUTH_ERROR
N/D metadata.product_name Costante: AuditD
N/D metadata.vendor_name Costante: Linux
N/D network.application_protocol Costante: SSH
N/D network.direction Costante: OUTBOUND
N/D network.ip_protocol Costante: TCP
N/D principal.platform Costante: LINUX
N/D principal.user.userid Costante: event.idm.read_only_udm.target.user.userid
N/D security_result.action_details Costante: FAILURE
N/D target.resource.type Costante: SETTING

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.