Raccogli i log di Carbon Black App Control (in precedenza CB Protection)
Questo documento spiega come importare i log di Carbon Black App Control (precedentemente noto come CB Protection, ora parte di Broadcom) in Google Security Operations utilizzando Bindplane. Il parser supporta i formati CEF e JSON. Innanzitutto tenta di analizzare l'input come JSON; se l'operazione non va a buon fine, tratta l'input come CEF, esegue sostituzioni di testo, estrae i campi CEF, li mappa a UDM e imposta il tipo di evento su GENERIC_EVENT.
Carbon Black App Control è una soluzione di controllo e whitelisting delle applicazioni che consente alle organizzazioni di bloccare server e sistemi critici. Impedisce l'esecuzione di software non autorizzati e dannosi applicando criteri basati sull'attendibilità, monitorando le modifiche all'integrità dei file e fornendo visibilità in tempo reale sull'attività degli endpoint.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps.
- Un host Windows Server 2016 o versioni successive o Linux con
systemd. - Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
- Carbon Black App Control Server versione 8.x o successive.
- Accesso con privilegi (account amministratore) alla console Carbon Black App Control.
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 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 dell'agente Bindplane.
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/observiq-otel-collector/su Linux o nella directory di installazione su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano,vio Blocco note).
- Individua il file
Modifica il file
config.yamlcome segue:receivers: tcplog: # 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 log_type: CB_APP_CONTROL raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog 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.jsonal percorso del file 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 observiq-otel-collectorVerifica che il servizio sia in esecuzione:
sudo systemctl status observiq-otel-collectorControlla 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:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
- Premi
Verifica che il servizio sia in esecuzione:
sc query observiq-otel-collectorControlla i log per individuare eventuali errori:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Configurare l'inoltro di Syslog di Carbon Black App Control
- Accedi alla console Carbon Black App Control con un account amministratore.
- Fai clic sull'icona Impostazioni (a forma di ingranaggio) e poi su Configurazione di sistema.
- Nella pagina Configurazione di sistema, fai clic sulla scheda Eventi.
- Fai clic sul pulsante Modifica nella parte inferiore della pagina.
- Nel riquadro Registrazione eventi esterni, seleziona la casella di controllo Syslog abilitato.
- Fornisci i seguenti dettagli di configurazione:
- Indirizzo Syslog: inserisci l'indirizzo IP o il nome di dominio completo dell'host dell'agente Bindplane (ad esempio,
192.168.1.100). - Porta Syslog: inserisci
514(o la porta configurata in Bindplane). - Formato Syslog: seleziona il formato di output dal menu Formato Syslog:
- CEF (ArcSight): consigliato per l'importazione di Google SecOps.
- Migliorato (RFC 5424): impostazione predefinita per le nuove installazioni della versione 6.0.1 e successive.
- Di base (RFC 3164): impostazione predefinita per gli upgrade dalle versioni precedenti alla 6.0.1.
- LEEF (Q1 Labs): per l'integrazione di QRadar.
- Indirizzo Syslog: inserisci l'indirizzo IP o il nome di dominio completo dell'host dell'agente Bindplane (ad esempio,
Fai clic su Aggiorna, quindi su Sì nella finestra di dialogo di conferma.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
ABId |
principal.asset.asset_id |
Il valore ABId del log JSON viene utilizzato come parte dell'ID risorsa nel formato PRODUCT_SPECIFIC_ID:{ABId}-{Bit9Server}. |
Bit9Server |
principal.asset.asset_id |
Utilizzato come parte dell'ID risorsa dell'entità, combinato con ABId. Utilizzato anche per creare il campo metadata.url_back_to_product. |
CommandLine |
about.process.command_line |
Mappato direttamente. |
EventType |
metadata.product_event_type |
Mappato con il EventTypeId corrispondente tra parentesi quadre (ad esempio, [5] - Discovery). |
EventTypeId |
metadata.product_event_type |
Utilizzato con EventType per compilare metadata.product_event_type. |
EventSubType |
metadata.description |
Aggiunto al campo metadata.description. |
EventSubTypeId |
metadata.description |
Non mappato in modo esplicito, ma potenzialmente contribuisce alla descrizione in base alla logica interna del parser. |
externalId |
metadata.product_log_id |
Mappato direttamente. |
FileHash |
about.file.sha256 |
Mappato direttamente. |
FileName |
additional.fields (con chiave FileName) |
Aggiunto come campo aggiuntivo. Utilizzato anche come parte delle informazioni sui file in metadata.description per alcuni eventi. |
FilePath |
about.file.full_path |
Mappato direttamente. |
FileThreat |
additional.fields (con chiave fileThreat) |
Aggiunto come campo aggiuntivo. |
FileTrust |
additional.fields (con chiave fileTrust) |
Aggiunto come campo aggiuntivo. |
HostId |
principal.asset.asset_id |
Utilizzato per creare l'URL di ritorno al prodotto in metadata.url_back_to_product. |
HostName |
target.hostname |
Mappato direttamente. |
HostIP |
target.ip |
Mappato direttamente. |
Message |
metadata.description |
Mappato direttamente. |
PathName |
about.file.full_path |
Mappato direttamente. |
Platform |
target.platform |
Mappato al valore enum WINDOWS. |
Policy |
additional.fields (con chiave Policy) |
Aggiunto come campo aggiuntivo. |
PolicyId |
additional.fields (con chiave PolicyId) |
Aggiunto come campo aggiuntivo. |
ProcessKey |
additional.fields (con chiave ProcessKey) |
Aggiunto come campo aggiuntivo. |
ProcessPath |
about.process.command_line |
Mappato direttamente. |
ProcessPathName |
about.process.command_line |
Mappato direttamente. |
ProcessThreat |
additional.fields (con chiave ProcessThreat) |
Aggiunto come campo aggiuntivo. |
ProcessTrust |
additional.fields (con chiave ProcessTrust) |
Aggiunto come campo aggiuntivo. |
RuleName |
additional.fields (con chiave ruleName) |
Aggiunto come campo aggiuntivo. |
Timestamp |
metadata.event_timestamp |
Mappato direttamente. |
UserName |
target.user.user_display_name |
Mappato direttamente. |
UserSid |
principal.user.userid |
Mappato direttamente. |
agent.ephemeral_id |
observer.labels (con chiave ephemeral_id) |
Aggiunta come etichetta di osservatore. |
agent.name |
principal.hostname, observer.hostname, observer.user.userid |
Mappato a più campi. |
agent.type |
observer.application |
Mappato direttamente. |
agent.version |
metadata.product_version |
Mappato direttamente per i log JSON. Per i log CEF, estratti dal messaggio CEF. |
cat |
security_result.category_details |
Mappato direttamente. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.