Raccogli i log di NetScaler

Supportato in:

Questo documento descrive come raccogliere i log di NetScaler 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 CITRIX_NETSCALER.

Configura NetScaler VPX

Per configurare NetScaler VPX in modo che invii i log al forwarder di Google Security Operations, segui questi passaggi:

Verifica la configurazione del nome host

  1. Accedi all'interfaccia web di NetScaler utilizzando le credenziali di amministratore.
  2. Seleziona Configurazione > Impostazioni.
  3. Fai clic su Nome host, indirizzo IP DNS e fuso orario.
  4. Se il campo Nome host è vuoto, inserisci il nome host. Non includere spazi. Se questo campo è già configurato, non è richiesta alcuna azione.
  5. Nel campo Indirizzo IP DNS, verifica se è specificato l'indirizzo IP DNS locale.
  6. Nel campo Fuso orario, inserisci il tuo fuso orario.

Crea il server di controllo

  1. Nell'interfaccia web di NetScaler, seleziona Configurazione > Sistema > Controllo qualità > Syslog > Server.
  2. Specifica i dettagli di syslog nei seguenti campi:
    • Nome
    • Tipo di server
    • Indirizzo IP
    • Port (Porta)
  3. Seleziona Livelli di log come Personalizzato.
  4. Seleziona tutte le caselle di controllo tranne il livello DEBUG nella configurazione.
  5. Nell'elenco Strumento di log, seleziona LOCAL0.
  6. Nell'elenco Formato della data, seleziona MMDDAAAA.
  7. Seleziona Fuso orario come GMT.
  8. Deseleziona le seguenti caselle di controllo:
    • Logging TCP
    • Logging ACL
    • Messaggi di log configurabili dall'utente
    • Log di AppFlow
    • Logging NAT su larga scala
    • Registrazione dei messaggi ALG
    • Log degli iscritti
    • DNS
    • Intercettazione SSL
    • Filtro degli URL
    • Log di ispezione dei contenuti
  9. Fai clic su Ok per creare il server di controllo.

Collega il criterio di controllo creato al server

  1. Nell'interfaccia web di NetScaler, seleziona Configurazione > Sistema > Controllo qualità > Syslog.
  2. Fai clic sulla scheda Norme.
  3. Nel campo Nome, inserisci un nome per il criterio.
  4. Nell'elenco Server, seleziona il criterio dalla sezione precedente.
  5. Fai clic su Crea.
  6. Fai clic con il tasto destro del mouse sul criterio di controllo creato e seleziona Azione > Associazioni globali.
  7. Fai clic su Aggiungi associazione.
  8. Nella finestra Associazione criteri, procedi nel seguente modo:
    1. Nel campo Seleziona criterio, inserisci il criterio di controllo creato.
    2. Nel riquadro Dettagli vincolo, inserisci 120 nel campo Priorità, poiché si tratta della priorità predefinita.
    3. Fai clic su Associa.

Configura NetScaler SDX

Per configurare NetScaler SDX in modo che invii i log al forwarder di Google Security Operations:

Verifica la configurazione del nome host per NetScaler SDX

  1. Accedi all'interfaccia web di NetScaler utilizzando le credenziali di amministratore.
  2. Nell'interfaccia web di NetScaler, seleziona Sistema > Impostazioni di sistema.
  3. Se il campo Nome host è vuoto, inserisci il nome host. Non includere spazi. Se questo campo è già configurato, non è richiesta alcuna azione.
  4. Nel campo Fuso orario, seleziona UTC o GMT.

Configura il server syslog

  1. Nell'interfaccia web di NetScaler, seleziona Sistema > Notifiche > Server Syslog.
  2. Nel riquadro Dettagli, fai clic su Aggiungi.
  3. Nella finestra Crea server syslog, specifica i valori per i seguenti parametri del server syslog:
    1. Nel campo Nome, inserisci un nome.
    2. Nel campo Indirizzo IP, inserisci l'indirizzo IP del forwarder di Google Security Operations.
    3. Nel campo Porta, inserisci il numero della porta.
    4. Seleziona Livelli di log come Personalizzato.
    5. Seleziona tutti i livelli di log tranne Debug.
  4. Fai clic su Crea.

Configura i parametri syslog

  1. Nell'interfaccia web di NetScaler, seleziona Sistema > Notifiche > Server Syslog.
  2. Nel riquadro Dettagli, fai clic su Parametri syslog.
  3. Nella pagina Configura i parametri syslog, seleziona Formato data come MMDDAAAA e Fuso orario come GMT.
  4. Fai clic su Ok.

Configura il forwarder di Google Security Operations per importare i log di NetScaler

  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 Citrix NetScaler come Tipo di log.
  7. Nel campo Tipo di raccoglitore, seleziona Syslog.
  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 raccoglitore 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 elabora i log SYSLOG di Citrix Netscaler in formato chiave-valore, estraendo i dati in formato JSON dal campo message e arricchendo l'UDM con le informazioni di altri campi come host.hostname e user_agent.original dopo averli sottoposti a sanificazione. Gestisce i casi in cui il messaggio principale è vuoto ricorrendo al messaggio di log originale.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
AAA trans id security_result.detection_fields[].value Valore estratto dal campo "AAA trans id".
Accesso security_result.action_details Se "Accesso" è "Consentito", imposta security_result.action su ALLOW. Se "Accesso" è "Rifiutato", imposta security_result.action su BLOCCA.
applicationName principal.application Valore estratto dal campo "applicationName".
Browser_type network.http.user_agent Valore estratto dal campo "Browser_type".
ClientIP principal.ip, principal.asset.ip Valore estratto dal campo "ClientIP".
ClientPort principal.port Valore estratto dal campo "ClientPort".
client_cookie additional.fields[].value.string_value Valore estratto dal campo "client_cookie".
Comando target.process.command_line Valore estratto dal campo "Comando".
connectionId security_result.detection_fields[].value Valore estratto dal campo "connectionId".
Destinazione target.ip, target.asset.ip Valore estratto dal campo "Destinazione".
Destinazione target.ip, target.asset.ip Valore estratto dal campo "Destinazione".
device_serial_number target.asset_id target.asset_id è impostato su "device_serial_number:".
Durata network.session_duration.seconds La durata viene convertita in secondi e mappata.
Ora di fine security_result.detection_fields[].value Valore estratto dal campo "Ora di fine".
Failure_reason metadata.description Valore estratto dal campo "Failure_reason".
flags additional.fields[].value.string_value Valore estratto dal campo "flags".
Gruppi target.group.group_display_name Valore estratto dal campo "Gruppi".
Motivo metadata.description Valore estratto dal campo "Motivo".
Remote_ip target.ip, target.asset.ip Valore estratto dal campo "Remote_ip".
ServerIP target.ip, target.asset.ip Valore estratto dal campo "ServerIP".
ServerPort target.port Valore estratto dal campo "ServerPort".
session_guid metadata.product_log_id Valore estratto dal campo "session_guid".
SessionId network.session_id Valore estratto dal campo "SessionId".
Origine principal.ip, principal.asset.ip Valore estratto dal campo "Origine".
Ora di inizio security_result.detection_fields[].value Valore estratto dal campo "Ora di inizio".
startTime security_result.detection_fields[].value Valore estratto dal campo "startTime".
Stato security_result.description Valore estratto dal campo "Stato".
Total_bytes_recv network.received_bytes Valore estratto dal campo "Total_bytes_recv".
Total_bytes_send network.sent_bytes Valore estratto dal campo "Total_bytes_send".
Total_bytes_wire_recv security_result.detection_fields[].value Valore estratto dal campo "Total_bytes_wire_recv".
Total_bytes_wire_send security_result.detection_fields[].value Valore estratto dal campo "Total_bytes_wire_send".
Utente principal.user.userid Valore estratto dal campo "Utente".
VserverServiceIP target.ip, target.asset.ip Valore estratto dal campo "VserverServiceIP".
VserverServicePort target.port Valore estratto dal campo "VserverServicePort". Hardcoded su "CITRIX". Hardcoded su "NETSCALER". Hardcoded su "CITRIX_NETSCALER". Determinato dall'analizzatore in base a product_event_type. Esempi: NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_STATS, STATUS_UPDATE, USER_UNCATEGORIZED, GENERIC_EVENT. Valore estratto dal prefisso del log (ad es. CONN_DELINK, CONN_TERMINATE, OTHERCONN_DELINK e così via). Una breve descrizione dell'evento, a volte derivata da altri campi come "Motivo" o "Motivo_errore". Calcolata dai campi della data e dell'ora nella voce di log. Il parser gestisce vari formati e fusi orari. Estratto dal campo "nomeutente:nomedominio", prendendo la parte dopo i due punti. Hardcoded su TCP per gli eventi con "TCP" in metadata.product_event_type. Imposta su ALLOW per gli accessi e i comandi riusciti, su BLOCK per gli accessi non riusciti e l'accesso alle risorse bloccato. Derivato da campi come "Status", "Failure_reason" e "Access". Impostato su USERNAME_PASSWORD quando il nome utente e la password vengono utilizzati per l'autenticazione (dedotto da determinati messaggi di log). Impostato su VPN per gli eventi di accesso/uscita relativi alla VPN. Analizzata dal campo network.http.user_agent utilizzando una libreria di analisi dello user-agent.

Modifiche

2024-05-21

  • È stato modificato un pattern Grok per analizzare i log eliminati.

2024-05-20

  • È stato aggiunto un nuovo pattern Grok per analizzare i log non analizzati.

2024-05-08

  • Mappatura aggiornata delle informazioni sulla durata da "security_results" a "network.session_duration" .

2024-04-29

  • È stato aggiunto il controllo condizionale per "Browser_type" e mappato a "network.http.parsed_user_agent".
  • È stato aggiunto il controllo condizionale per "userId" e "user_email".
  • "Browser" è stato mappato a "network.http.parsed_user_agent".

2024-02-23

  • Pattern Grok aggiornato per analizzare il nome host come previsto nel campo UDM.

2024-01-25

  • Sono stati aggiunti pattern Grok per analizzare i log in cui "message_type" è "Message", "NONHTTP_RESOURCEACCESS_DENIED", "UDPFLOWSTAT" ed "EXTRACTED_GROUPS".
  • È stato aggiunto il supporto per l'analisi dei log in cui "feature" è "GUI" ed "EVENT".
  • "principal_port" è stato mappato a "principal.port".
  • "ClientIP" è stato mappato a "principal.asset.ip".
  • "principal_ip" è stato mappato a "principal.ip" e "principal.asset.ip".
  • "target_ip" è stato mappato a "target.ip" e "target.asset.ip".
  • "target_port" è stato mappato a "target.port".
  • "description" è stato mappato a "metadata.description".
  • Sono stati mappati "type", "aaa_trans_id", "pcb_trans_id", "pcb_state", "pcb_label", "trans_id", "authPolicyLen", "login_attempts", "PromptLen", "partitionLen", "cmdPolicyLen" e "ssh_pubkey_len" a "security_result.detection_fields".
  • "principal_hostname" è stato mappato a "principal.hostname" e "principal.asset.hostname".
  • "hostname" è stato mappato a "intermediary.asset.hostname".
  • "hostname" è stato mappato a "observer.asset.hostname".
  • "cip", "ServerIP", "VIP", "VserverServiceIP" e "Remote_ip" sono stati mappati a "target.asset.ip".
  • Quando "message_type" è "Message", mappa "Utente" a "principal.user.userid".
  • Quando sono presenti "principal_ip" e "target_ip", imposta "metadata.event_type" su "NETWORK_CONNECTION".
  • Quando sono presenti "Client_ip" e "target_ip", imposta "metadata.event_type" su "NETWORK_CONNECTION".
  • Quando "message_type" è "NONHTTP_RESOURCEACCESS_DENIED" e "UDPFLOWSTAT", imposta "metadata.event_type" su "USER_STATS".
  • Quando "message_type" è "Message" e "User" è presente, imposta "metadata.event_type" su "USER_UNCATEGORIZED".
  • Quando "principal_ip" è presente, imposta "metadata.event_type" su "STATUS_UPDATE".

2023-11-26

  • Enhancement-
  • Sono stati aggiunti pattern Grok per analizzare i log in cui "message_type" è "Message".

2023-07-21

  • Miglioramento: è stato aggiornato il parser per analizzare correttamente i log contenenti la funzionalità "CLI".

2022-09-26

  • Miglioramento: è stata eseguita la migrazione degli analizzatori sintattici personalizzati all'analizzatore sintattico predefinito.

2022-06-09

  • Miglioramento: sono state aggiunte le mappature richieste:
  • Sono stati mappati "startTime", "endTime" e "Duration" a "security_result.detection_fields".
  • È stato aggiornato il parser per analizzare i log contenenti message_type - "CHANNEL_UPDATE", "NETWORK_UPDATE", "AAATM Message".

2022-05-09

  • Correzione di bug: il parser è stato aggiornato per analizzare correttamente i log contenenti message_type - "TCPCONNSTAT".
  • È stato aggiornato il grok per includere il nome di dominio completo in "principal.administrative_domain".
  • Analisi dei log non riuscita durante il test dell'API di convalida.

2022-04-27

  • Miglioramento: sono state aggiunte le mappature richieste
  • Campo intermediario.hostname mappato
  • Log relativi agli errori dell'API analizzata