Raccogliere i log di Attivo Networks BOTsink

Supportato in:

Questo documento spiega come importare i log di Attivo Networks BOTsink in Google Security Operations utilizzando Bindplane. Il parser tenta innanzitutto di analizzare i messaggi di log in entrata come JSON. Se non riesce, utilizza una serie di pattern Grok per estrarre i campi dai messaggi formattati in Common Event Format (CEF), gestendo vari formati ed eventuali errori. Infine, mappa i campi estratti allo schema Unified Data Model (UDM), arricchendo i dati con contesto aggiuntivo e standardizzando l'output.

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 ad Attivo Networks

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. 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

Installazione di Windows

  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
    

Installazione di Linux

  1. Apri un terminale con privilegi di 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
    

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

  1. 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).
  2. 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: '/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: 'ATTIVO'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.

  4. Sostituisci <customer_id> con l'ID cliente effettivo.

  5. 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 Syslog in Attivo Networks BOTsink

  1. Accedi all'interfaccia utente web di Attiva Networks.
  2. Vai ad Amministrazione > Gestione > Syslog.
  3. Fai clic su Aggiungi per creare un nuovo profilo Syslog.
  4. Fornisci un nome descrittivo per il profilo.
  5. In Inoltro eventi, seleziona Attivato.
  6. Fornisci la configurazione degli standard BOTsink:
    • Molto bassa: seleziona Informativa.
    • Basso: seleziona Avviso.
    • Mezzo: seleziona Avviso.
    • Alto: seleziona Critica.
    • Molto alta: seleziona Emergenza.
    • Per Formato messaggio, seleziona CEF.
  7. Seleziona Aggiungi nuova connessione nella sezione del profilo.
  8. Fornisci i seguenti dettagli di configurazione:
    • Nome server: inserisci un nome descrittivo che ti aiuti a identificare Google SecOps.
    • Nome profilo: seleziona il profilo syslog CEF che hai creato in precedenza.
    • Indirizzo IP: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta: inserisci il numero di porta dell'agente Bindplane (ad esempio, inserisci 514 per UDP).
    • Protocollo: seleziona UDP.
  9. Fai clic su Prova connessione e verifica di ricevere i dati di test nell'agente Bindplane e in Google SecOps.
  10. Fai clic su OK.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
alertID read_only_udm.metadata.product_log_id Il valore viene estratto dal campo alertID.
gatto read_only_udm.security_result.action_details Il valore viene estratto dal campo cat.
CEFDeviceProduct read_only_udm.metadata.product_name Il valore viene estratto dal campo CEFDeviceProduct.
CEFDeviceVendor read_only_udm.metadata.vendor_name Il valore viene estratto dal campo CEFDeviceVendor.
CEFDeviceVersion read_only_udm.metadata.product_version Il valore viene estratto dal campo CEFDeviceVersion.
CEFName Utilizzato per estrarre i campi operation, result, module e descrip.
CEFSeverity read_only_udm.security_result.severity Mappato dal campo CEFSeverity in base a queste regole:
- error o warning: HIGH
- (?i)critical: CRITICAL
- (?i)notice o (?i)MEDIUM: MEDIUM
- information, info, Very-Low o Low: LOW
CEFSignatureID read_only_udm.security_result.rule_id Il valore viene estratto dal campo CEFSignatureID.
cef_version read_only_udm.additional.fields.value.string_value Il valore viene estratto dal campo cef_version.
read_only_udm.additional.fields.key Valore statico: CEFVersion
descrip read_only_udm.metadata.description Il valore viene estratto dal campo descrip.
dest_domain read_only_udm.target.domain.name Il valore viene estratto dal campo dest_domain.
dhost read_only_udm.target.hostname Il valore viene estratto dal campo dhost se service è NETBIOS.
dIPDomain read_only_udm.target.domain.name Il valore viene estratto dal campo dIPDomain se dest_domain è vuoto.
dst read_only_udm.target.ip Il valore viene estratto dal campo dst.
dst_os read_only_udm.target.asset.platform_software.platform_version Il valore viene estratto dal campo dst_os.
dpt read_only_udm.target.port Il valore viene estratto dal campo dpt e convertito in un numero intero.
dvc read_only_udm.principal.hostname, read_only_udm.target.ip, read_only_udm.intermediary.hostname La logica dipende dai valori dei campi dvc, src e sip. Può essere mappato al nome host principale, all'IP di destinazione o al nome host intermedio in base alla disponibilità e al formato di questi campi.
intf read_only_udm.additional.fields.value.string_value Il valore viene estratto dal campo intf e convertito in una stringa.
read_only_udm.additional.fields.key Valore statico: intf
mitreTacticName read_only_udm.security_result.rule_name Il valore viene estratto dal campo mitreTacticName.
mitreTechniqueId read_only_udm.security_result.detection_fields.value Il valore viene estratto dal campo mitreTechniqueId.
read_only_udm.security_result.detection_fields.key Valore statico: Technique name
mitreTechniqueName read_only_udm.security_result.detection_fields.value Il valore viene estratto dal campo mitreTechniqueName.
read_only_udm.security_result.detection_fields.key Valore statico: Technique name
modulo read_only_udm.additional.fields.value.string_value Il valore viene estratto dal campo module.
read_only_udm.additional.fields.key Valore statico: module
msg read_only_udm.metadata.description Il valore viene estratto dal campo msg dopo l'estrazione del campo protocol.
operazione read_only_udm.additional.fields.value.string_value Il valore viene estratto dal campo operation.
read_only_udm.additional.fields.key Valore statico: operation
protocollo read_only_udm.network.ip_protocol Il valore viene estratto dal campo protocol se è TCP o UDP.
result read_only_udm.security_result.action Mappato dal campo result in base a queste regole:
- (?i)SUCCESS o (?i)ALLOW: ALLOW
- CHALLENGE: CHALLENGE
- FAILURE, DENY, SKIPPED o RATE_LIMIT: BLOCK
rt read_only_udm.metadata.event_timestamp Il valore viene estratto dal campo rt e analizzato come timestamp UNIX in millisecondi.
shost read_only_udm.principal.hostname Il valore viene estratto dal campo shost.
sip read_only_udm.principal.hostname, read_only_udm.principal.ip La logica dipende dai valori dei campi dvc e sip. Può essere mappato al nome host principale o all'IP in base alla disponibilità e al formato di questi campi.
smac read_only_udm.principal.mac Il valore viene estratto dal campo smac.
origine read_only_udm.principal.hostname Il valore viene estratto dal campo source.
source_domain read_only_udm.principal.domain.name Il valore viene estratto dal campo source_domain.
src read_only_udm.principal.ip Il valore viene estratto dal campo src.
subscriberName read_only_udm.additional.fields.value.string_value Il valore viene estratto dal campo subscriberName.
read_only_udm.additional.fields.key Valore statico: Subscriber Name
suser read_only_udm.principal.user.userid, read_only_udm.principal.user.user_display_name Il valore viene estratto dal campo suser dopo l'estrazione del nome utente.
soglia read_only_udm.additional.fields.value.string_value Il valore viene estratto dal campo threshold.
read_only_udm.additional.fields.key Valore statico: arp-scan-threshold
usrname read_only_udm.principal.user.email_addresses Il valore viene estratto dal campo usrname se non è vuoto o N/A.
vlan read_only_udm.principal.labels.value Il valore viene estratto dal campo vlan.
read_only_udm.principal.labels.key Valore statico: vlan
read_only_udm.metadata.event_type Determinato in base ai valori dei campi src, smac, shost, dst, protocol, dvc e service. Può essere uno dei seguenti: SCAN_NETWORK, NETWORK_CONNECTION, NETWORK_UNCATEGORIZED, STATUS_UPDATE o GENERIC_EVENT.

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