Raccogliere i log di CyberArk Privilege Cloud
Questo documento spiega come importare i log di CyberArk Privilege Cloud in Google Security Operations utilizzando Bindplane. Il codice del parser trasforma i log dal formato SYSLOG + KV non elaborato nel formato Unified Data Model (UDM) di Google SecOps. Estrae innanzitutto i campi dai messaggi formattati CEF utilizzando grok pattern e l'analisi chiave-valore, quindi mappa questi campi e altri ai corrispondenti campi UDM, arricchendo i dati con valori standardizzati per fornitore, prodotto e gravità.
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 a CyberArk Privilege Cloud
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 il 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.
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/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).
- Individua il file
Modifica il file
config.yaml
come segue:receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:6514" 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: 'CYBERARK_PRIVILEGE_CLOUD' 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.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
Installare Secure Tunnel
- Assicurati che l'ID macchina sia univoco, anche quando le macchine vengono implementate in più domini.
- Scarica il pacchetto software Privilege Cloud da Deploy the Privilege Cloud Connector (Standard), copia il file ZIP Secure Tunnel ed estrailo.
- Esegui l'installazione dalla cartella decompressa.
- Nella pagina Seleziona cartella di installazione, inserisci la posizione della cartella di installazione e fai clic su Avanti.
- Nella pagina Inizio installazione, fai clic su Installa.
- Al termine dell'installazione, fai clic su Fine; viene avviato lo strumento di configurazione.
Configurare Secure Tunnel
- Nella pagina Autenticati in Privilege Cloud, inserisci i seguenti dettagli
e poi fai clic su Avanti:
- Sottodominio o ID cliente: il sottodominio è l'identificatore di sistema nell'indirizzo di sistema, come visualizzato nel nome di dominio completo (FQDN) del portale Privilege Cloud:
https://<subdomain>.Privilegecloud.cyberark.com
. Inserisci solo l'identificatore<subdomain>
, non l'intero URL. In alternativa, utilizza l'ID cliente fornito da CyberArk. - Nome utente e password: inserisci le credenziali fornite dall'assistenza CyberArk.
- Sottodominio o ID cliente: il sottodominio è l'identificatore di sistema nell'indirizzo di sistema, come visualizzato nel nome di dominio completo (FQDN) del portale Privilege Cloud:
- Nella pagina Configura componenti on-premise, aggiungi i componenti che vuoi connettere tramite il tunnel sicuro e fai clic su Configura componenti.
- Fornisci i seguenti dettagli di configurazione:
- Component Type (Tipo di componente): seleziona SIEM.
- Indirizzo host: inserisci l'indirizzo host dell'agente Bindplane (il componente SIEM deve includere un nome host).
- Porta di destinazione: inserisci il numero di porta dell'agente Bindplane.
- Porta remota: la porta utilizzata da CyberArk per interfacciarsi con il tuo tunnel sicuro (la porta remota ti viene fornita dall'assistenza CyberArk, in genere è
1468
). - Fai clic su Avanzate per visualizzare questa colonna.
- Accesso tramite tunnel sicuri: puoi configurare i tunnel sicuri a cui i tuoi server accederanno, anche se questi tunnel sicuri vengono eseguiti su un'altra macchina.
- Fai clic su Configura componenti > Chiudi.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
atto | security_result.action_details | Mappato direttamente dal campo act nel log non elaborato. |
app | network.application_protocol | Mappato dal campo app nel log non elaborato e trasformato utilizzando la logica in parse_app_protocol.include . |
cn1 | additional.fields.value.string_value | Mappato direttamente dal campo cn1 nel log non elaborato. |
cn1Label | additional.fields.key | Mappato direttamente dal campo cn1Label nel log non elaborato. |
cn2 | additional.fields.value.string_value | Mappato direttamente dal campo cn2 nel log non elaborato. |
cn2Label | additional.fields.key | Mappato direttamente dal campo cn2Label nel log non elaborato. |
cs1 | additional.fields.value.string_value | Mappato direttamente dal campo cs1 nel log non elaborato. |
cs1Label | additional.fields.key | Mappato direttamente dal campo cs1Label nel log non elaborato. |
cs2 | additional.fields.value.string_value | Mappato direttamente dal campo cs2 nel log non elaborato. |
cs2Label | additional.fields.key | Mappato direttamente dal campo cs2Label nel log non elaborato. |
cs3 | additional.fields.value.string_value | Mappato direttamente dal campo cs3 nel log non elaborato. |
cs3Label | additional.fields.key | Mappato direttamente dal campo cs3Label nel log non elaborato. |
cs4 | additional.fields.value.string_value | Mappato direttamente dal campo cs4 nel log non elaborato. |
cs4Label | additional.fields.key | Mappato direttamente dal campo cs4Label nel log non elaborato. |
cs5 | additional.fields.value.string_value | Mappato direttamente dal campo cs5 nel log non elaborato. |
cs5Label | additional.fields.key | Mappato direttamente dal campo cs5Label nel log non elaborato. |
device_event_class_id | metadata.product_event_type | Mappato direttamente dal campo device_event_class_id nel log non elaborato. |
device_version | metadata.product_version | Mappato direttamente dal campo device_version nel log non elaborato. |
dhost | target.hostname | Mappato direttamente dal campo dhost nel log non elaborato. |
duser | target.user.user_display_name | Mappato direttamente dal campo duser nel log non elaborato. |
dvc | about.ip | Mappato direttamente dal campo dvc nel log non elaborato. |
event_name | metadata.product_event_type | Mappato direttamente dal campo event_name nel log non elaborato. |
externalId | metadata.product_log_id | Mappato direttamente dal campo externalId nel log non elaborato. |
fname | additional.fields.value.string_value | Mappato direttamente dal campo fname nel log non elaborato. |
msg | metadata.description | Mappato direttamente dal campo msg nel log non elaborato. |
motivo | security_result.summary | Mappato direttamente dal campo reason nel log non elaborato. |
gravità | security_result.severity | Mappato dal campo severity nel log non elaborato e trasformato in "BASSA", "MEDIA", "ALTA" o "CRITICA" in base al suo valore. |
shost | principal.ip | Mappato direttamente dal campo shost nel log non elaborato. |
suser | principal.user.user_display_name | Mappato direttamente dal campo suser nel log non elaborato. |
tempo | metadata.event_timestamp.seconds | Mappato direttamente dal campo time nel log non elaborato dopo l'analisi e la conversione in un timestamp. |
metadata.event_type | Impostato su "USER_UNCATEGORIZED" se suser è presente e duser non lo è. In caso contrario, imposta "GENERIC_EVENT". |
|
metadata.log_type | Imposta su "CYBERARK_PRIVILEGE_CLOUD". | |
metadata.product_name | Imposta su "CYBERARK_PRIVILEGE_CLOUD". | |
principal.asset.hostname | Valore estratto dai campi shost o dvc , se contengono un nome host. |
|
principal.asset.ip | Valore estratto dai campi shost o dvc , se contengono un indirizzo IP. |
|
principal.hostname | Valore estratto dai campi shost o dvc , se contengono un nome host. |
|
target.asset.hostname | Valore estratto dal campo dhost , se contiene un nome host. |
|
additional.fields.key | La chiave per i campi aggiuntivi è determinata dal campo dell'etichetta corrispondente (ad es. cn1Label per cn1 ). |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.