Collecter les journaux NetScaler
Ce document explique comment collecter les journaux NetScaler à l'aide d'un transmetteur Google Security Operations.
Pour en savoir plus, consultez la présentation de l'ingestion de données dans Google Security Operations.
Une étiquette d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent au parseur avec le libellé d'ingestion CITRIX_NETSCALER
.
Configurer NetScaler VPX
Pour configurer NetScaler VPX afin d'envoyer des journaux au redirecteur Google Security Operations, procédez comme suit :
- Vérifiez la configuration du nom d'hôte.
- Créez un serveur d'audit.
- Associez la règle d'audit créée au serveur.
Vérifier la configuration du nom d'hôte
- Connectez-vous à l'interface Web NetScaler à l'aide des identifiants d'administrateur.
- Sélectionnez Configuration> Paramètres.
- Cliquez sur Nom d'hôte, adresse IP DNS et fuseau horaire.
- Si le champ 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.
- Dans le champ 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 > System > Auditing > Syslog > Servers.
- Spécifiez les détails syslog dans les champs suivants :
- Nom
- Type de serveur
- Adresse IP
- Port
- Sélectionnez Niveaux de journalisation, puis Personnalisé.
- Cochez toutes les cases, sauf celle du niveau DEBUG dans la configuration.
- Dans la liste Installation du journal, sélectionnez LOCAL0.
- Dans la liste Format de la date, sélectionnez MMJJAAAA.
- Sélectionnez Fuseau horaire et définissez-le sur GMT.
- Décochez les cases suivantes :
- Journalisation TCP
- Journalisation des LCA
- Messages de journaux configurables par l'utilisateur
- Journalisation AppFlow
- Journalisation NAT à grande échelle
- Journalisation des messages 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.
Associez la règle d'audit créée au serveur.
- Dans l'interface Web NetScaler, sélectionnez Configuration > System > Auditing > Syslog.
- Cliquez sur l'onglet Règles.
- Dans le champ Nom, saisissez un nom pour la règle.
- Dans la liste Serveur, sélectionnez la règle de la section précédente.
- Cliquez sur Créer.
- Effectuez un clic droit sur la règle d'audit créée, puis sélectionnez Action > Liaisons globales.
- Cliquez sur Ajouter une liaison.
- Dans la fenêtre Policy binding (Association de règles), procédez comme suit :
- Dans le champ Sélectionner une règle, saisissez la règle d'audit créée.
- Dans le volet Détails de la liaison, dans le champ Priorité, saisissez 120, car il s'agit de la priorité par défaut.
- Cliquez sur Bind (Lier).
Configurer NetScaler SDX
Pour configurer NetScaler SDX afin d'envoyer des journaux au redirecteur 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 des identifiants d'administrateur.
- Dans l'interface Web NetScaler, sélectionnez System > System settings (Système > Paramètres système).
- Si le champ 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.
- 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.
- Dans le volet Détails, cliquez sur Ajouter.
- Dans la fenêtre Créer un serveur Syslog, spécifiez les valeurs des paramètres suivants du serveur Syslog :
- Dans le champ Nom, saisissez un nom.
- Dans le champ Adresse IP, saisissez l'adresse IP du redirecteur Google Security Operations.
- Dans le champ Port, saisissez le numéro de port.
- Sélectionnez Niveaux de journalisation, puis Personnalisé.
- Sélectionnez tous les niveaux de journalisation, sauf Debug (Débogage).
- Cliquez sur Créer.
Configurer les paramètres syslog
- Dans l'interface Web NetScaler, sélectionnez System> Notifications> Syslog servers.
- Dans le volet Détails, cliquez sur Paramètres Syslog.
- Sur la page Configurer les paramètres syslog, sélectionnez Format de la date comme MMJJAAAA et Fuseau horaire comme GMT.
- Cliquez sur OK.
Configurer le transmetteur Google Security Operations pour ingérer les journaux NetScaler
- Sélectionnez Paramètres SIEM > Transmetteurs.
- Cliquez sur Ajouter un nouveau transfert.
- Dans le champ Nom du transfert, saisissez un nom unique pour le transfert.
- Cliquez sur Envoyer, puis sur Confirmer. Le redirecteur 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.
- Adresse : spécifiez l'adresse IP ou le nom d'hôte cibles où le collecteur réside et écoute les données syslog.
- Port : spécifiez le port cible sur lequel le collecteur réside et écoute les données syslog.
- Cliquez sur Envoyer.
Pour en savoir plus sur les répartiteurs Google Security Operations, consultez Gérer les configurations des répartiteurs dans l'interface utilisateur Google Security Operations.
Si vous rencontrez des problèmes lors de la création de redirecteurs, contactez l'assistance Google Security Operations.
Référence du mappage de champs
Ce parseur 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.
Table 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 l'accès est refusé, définissez security_result.action sur BLOCK. |
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" (Motif de l'échec). |
flags | additional.fields[].value.string_value |
Valeur extraite du champ "flags". |
Groupe(s) | target.group.group_display_name |
Valeur extraite du champ "Groupes". |
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". Codé en dur sur "CITRIX". Codé en dur sur "NETSCALER". Codé en dur sur "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" (Raison) ou "Failure_reason" (Raison de l'échec). Calculée à 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 après le deux-points. Codé en dur sur TCP pour les événements comportant "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 ayant échoué et l'accès aux ressources bloqué. Elles sont dérivées de champs tels que "État", "Failure_reason" et "Access". Défini sur USERNAME_PASSWORD lorsque le nom d'utilisateur et le mot de passe sont utilisés pour l'authentification (déduit de certains messages du journal). Défini 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. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.