Raccogli i log di CyberArk EPM
Questo codice dell'analizzatore sintattico trasforma i dati dei log di CyberArk EPM in un modello di dati unificato (UDM). Esegue l'iterazione di ogni evento nel log, mappa i campi pertinenti ai relativi campi UDM, gestisce strutture di dati specifiche come "exposedUsers" e arricchisce l'output con informazioni statiche su fornitori e prodotti.
Prima di iniziare
- Assicurati di avere un'istanza Google Security Operations.
- Assicurati di utilizzare Windows 2016 o versioni successive o un host Linux con systemd.
- Se il servizio è in esecuzione dietro un proxy, assicurati che le porte del firewall siano aperte.
- Assicurati di disporre dell'accesso privilegiato alla Console di gestione del server EPM.
Recupera il file di autenticazione di importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'importazione.
Ottenere 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 BindPlane Agent
- Per l'installazione su Windows, esegui il seguente script:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Per l'installazione di Linux, esegui il seguente script:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.
Configurare l'agente BindPlane per importare i syslog e inviarli a Google SecOps
- Accedi al computer su cui è installato BindPlane.
Modifica il file
config.yaml
come segue:receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: Cyberark_EPM raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Riavvia l'agente BindPlane per applicare le modifiche:
sudo systemctl restart bindplane
Configurare il reindirizzamento di eventi di terze parti in EPM
- Accedi alla console di gestione del server EPM.
- Vai a Avanzate > Configurazione server.
- Nella sezione Appositi per gli eventi, individua l'impostazione Appositi di terze parti.
- Imposta il valore su On per attivare gli ascoltatori di terze parti.
- Configura l'ascoltatore Syslog fornendo i seguenti dettagli:
- Indirizzo IP del server syslog: inserisci l'indirizzo IP del server syslog (Bindplane).
- Porta Syslog: specifica il numero di porta del server syslog (Bindplane).
- Protocollo: scegli il protocollo configurato nel server syslog (TCP o UDP).
- Formato: seleziona Syslog come formato per i log.
- Fai clic su Salva.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
agentId | principal.asset.asset_id | Concatena "agentId:" con il valore del campo agentId. |
computerName | principal.hostname | Mappa direttamente il campo computerName. |
displayName | metadata.description | Mappa direttamente il campo displayName. |
eventType | metadata.product_event_type | Mappa direttamente il campo eventType. |
exposedUsers.[].accountName | target.user.attribute.labels | Crea un'etichetta con la chiave "accountName_[index]" e il valore da exposedUsers.[index].accountName. |
exposedUsers.[].domain | target.user.attribute.labels | Crea un'etichetta con la chiave "domain_[index]" e il valore da exposedUsers.[index].domain. |
exposedUsers.[].username | target.user.attribute.labels | Crea un'etichetta con la chiave "username_[index]" e il valore da exposedUsers.[index].username. |
filePath | target.file.full_path | Mappa direttamente il campo filePath. |
hash | target.file.sha1 | Mappa direttamente il campo dell'hash. |
operatingSystemType | principal.platform | Mappa "Windows" a "WINDOWS" se il campo operatingSystemType è "Windows". |
policyName | security_result.rule_name | Mappa direttamente il campo policyName. |
processCommandLine | target.process.command_line | Mappa direttamente il campo processCommandLine. |
publisher | additional.fields | Crea un campo con chiave "Editore" e string_value dal campo editore. |
sourceProcessCommandLine | target.process.parent_process.command_line | Mappa direttamente il campo sourceProcessCommandLine. |
sourceProcessHash | target.process.parent_process.file.sha1 | Mappa direttamente il campo sourceProcessHash. |
sourceProcessSigner | additional.fields | Crea un campo con la chiave "sourceProcessSigner" e il valore stringa dal campo sourceProcessSigner. |
threatProtectionAction | security_result.action_details | Mappa direttamente il campo threatProtectionAction. |
metadata.event_timestamp | Imposta il timestamp dell'evento su create_time della voce di log. | |
metadata.event_type | Hardcoded to "STATUS_UPDATE". | |
metadata.log_type | Hardcoded su "CYBERARK_EPM". | |
metadata.product_name | Hardcoded su "EPM". | |
metadata.vendor_name | Hardcoded su "CYBERARK". | |
security_result.alert_state | Hardcoded to "ALERTING". | |
userName | principal.user.userid | Mappa direttamente il campo userName. |
Modifiche
2023-08-22
- Analizzatore appena creato