Collecter les journaux NetScaler

Compatible avec :

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érifier la configuration du nom d'hôte

  1. Connectez-vous à l'interface Web NetScaler à l'aide des identifiants d'administrateur.
  2. Sélectionnez Configuration> Paramètres.
  3. Cliquez sur Nom d'hôte, adresse IP DNS et fuseau horaire.
  4. 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.
  5. Dans le champ Adresse IP du DNS, vérifiez si l'adresse IP du DNS local est spécifiée.
  6. Dans le champ Fuseau horaire, saisissez votre fuseau horaire.

Créer un serveur d'audit

  1. Dans l'interface Web NetScaler, sélectionnez Configuration > System > Auditing > Syslog > Servers.
  2. Spécifiez les détails syslog dans les champs suivants :
    • Nom
    • Type de serveur
    • Adresse IP
    • Port
  3. Sélectionnez Niveaux de journalisation, puis Personnalisé.
  4. Cochez toutes les cases, sauf celle du niveau DEBUG dans la configuration.
  5. Dans la liste Installation du journal, sélectionnez LOCAL0.
  6. Dans la liste Format de la date, sélectionnez MMJJAAAA.
  7. Sélectionnez Fuseau horaire et définissez-le sur GMT.
  8. 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
  9. Cliquez sur OK pour créer le serveur d'audit.

Associez la règle d'audit créée au serveur.

  1. Dans l'interface Web NetScaler, sélectionnez Configuration > System > Auditing > Syslog.
  2. Cliquez sur l'onglet Règles.
  3. Dans le champ Nom, saisissez un nom pour la règle.
  4. Dans la liste Serveur, sélectionnez la règle de la section précédente.
  5. Cliquez sur Créer.
  6. Effectuez un clic droit sur la règle d'audit créée, puis sélectionnez Action > Liaisons globales.
  7. Cliquez sur Ajouter une liaison.
  8. Dans la fenêtre Policy binding (Association de règles), procédez comme suit :
    1. Dans le champ Sélectionner une règle, saisissez la règle d'audit créée.
    2. Dans le volet Détails de la liaison, dans le champ Priorité, saisissez 120, car il s'agit de la priorité par défaut.
    3. 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érifier la configuration du nom d'hôte pour NetScaler SDX

  1. Connectez-vous à l'interface Web NetScaler à l'aide des identifiants d'administrateur.
  2. Dans l'interface Web NetScaler, sélectionnez System > System settings (Système > Paramètres système).
  3. 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.
  4. Dans le champ Fuseau horaire, sélectionnez UTC ou GMT.

Configurer le serveur syslog

  1. Dans l'interface Web NetScaler, sélectionnez System> Notifications> Syslog servers.
  2. Dans le volet Détails, cliquez sur Ajouter.
  3. Dans la fenêtre Créer un serveur Syslog, spécifiez les valeurs des paramètres suivants du serveur Syslog :
    1. Dans le champ Nom, saisissez un nom.
    2. Dans le champ Adresse IP, saisissez l'adresse IP du redirecteur Google Security Operations.
    3. Dans le champ Port, saisissez le numéro de port.
    4. Sélectionnez Niveaux de journalisation, puis Personnalisé.
    5. Sélectionnez tous les niveaux de journalisation, sauf Debug (Débogage).
  4. Cliquez sur Créer.

Configurer les paramètres syslog

  1. Dans l'interface Web NetScaler, sélectionnez System> Notifications> Syslog servers.
  2. Dans le volet Détails, cliquez sur Paramètres Syslog.
  3. Sur la page Configurer les paramètres syslog, sélectionnez Format de la date comme MMJJAAAA et Fuseau horaire comme GMT.
  4. Cliquez sur OK.

Configurer le transmetteur Google Security Operations pour ingérer les journaux NetScaler

  1. Sélectionnez Paramètres SIEM > Transmetteurs.
  2. Cliquez sur Ajouter un nouveau transfert.
  3. Dans le champ Nom du transfert, saisissez un nom unique pour le transfert.
  4. Cliquez sur Envoyer, puis sur Confirmer. Le redirecteur est ajouté et la fenêtre Ajouter une configuration de collecteur s'affiche.
  5. Dans le champ Nom du collecteur, saisissez un nom unique pour le collecteur.
  6. Sélectionnez Citrix NetScaler comme type de journal.
  7. Dans le champ Type de collecteur, sélectionnez Syslog.
  8. 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.
  9. 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.