Collecter les journaux NetScaler
Ce document explique comment collecter les journaux NetScaler à l'aide d'un transfert Google Security Operations.
Pour en savoir plus, consultez la section Présentation de l'ingestion de données dans Google Security Operations.
Un libellé d'ingestion identifie l'analyseur qui normalise les données de journal brutes au format UDM structuré. Les informations de ce document s'appliquent à l'analyseur avec le libellé d'ingestion CITRIX_NETSCALER
.
Configurer NetScaler VPX
Pour configurer NetScaler VPX afin qu'il envoie des journaux au transpondeur Google Security Operations, procédez comme suit:
- Vérifiez la configuration du nom d'hôte.
- Créez un serveur d'audit.
- Liez la stratégie d'audit créée au serveur.
Vérifier la configuration du nom d'hôte
- Connectez-vous à l'interface Web NetScaler à l'aide d'identifiants administrateur.
- Sélectionnez Configuration > Paramètres.
- Cliquez sur Nom d'hôte, adresse IP DNS et fuseau horaire.
- Si le champ Host name (Nom d'hôte) est vide, saisissez le nom d'hôte. N'incluez pas d'espaces. Si ce champ est déjà configuré, aucune action n'est requise de votre part.
- Dans le champ DNS IP address (Adresse IP du DNS), vérifiez si l'adresse IP du DNS local est spécifiée.
- Dans le champ Fuseau horaire, saisissez votre fuseau horaire.
Créer un serveur d'audit
- Dans l'interface Web NetScaler, sélectionnez Configuration > Système > Audit > Syslog > Serveurs.
- Spécifiez les informations syslog dans les champs suivants :
- Nom
- Type de serveur
- Adresse IP
- Port
- Sélectionnez Niveaux de journalisation comme Personnalisé.
- Cochez toutes les cases, sauf le niveau DEBUG dans la configuration.
- Dans la liste Log facility (Service de journalisation), sélectionnez LOCAL0.
- Dans la liste Format de date, sélectionnez MMDDAAAA.
- Sélectionnez Fuseau horaire comme GMT.
- Décochez les cases suivantes :
- Journalisation TCP
- Journalisation des LCA
- Messages de journal configurables par l'utilisateur
- Journalisation AppFlow
- Journalisation NAT à grande échelle
- Journalisation des messages de l'ALG
- Journalisation des abonnés
- DNS
- Interception SSL
- Filtrage des URL
- Journalisation de l'inspection du contenu
- Cliquez sur OK pour créer le serveur d'audit.
Lier la stratégie d'audit créée au serveur
- Dans l'interface Web NetScaler, sélectionnez Configuration > Système > Audit > Syslog.
- Cliquez sur l'onglet Règles.
- Dans le champ Nom, saisissez un nom pour la stratégie.
- Dans la liste Serveur, sélectionnez la stratégie de la section précédente.
- Cliquez sur Créer.
- Effectuez un clic droit sur la stratégie d'audit créée, puis sélectionnez Action > Liaisons globales.
- Cliquez sur Ajouter une liaison.
- Dans la fenêtre Liaison de règles, procédez comme suit :
- Dans le champ Select policy (Sélectionner une règle), saisissez la règle d'audit créée.
- Dans le volet Binding details (Détails de la liaison), dans le champ Priority (Priorité), saisissez 120, car il s'agit de la priorité par défaut.
- Cliquez sur Bind (Lier).
Configurer NetScaler SDX
Pour configurer le NetScaler SDX afin qu'il envoie des journaux au forwarder Google Security Operations, procédez comme suit:
- Vérifiez la configuration du nom d'hôte pour NetScaler SDX.
- Configurez le serveur syslog.
- Configurez les paramètres syslog.
Vérifier la configuration du nom d'hôte pour NetScaler SDX
- Connectez-vous à l'interface Web NetScaler à l'aide d'identifiants administrateur.
- Dans l'interface Web NetScaler, sélectionnez System > System settings (Système > Paramètres système).
- Si le champ Host name (Nom d'hôte) est vide, saisissez le nom d'hôte. N'incluez pas d'espaces. Si ce champ est déjà configuré, aucune action n'est requise de votre part.
- Dans le champ Fuseau horaire, sélectionnez UTC ou GMT.
Configurer le serveur syslog
- Dans l'interface Web NetScaler, sélectionnez System > Notifications > Syslog servers (Système > Notifications > Serveurs Syslog).
- Dans le volet Détails, cliquez sur Ajouter.
- Dans la fenêtre Create syslog server (Créer un serveur syslog), spécifiez les valeurs des paramètres de serveur syslog suivants :
- Dans le champ Nom, saisissez un nom.
- Dans le champ Adresse IP, saisissez l'adresse IP du forwarder Google Security Operations.
- Dans le champ Port, saisissez le numéro de port.
- Sélectionnez Niveaux de journalisation comme Personnalisé.
- Sélectionnez tous les niveaux de journalisation, à l'exception de Debug (Débogage).
- Cliquez sur Créer.
Configurer les paramètres syslog
- Dans l'interface Web NetScaler, sélectionnez System > Notifications > Syslog servers (Système > Notifications > Serveurs Syslog).
- Dans le volet Détails, cliquez sur Paramètres Syslog.
- Sur la page Configurer les paramètres syslog, sélectionnez Date format (Format de date) sur MMDDYYYY et Time zone (Fuseau horaire) sur GMT.
- Cliquez sur OK.
Configurer le transmetteur Google Security Operations pour ingérer les journaux NetScaler
- Sélectionnez Paramètres du SIEM > Transferts.
- Cliquez sur Ajouter un forwarder.
- Dans le champ Nom du forwarder, saisissez un nom unique pour le forwarder.
- Cliquez sur Envoyer, puis sur Confirmer. Le forwarder est ajouté, et la fenêtre Ajouter une configuration de collecteur s'affiche.
- Dans le champ Nom du collecteur, saisissez un nom unique pour le collecteur.
- Sélectionnez Citrix NetScaler comme Type de journal.
- Dans le champ Type de collecteur, sélectionnez Syslog.
- Configurez les paramètres d'entrée obligatoires suivants :
- Protocole: spécifiez le protocole de connexion utilisé par le collecteur pour écouter les données syslog.
- Address (Adresse) : spécifiez l'adresse IP ou le nom d'hôte cible où se trouve le collecteur et où il écoute les données syslog.
- Port: spécifiez le port cible sur lequel se trouve le collecteur et qui écoute les données syslog.
- Cliquez sur Envoyer.
Pour en savoir plus sur les transferts Google Security Operations, consultez Gérer les configurations de transfert via l'interface utilisateur de Google Security Operations.
Si vous rencontrez des problèmes lors de la création de transmetteurs, contactez l'assistance Google Security Operations.
Référence du mappage de champs
Cet analyseur traite les journaux SYSLOG Citrix Netscaler au format clé-valeur, extrait les données au format JSON du champ message
et enrichit l'UDM avec des informations provenant d'autres champs tels que host.hostname
et user_agent.original
après les avoir nettoyées. Il gère les cas où le message principal est vide en revenant au message de journal d'origine.
Tableau de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
ID de transaction AAA | security_result.detection_fields[].value |
Valeur extraite du champ "AAA trans id". |
Accès | security_result.action_details |
Si "Accès" est défini sur "Autorisé", définissez security_result.action sur ALLOW. Si "Accès" est défini sur "Refusé", définissez security_result.action sur "BLOCK" (BLOQUER). |
applicationName | principal.application |
Valeur extraite du champ "applicationName". |
Browser_type | network.http.user_agent |
Valeur extraite du champ "Browser_type". |
ClientIP | principal.ip , principal.asset.ip |
Valeur extraite du champ "ClientIP". |
ClientPort | principal.port |
Valeur extraite du champ "ClientPort". |
client_cookie | additional.fields[].value.string_value |
Valeur extraite du champ "client_cookie". |
Commande | target.process.command_line |
Valeur extraite du champ "Commande". |
connectionId | security_result.detection_fields[].value |
Valeur extraite du champ "connectionId". |
Destination | target.ip , target.asset.ip |
Valeur extraite du champ "Destination". |
Destination | target.ip , target.asset.ip |
Valeur extraite du champ "Destination". |
device_serial_number | target.asset_id |
target.asset_id est défini sur "device_serial_number: |
Durée | network.session_duration.seconds |
La durée est convertie en secondes et mappée. |
Heure de fin | security_result.detection_fields[].value |
Valeur extraite du champ "Heure de fin". |
Failure_reason | metadata.description |
Valeur extraite du champ "Failure_reason". |
flags | additional.fields[].value.string_value |
Valeur extraite du champ "flags". |
Groupe(s) | target.group.group_display_name |
Valeur extraite du champ "Groupe(s)". |
Motif | metadata.description |
Valeur extraite du champ "Motif". |
Remote_ip | target.ip , target.asset.ip |
Valeur extraite du champ "Remote_ip". |
ServerIP | target.ip , target.asset.ip |
Valeur extraite du champ "ServerIP". |
ServerPort | target.port |
Valeur extraite du champ "ServerPort". |
session_guid | metadata.product_log_id |
Valeur extraite du champ "session_guid". |
SessionId | network.session_id |
Valeur extraite du champ "SessionId". |
Source | principal.ip , principal.asset.ip |
Valeur extraite du champ "Source". |
Heure de début | security_result.detection_fields[].value |
Valeur extraite du champ "Heure de début". |
startTime | security_result.detection_fields[].value |
Valeur extraite du champ "startTime". |
État | security_result.description |
Valeur extraite du champ "État". |
Total_bytes_recv | network.received_bytes |
Valeur extraite du champ "Total_bytes_recv". |
Total_bytes_send | network.sent_bytes |
Valeur extraite du champ "Total_bytes_send". |
Total_bytes_wire_recv | security_result.detection_fields[].value |
Valeur extraite du champ "Total_bytes_wire_recv". |
Total_bytes_wire_send | security_result.detection_fields[].value |
Valeur extraite du champ "Total_bytes_wire_send". |
Utilisateur | principal.user.userid |
Valeur extraite du champ "Utilisateur". |
VserverServiceIP | target.ip , target.asset.ip |
Valeur extraite du champ "VserverServiceIP". |
VserverServicePort | target.port |
Valeur extraite du champ "VserverServicePort". Code codé en dur sur "CITRIX". Code codé en dur sur "NETSCALER". Code dur "CITRIX_NETSCALER". Déterminé par l'analyseur en fonction de "product_event_type". Exemples: NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_STATS, STATUS_UPDATE, USER_UNCATEGORIZED, GENERIC_EVENT. Valeur extraite du préfixe du journal (par exemple, CONN_DELINK, CONN_TERMINATE, OTHERCONN_DELINK, etc.). Brève description de l'événement, parfois dérivée d'autres champs tels que "Reason" (Motif) ou "Failure_reason" (Motif d'échec). Calculé à partir des champs de date et d'heure de l'entrée de journal. L'analyseur gère différents formats et fuseaux horaires. Extrait du champ "nom d'utilisateur:nom de domaine", en prenant la partie située après le deux-points. Codé en dur sur TCP pour les événements avec "TCP" dans metadata.product_event_type . Définissez la valeur sur ALLOW pour les connexions et les commandes réussies, et sur BLOCK pour les connexions et l'accès aux ressources bloqués. Dérivé de champs tels que "État", "Failure_reason" et "Accès". Défini sur USERNAME_PASSWORD lorsque le nom d'utilisateur et le mot de passe sont utilisés pour l'authentification (inféré à partir de certains messages de journal). Définissez la valeur sur "VPN" pour les événements de connexion/déconnexion liés au VPN. Analysé à partir du champ network.http.user_agent à l'aide d'une bibliothèque d'analyse de l'user-agent. |
Modifications
2024-05-21
- Modification d'un format Grok pour analyser les journaux abandonnés.
2024-05-20
- Ajout d'un nouveau format Grok pour analyser les journaux non analysés.
2024-05-08
- Mise à jour du mappage des informations de durée de "security_results" vers "network.session_duration" .
2024-04-29
- Ajout d'une vérification conditionnelle pour "Browser_type" et mappage sur "network.http.parsed_user_agent".
- Ajout d'une vérification conditionnelle pour "userId" et "user_email".
- Mappage de "Navigateur" sur "network.http.parsed_user_agent".
2024-02-23
- Mise à jour du format Grok pour analyser le nom d'hôte comme prévu dans le champ UDM.
2024-01-25
- Ajout de modèles Grok pour analyser les journaux où "message_type" est "Message", "NONHTTP_RESOURCEACCESS_DENIED", "UDPFLOWSTAT" et "EXTRACTED_GROUPS".
- Ajout de la possibilité d'analyser les journaux où "feature" est "GUI" et "EVENT".
- Mappage de "principal_port" sur "principal.port".
- Mappage de "ClientIP" sur "principal.asset.ip".
- Mappage de "principal_ip" sur "principal.ip" et "principal.asset.ip".
- Mappage de "target_ip" sur "target.ip" et "target.asset.ip".
- Mappage de "port_cible" sur "port.cible".
- Mappage de "description" sur "metadata.description".
- Mappage de "type", "aaa_trans_id", "pcb_trans_id", "pcb_state", "pcb_label", "trans_id", "authPolicyLen", "login_attempts", "PromptLen", "partitionLen", "cmdPolicyLen" et "ssh_pubkey_len" sur "security_result.detection_fields".
- Mappage de "principal_hostname" sur "principal.hostname" et "principal.asset.hostname".
- "hostname" a été mappé sur "intermediary.asset.hostname".
- "hostname" a été mappé sur "observer.asset.hostname".
- Mappage de "cip", "ServerIP", "VIP", "VserverServiceIP" et "Remote_ip" sur "target.asset.ip".
- Lorsque "message_type" est défini sur "Message", "User" est mappé sur "principal.user.userid".
- Lorsque "principal_ip" et "target_ip" sont présents, définissez "metadata.event_type" sur "NETWORK_CONNECTION".
- Lorsque "Client_ip" et "target_ip" sont présents, définissez "metadata.event_type" sur "NETWORK_CONNECTION".
- Lorsque "message_type" est "NONHTTP_RESOURCEACCESS_DENIED" et "UDPFLOWSTAT", définissez "metadata.event_type" sur "USER_STATS".
- Lorsque "message_type" est défini sur "Message" et que "User" est présent, définissez "metadata.event_type" sur "USER_UNCATEGORIZED".
- Lorsque "principal_ip" est présent, définissez "metadata.event_type" sur "STATUS_UPDATE".
2023-11-26
- Enhancement-
- Ajout de modèles Grok pour analyser les journaux où "message_type" est "Message".
2023-07-21
- Amélioration : mise à jour de l'analyseur pour analyser correctement les journaux contenant la fonctionnalité "CLI".
2022-09-26
- Amélioration : migration des analyseurs personnalisés vers l'analyseur par défaut.
2022-06-09
- Amélioration : ajout des mises en correspondance demandées :
- Correspondance de "startTime", "endTime" et "Duration" avec "security_result.detection_fields".
- Mise à jour de l'analyseur pour analyser les journaux contenant message_type : "CHANNEL_UPDATE", "NETWORK_UPDATE", "AAATM Message".
2022-05-09
- Correction de bug : mise à jour de l'analyseur pour analyser correctement les journaux contenant le message_type "TCPCONNSTAT".
- Modification du grok pour inclure le nom de domaine complet dans "principal.administrative_domain".
- Analyse des journaux qui échouent lors des tests de l'API Validation.
2022-04-27
- Amélioration : ajout des mises en correspondance demandées
- Champ "intermediary.hostname" mappé
- Journaux d'échec de l'API analysée