Raccogliere i log di Pulse Secure

Supportato in:

Questo documento descrive come raccogliere i log di Pulse Secure utilizzando un forwarder di Google Security Operations.

Per ulteriori informazioni, consulta la Panoramica dell'importazione dei dati in Google Security Operations.

Un'etichetta di importazione identifica l'analizzatore sintattico che normalizza i dati dei log non elaborati in formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser con l'etichetta di importazione PULSE_SECURE_VPN.

Configura la VPN Pulse Secure

Per configurare la VPN Pulse Secure, svolgi una delle seguenti operazioni:

  • Configurare la VPN Pulse Secure versione 8.3R3 e precedenti
  • Configura la VPN Pulse Secure versione 8.3R4 e successive

Configurare la VPN Pulse Secure versione 8.3R3 e precedenti

  1. Accedi alla console Pulse Connect Secure.
  2. Nella console Pulse Connect Secure, seleziona Sistema > Log/monitoraggio > Impostazioni. Puoi selezionare Impostazioni dalla scheda Eventi, dalla scheda Accesso utente o dalla scheda Accesso amministratore.
  3. Nella sezione Seleziona gli eventi da registrare, seleziona tutte le caselle di controllo corrispondenti agli eventi.
  4. Nella sezione Server Syslog, segui questi passaggi:
    1. Nel campo Nome/IP server, specifica l'indirizzo IP del forwarder di Google Security Operations.
    2. Nell'elenco Struttura, seleziona LOCAL0. L'elenco Struttura fornisce otto strutture: da LOCAL0 a LOCAL7. Puoi utilizzare una di queste impostazioni per mappare le strutture sul tuo server syslog.
    3. Nell'elenco Tipo, seleziona UDP o TCP.
  5. Fai clic su Aggiungi.
  6. (Facoltativo) Per aggiungere più server syslog per eventi, accesso amministrativo o log di accesso utente, ripeti i passaggi da 2 a 4.
  7. Fai clic su Salva modifiche.
  8. Per assicurarti che il formato del log standard sia impostato come predefinito:
    1. Apri la console Pulse Connect Secure.
    2. Nelle schede Eventi, Accesso utente e Accesso amministratore, imposta Filtri su Standard.
    3. Se il filtro standard non è definito come filtro predefinito, fai clic su Imposta come predefinito.
    4. Fai clic su Salva.

Configura la VPN Pulse Secure versione 8.3R4 e successive

  1. Nella console Pulse Connect Secure, fai clic sulla scheda Eventi, Accesso utente o Accesso amministratore, quindi imposta Filtri su Nuovo filtro.
  2. Nel campo Nome filtro, inserisci un nome per il filtro.
  3. Nella sezione Formato di esportazione, seleziona Personalizzato e inserisci il seguente formato nel campo:

    [SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%

  4. Fai clic su Salva.

  5. A seconda della versione del dispositivo, per attivare la configurazione di syslog, esegui una delle seguenti operazioni:

    • Attivare il logging syslog su Pulse Secure VPN
    • Attivare il logging syslog su Ivanti Connect Secure

Attiva il logging syslog sulla VPN Pulse Secure

  1. Nella console Pulse Connect Secure, seleziona Sistema > Log/monitoraggio > Impostazioni. Puoi selezionare Impostazioni dalla scheda Eventi, dalla scheda Accesso utente o dalla scheda Accesso amministratore.
  2. Nella sezione Seleziona gli eventi da registrare, seleziona tutte le caselle di controllo tranne quelle per Accesso HTML5, Messaggi di controllo dell'accesso e Richieste non autenticate.
  3. Nel campo Server syslog, inserisci le informazioni sui server syslog.
  4. Nella sezione Server Syslog, segui questi passaggi:
    1. Nel campo Nome del server/IP, inserisci il nome del server o l'indirizzo IP del forwarder di Google Security Operations.
    2. Nell'elenco Struttura, seleziona LOCAL0.
    3. Nell'elenco Filtro, seleziona il filtro creato in precedenza.
  5. Fai clic su Aggiungi.
  6. (Facoltativo) Per aggiungere più server syslog per eventi, accesso amministrativo o log di accesso utente, ripeti i passaggi da 2 a 4.
  7. Fai clic su Salva modifiche.

Attivare il logging syslog su Ivanti Connect Secure

  1. Nella console Pulse Connect Secure, fai clic sulla scheda Eventi, Accesso utente o Accesso amministratore e poi seleziona Filtri.
  2. Fai clic sulla scheda Nuovo filtro.
  3. Nella sezione Formato di esportazione, seleziona Personalizzato e inserisci il seguente formato nel campo:

    [SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%

  4. Fai clic su Salva.

  5. Fai clic su Sistema > Log/monitoraggio e poi seleziona la scheda Impostazioni.

  6. Nel campo Dimensioni massime del log, specifica le dimensioni massime del log e seleziona gli eventi da registrare.

  7. Specifica la configurazione del server come segue:

    1. Nel campo Nome/IP server, specifica il nome di dominio completo o l'indirizzo IP del forwarder di Google Security Operations per il server syslog.

      Se selezioni Transport Layer Security (TLS) dall'elenco dei tipi, il nome del server deve corrispondere al CN in subjectDN nel certificato ottenuto dal server.

    2. Nell'elenco Struttura, seleziona un livello di struttura del server syslog.

    3. Nell'elenco Tipo, seleziona il tipo di connessione al server syslog come UDP, TCP o TLS. TLS utilizza protocolli crittografici per fornire una comunicazione sicura.

      Se selezioni TLS, seleziona il certificato client installato da utilizzare per autenticare il server syslog. I certificati client sono definiti nella finestra Configurazione > Certificati > Certificati di autenticazione client. I certificati client devono essere installati sul dispositivo prima di poter essere utilizzati. Contatta la tua autorità di certificazione per il certificato.

    4. Nell'elenco Filtro, seleziona Personalizzato.

  8. Fai clic su Aggiungi.

Configura il forwarder di Google Security Operations per importare i log di Pulse Secure

  1. Seleziona Impostazioni SIEM > Inoltratori.
  2. Fai clic su Aggiungi nuovo mittente.
  3. Nel campo Nome del forwarder, inserisci un nome univoco per il forwarder.
  4. Fai clic su Invia e poi su Conferma. Il forwarder viene aggiunto e viene visualizzata la finestra Aggiungi configurazione del collettore.
  5. Nel campo Nome del raccoglitore, digita un nome univoco per il raccoglitore.
  6. Seleziona Pulse Secure come Tipo di log.
  7. Seleziona Syslog come Tipo di collettore.
  8. Configura i seguenti parametri di input obbligatori:
    • Protocollo: specifica il protocollo di connessione utilizzato dal collector per ascoltare i dati syslog.
    • Indirizzo: specifica l'indirizzo IP o il nome host di destinazione in cui risiede il collector e ascolta i dati syslog.
    • Porta: specifica la porta di destinazione in cui risiede il raccoglitore e ascolta i dati syslog.
  9. Fai clic su Invia.

Per ulteriori informazioni sui forwarder di Google Security Operations, consulta Gestire le configurazioni dei forwarder tramite l'interfaccia utente di Google Security Operations.

Se riscontri problemi durante la creazione dei reindirizzamenti, contatta l'assistenza di Google Security Operations.

Riferimento alla mappatura dei campi

Questo parser estrae i campi dai log VPN Pulse Secure, gestendo sia i log eventi di Windows sia i formati syslog. Normalizza diverse strutture di log in un formato comune, classificando eventi come accessi, logout, connessioni e modifiche ai criteri, arricchendoli con dati contestuali come user agent, indirizzi IP e timestamp.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
azione security_result.action_details Mappato direttamente dal campo action.
applicazione principal.application Mappato direttamente dal campo application.
bytes_read network.received_bytes Mappato direttamente dal campo bytes_read e convertito in numero intero non firmato.
bytes_written network.sent_bytes Mappato direttamente dal campo bytes_written e convertito in numero intero non firmato.
client_host principal.hostname, principal.asset.hostname Mappato direttamente dal campo client_host.
cmd principal.process.command_line Mappato direttamente dal campo cmd.
connection_status security_result.detection_fields.value.string_value Mappato direttamente dal campo connection_status.
data_time metadata.event_timestamp.seconds Analizzati dal campo data_time utilizzando vari formati di timestamp (MM-dd-aaaa HH:mm:ss Z, RFC 3339, ISO8601, MMM d HH:mm:ss, MMM d HH:mm:ss).
devname principal.hostname, principal.asset.hostname Mappato direttamente dal campo devname.
dstip target.ip, target.asset.ip Mappato direttamente dal campo dstip.
dstport target.port Mappato direttamente dal campo dstport e convertito in numero intero.
dstcountry target.location.country_or_region Mappato direttamente dal campo dstcountry se non è "Riservato" o vuoto.
duration network.session_duration.seconds Mappato direttamente dal campo duration e convertito in numero intero.
dvc intermediary.hostname o intermediary.ip Se il campo dvc può essere convertito in un indirizzo IP, viene mappato a intermediary.ip. In caso contrario, viene mappato a intermediary.hostname.
dvc_hostname intermediary.hostname, principal.hostname, principal.asset.hostname o intermediary.ip, principal.ip, principal.asset.ip Se il campo dvc_hostname può essere convertito in un indirizzo IP, viene mappato ai rispettivi campi IP. In caso contrario, viene mappato ai rispettivi campi del nome host.
event_type metadata.product_event_type Mappato direttamente dal campo event_type.
failure_reason security_result.description Mappato direttamente dal campo failure_reason. Se il messaggio contiene "because host", il testo "host" viene anteposto al motivo dell'errore.
has_principal event.idm.read_only_udm.principal (presenza) Imposta su "true" se sono compilati eventuali campi principali, su "false" in caso contrario. Dedotto dalla logica del parser.
has_target event.idm.read_only_udm.target (presenza) Imposta su "true" se uno o più campi target sono compilati, su "false" in caso contrario. Dedotto dalla logica del parser.
has_target_user event.idm.read_only_udm.target.user.userid (presenza) Impostato su "true" se target.user.userid è compilato, su "false" in caso contrario. Dedotto dalla logica del parser.
host_ip principal.ip, principal.asset.ip Mappato direttamente dal campo host_ip.
host_mac principal.mac Mappato direttamente dal campo host_mac, sostituendo i trattini con i due punti.
http_method network.http.method Mappato direttamente dal campo http_method.
http_response network.http.response_code Mappato direttamente dal campo http_response e convertito in numero intero.
info_desc about.labels.value Mappato direttamente dal campo info_desc.
ip_new target.ip, target.asset.ip Mappato direttamente dal campo ip_new.
livello security_result.severity, security_result.severity_details Il valore security_result.severity è ricavato dal campo level ("error"/"warning" -> HIGH, "notice" -> MEDIUM, "information"/"info" -> LOW). Anche il valore non elaborato di level viene mappato a security_result.severity_details.
logid metadata.product_log_id Mappato direttamente dal campo logid.
locip principal.ip, principal.asset.ip Mappato direttamente dal campo locip.
messaggio metadata.description Utilizzato per estrarre vari campi utilizzando i filtri grok e kv. Se il messaggio contiene "EventID", viene elaborato come log eventi di Windows.
message_info metadata.description Mappato direttamente a metadata.description se non viene utilizzato in pattern grok più specifici.
msg metadata.product_event_type, metadata.description Se è presente il campo msg, il tipo di prodotto viene estratto e mappato a metadata.product_event_type e il messaggio rimanente viene mappato a metadata.description.
msg_hostname principal.hostname, principal.asset.hostname Mappato direttamente dal campo msg_hostname.
msg_ip principal.ip, principal.asset.ip Mappato direttamente dal campo msg_ip.
msg_user_agent network.http.user_agent, network.http.parsed_user_agent, metadata.product_version La stringa user agent è mappata a network.http.user_agent, lo user agent analizzato è mappato a network.http.parsed_user_agent e la versione del prodotto (se presente) è mappata a metadata.product_version.
network_duration network.session_duration.seconds Mappato direttamente dal campo network_duration e convertito in numero intero.
policyid security_result.rule_id Mappato direttamente dal campo policyid.
policyname security_result.rule_name Mappato direttamente dal campo policyname.
policytype security_result.rule_type Mappato direttamente dal campo policytype.
priority_code about.labels.value Mappato direttamente dal campo priority_code e utilizzato anche per dedurre about.labels.value per la chiave "Severità" (vedi Logica).
prod_name metadata.product_name Mappato direttamente dal campo prod_name.
product_type metadata.product_event_type Mappato direttamente dal campo product_type.
product_version metadata.product_version Mappato direttamente dal campo product_version.
proto network.ip_protocol Mappato a network.ip_protocol dopo essere stato convertito in un nome di protocollo IP utilizzando una ricerca.
pwd principal.process.file.full_path Mappato direttamente dal campo pwd.
area di autenticazione principal.group.attribute.labels.value Mappato direttamente dal campo realm.
rcvdbyte network.received_bytes Mappato direttamente dal campo rcvdbyte e convertito in numero intero non firmato.
remip target.ip Mappato direttamente dal campo remip.
resource_name target.resource.name Mappato direttamente dal campo resource_name dopo aver rimosso gli spazi iniziali/finali e i trattini.
resource_status security_result.description Mappato direttamente dal campo resource_status.
resource_user_group principal.user.group_identifiers Mappato direttamente dal campo resource_user_group.
resource_user_name principal.user.userid Mappato direttamente dal campo resource_user_name.
ruoli principal.user.group_identifiers Mappato direttamente dal campo roles.
sentbyte network.sent_bytes Mappato direttamente dal campo sentbyte e convertito in numero intero non firmato.
session_id network.session_id Mappato direttamente dal campo session_id.
sessionid network.session_id Mappato direttamente dal campo sessionid.
srcip principal.ip, principal.asset.ip Mappato direttamente dal campo srcip.
srcport principal.port Mappato direttamente dal campo srcport e convertito in numero intero.
srccountry principal.location.country_or_region Mappato direttamente dal campo srccountry se non è "Riservato" o vuoto.
sottotipo metadata.product_event_type Utilizzato in combinazione con type per formare metadata.product_event_type.
target_file target.file.full_path Mappato direttamente dal campo target_file.
target_host target.hostname, target.asset.hostname Mappato direttamente dal campo target_host.
target_ip target.ip, target.asset.ip Mappato direttamente dal campo target_ip.
target_port target.port Mappato direttamente dal campo target_port e convertito in numero intero.
target_url target.url Mappato direttamente dal campo target_url.
tempo metadata.event_timestamp.seconds Analizzata dal campo time utilizzando il formato "aaaa-MM-gg HH:mm:ss".
tipo metadata.product_event_type Utilizzato in combinazione con subtype per formare metadata.product_event_type.
u_event_source_ip principal.ip, principal.asset.ip o target.ip Se sono presenti target_ip o target_host, u_event_source_ip viene mappato a principal.ip e principal.asset.ip. In caso contrario, se target_ip, target_host e target_url sono tutti vuoti, u_event_source_ip viene mappato a target.ip.
u_observer_ip observer.ip Mappato direttamente dal campo u_observer_ip.
u_prin_ip principal.ip, principal.asset.ip Mappato direttamente dal campo u_prin_ip.
utente target.user.userid Mappato direttamente dal campo user.
user_agent network.http.user_agent, network.http.parsed_user_agent La stringa dello user agent è mappata a network.http.user_agent e lo user agent analizzato è mappato a network.http.parsed_user_agent.
user_group_identifier target.user.group_identifiers o principal.user.group_identifiers Nella maggior parte dei casi è mappato a target.user.group_identifiers. Mappato a principal.user.group_identifiers negli eventi di modifica dell'IP (USER_UNCATEGORIZED) e di limitazioni del realm.
user_ip principal.ip, principal.asset.ip Mappato direttamente dal campo user_ip. Se è vuoto e u_event_source_ip non è vuoto, assume il valore di u_event_source_ip.
nome utente principal.user.userid o target.user.userid Nella maggior parte dei casi è mappato a principal.user.userid. Mappato a target.user.userid in alcuni scenari specifici (ad es. quando detect_user_logout_failed è false e detect_policy_change_failed è false).
username_removed target.user.userid Mappato direttamente dal campo username_removed.
vd principal.administrative_domain Mappato direttamente dal campo vd.

metadata.vendor_name, metadata.product_name, metadata.event_type, metadata.log_type, network.ip_protocol, security_result.action, security_result.severity e extensions.auth.type vengono ricavati o impostati dalla logica dell'analizzatore sintattico in base alle condizioni descritte nella colonna Logica.

Modifiche

2024-05-27

  • "observer_hostname" è stato mappato a "observer.hostname".
  • Se "dvc_hostname" è un indirizzo IP valido, mappalo a "principal.ip", altrimenti mappalo a "principal.hostname".
  • "priority_code", "Syslog_version" ed "info_desc" sono stati mappati a "about.labels".
  • "prod_name" è stato mappato a "metadata.product_event_type".

2024-04-16

  • È stato aggiunto un nuovo pattern GROK per analizzare il nuovo pattern dei log SYSLOG.
  • "connection_status" è stato mappato a "security_result.detection_fields".

2024-02-26

  • È stato aggiunto un blocco "kv" per analizzare i dati chiave-valore.
  • "username" è stato mappato a "target.user.userid".
  • È stato aggiunto un controllo condizionale per "message_info".
  • "u_prin_ip" è stato mappato a "principal.ip".
  • "u_observer_ip" è stato mappato a "observer.ip".

2023-11-07

  • Correzione di bug:
  • Mappatura modificata per "observer_host" da "observer.hostname" a "additional.fields".

2023-08-19

  • È stato aggiunto un pattern Grok per analizzare i log con errori.

2023-05-26

  • È stato aggiunto un pattern Grok per supportare i nuovi log syslog.

2023-01-06

  • È stato modificato il pattern Grok per analizzare "product_type" e mapparlo a "metadata.product_event_type".

2022-10-25

  • Sono stati aggiunti nuovi pattern Grok per "message_info" per estrarre session_id.
  • "session_id" è stato mappato a "network.session_id".
  • È stato modificato target.ip in principal.ip quando detect_policy_change_failed è falso.
  • È stato modificato target.mac in principal.mac quando detect_policy_change_failed è falso.

2022-10-12

  • Miglioramento: sono state aggiunte mappature per i seguenti campi:
  • È stato estratto il valore dell'IP dal campo "msg" e mappato a "principal.ip".
  • È stato estratto il valore del nome host dal campo "msg" e mappato a "principal.hostname".
  • "user" è stato mappato a "target.user.userid".
  • "realm" è stato mappato a "principal.group.attribute.labels".
  • "roles" è stato mappato a "principal.user.group_identifiers".
  • Valore modificato per "metadata.event_type" da "GENERIC_EVENT" a "USER_UNCATEGORIZED".

2022-10-03

  • Miglioramento: sono stati analizzati i log contenenti "sudo".
  • È stato aggiunto il supporto per i nuovi formati di log di tipo coppia chiave-valore.

2022-07-01

  • Miglioramento: è stato generato un nuovo evento per l'ID evento: 4624
  • È stato modificato il valore metadata.event_type da "GENERIC_EVENT" a "STATUS_UPDATE" o "NETWORK_CONNECTION" se "principal.ip" o "target.ip" o "principal.hostname" non sono null.

2022-04-13

  • Miglioramento: sono state aggiunte mappature per i nuovi campi in event_type di GENERIC_EVENT:
  • user_ip a event.idm.read_only_udm.principal.ip.
  • user_group_identifier a event.idm.read_only_udm.target.user.group_identifiers.
  • Timestamp modificato in tutti gli event_type per includere il fuso orario.
  • Campo modificato user_ip, target_ip per i tipi di evento GENERIC e NETWORK_CONNECTION.

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