Citrix ADC

Comment enregistrer une trace de paquets sur Citrix ADC

Cet article de dépannage explique comment un administrateur peut enregistrer un suivi de paquet réseau à l’aide de l’interface utilisateur graphique Citrix ADC.

Points à retenir

  • Citrix vous recommande d’utiliser la version récente de Wireshark dans la « section de génération automatisée » disponible sur la page Web suivante : http://www.wireshark.org/download/automated.

  • Dans Citrix ADC version 11.1 ou ultérieure, pour déchiffrer la capture et s’assurer que les paramètres ECC (Elliptic Curve Cryptography), Session Reuse et DH sont désactivés sur le serveur virtuel. Vous devez le faire avant de capturer une trace.

Enregistrer le suivi des paquets sur NetScaler version 11.1

  1. Accédez à la page Système > Diagnostics .
  2. cliquez sur le lien Démarrer une nouvelle trace dans la page Diagnostic, comme indiqué dans la capture d’écran suivante.

    Page Diagnostic

  3. Mettez à jour la taille du paquet sur 0 dans le champ Taille du paquet .

    Taille du paquet

  4. Cliquez sur Démarrer pour commencer à enregistrer le suivi des paquets réseau.
  5. Cliquez sur Arrêter et télécharger pour arrêter l’enregistrement du suivi des paquets réseau une fois le test terminé.

    Trace d'arrêt et de téléchargement

  6. Sélectionnez le fichier requis et cliquez sur Sélectionner, puis sur Télécharger.

    Télécharger le suivi des paquets

  7. Ouvrez le fichier de suivi des paquets réseau à l’aide de l’utilitaire Wireshark pour afficher le contenu du fichier.

    Remarque : Sélectionnez Paquets SSL décryptés (SSLPLAIN) pour déchiffrer le suivi des paquets sans la clé privée.

    Paquets SSL déchiffrés

Capturez les clés principales SSL

Dans les versions 11.0, 11.1 et supérieures, il existe une option permettant de capturer les clés de session qui n’est valide que pour cette session/nstrace particulière et cette option peut être utilisée si vous ne souhaitez pas partager la clé privée ou utiliser le mode SSLPLAIN. Pour de plus amples informations, consultez https://support.citrix.com/article/CTX135889.

Exporter des clés de session sans partager de clé privée

Dans la plupart des scénarios, la clé privée n’est ni disponible ni partagée. Dans de tels cas, nous pouvons suggérer d’exporter les clés de session SSL au lieu de la clé privée. Lisez [Comment exporter et utiliser des clés de session SSL pour déchiffrer les traces SSL sans partager la clé privée SSL, voir https://support.citrix.com/article/CTX135889.

Filtres

De plus, il est toujours recommandé d’ajouter des filtres basés sur IP lors de la prise de traces. Le processus garantit que vous ne capturez que le trafic intéressé, ce qui facilite votre dépannage. L’ajout de filtres réduit également la charge sur l’appliance lors de la prise de traces.

Section Filtre

Des filtres basés sur IP simples suffisent pour obtenir les bonnes captures. Pour plus d’informations sur nstrace les filtres et les exemples, consultez la page Documentation Citrix .

Cas d’utilisation pour capturer une trace de paquets avec un filtre IP du serveur virtuel (à la fois frontal et backend)

À l’aide d’un filtre de l’adresse IP du serveur virtuel et en activant l’option « —link » dans la CLI ou en sélectionnant l’option « Trace filtered connection peer traffic » dans l’interface utilisateur graphique (disponible 10.1 et versions ultérieures), vous pouvez capturer à la fois le trafic frontal et le trafic back-end pour l’adresse IP.

start nstrace -size 0 -filter "CONNECTION.IP.EQ(1.1.1.1)" -link ENABLED

show nstrace
        State:  RUNNING          Scope:  LOCAL            TraceLocation:  "/var/nstrace/24Mar2017_16_00_19/..." Nf:  24                  Time:  3600              Size:  0                 Mode:  TXB NEW_RX
        Traceformat:  NSCAP      PerNIC:  DISABLED        FileName:  24Mar2017_16_00_19 Filter:  "CONNECTION.IP.EQ(1.1.1.1)" Link:  ENABLED           Merge:  ONSTOP           Doruntimecleanup:  ENABLED
        TraceBuffers:  5000      SkipRPC:  DISABLED       Capsslkeys:  DISABLED    InMemoryTrace:  DISABLED
<!--NeedCopy-->

Merge

Capture de traces cycliques

Il est toujours difficile de résoudre un problème intermittent. Le suivi cyclique est le mieux adapté aux problèmes intermittents. Les traces peuvent être exécutées pendant quelques heures ou quelques jours avant que le problème ne se produise. Vous pouvez également utiliser un filtre spécifique et évaluer la taille des fichiers de suivi générés avant de les exécuter plus longtemps.

Exécutez la commande suivante depuis l’interface de ligne de commande :

start nstrace -nf 60 -time 30 -size 0
This particular trace will create 60 files each of them for 30 sec. This means the files will start getting overwritten after 60 trace files or 30 mins
Show nstrace à To check the status of the nstrace
Stop nstrace à To stop the nstrace.

<!--NeedCopy-->

Recommandations

Sur une unité traitant des Go de trafic par seconde, la capture du trafic est un processus très gourmand en ressources. L’impact sur les ressources se situe principalement en termes de CPU et d’espace disque. L’impact sur l’espace disque peut être réduit en utilisant des expressions de filtrage. Cependant, l’impact sur le processeur persiste et entraîne parfois une légère augmentation, car l’appliance doit maintenant traiter les paquets en fonction du filtre avant de les capturer.

Les meilleures pratiques concernant le traçage sont les suivantes :

  1. La durée pendant laquelle la trace est exécutée doit être aussi limitée que possible lorsque vous vous assurez toujours que les paquets d’intérêt sont capturés.
  2. Planifiez l’activité de suivi pour qu’elle se produise à un moment où le nombre d’utilisateurs (et donc le trafic) est fortement réduit, par exemple en dehors des heures de travail.

Plus de ressources

Désactiver la réutilisation de session sur le serveur virtuel depuis l’interface

La réutilisation de session est désactivée lorsque vous capturez une trace pour terminer une négociation SSL dans la trace. Lorsqu’elle est activée, vous pouvez capturer une poignée de main partielle dans la trace. Assurez-vous d’activer l’option après la collecte des traces. Ne désactivez pas la réutilisation d’une session SSL lorsque la méthode de persistance est sslsession, car elle interrompt la persistance pour les connexions existantes. Pour plus d’informations, reportez-vous à la section https://support.citrix.com/article/CTX121925.

  1. Ouvrez le serveur virtuel et accédez à Paramètres SSL.
  2. Désactivez l’option Activer la réutilisation de session si

    Autoriser la réutilisation

Désactiver la réutilisation de session sur le serveur virtuel depuis l’interface

  1. Connexion SSH à la console de l’appliance.
  2. Exécutez la commande suivante pour désactiver DH Param sur le serveur virtuel :

    set ssl vserver "vServer_Name" -sessReuse DISABLED

Désactiver le paramètre DH sur le serveur virtuel depuis l’interface graphique

Reportez-vous à https://support.citrix.com/article/CTX213335 Pour en savoir plus sur le paramètre DH.

  1. Ouvrez le serveur virtuel et accédez à Paramètres SSL.
  2. Désactivez DH Param s’il est activé.

    Paramètres SSL

Désactiver le paramètre DH sur le serveur virtuel depuis la CLI

  1. Connexion SSH à la console de l’appliance.
  2. Exécutez la commande suivante pour désactiver DH Param sur le serveur virtuel :

    set ssl vserver "vServer_Name" -dh DISABLED

Désactiver la courbe ECC sur le serveur virtuel à partir de l’interface utilisateur

La courbe ECC est désactivée pour déchiffrer la trace SSL capturée avec une clé privée. Vous ne devez pas désactiver les clés si les chiffrements SSL associés sont utilisés. Pour plus d’informations sur la courbe ECC, voir https://support.citrix.com/article/CTX205289

  1. Ouvrez le serveur virtuel et accédez à ECC Curve.

    Courbe ECC

  2. Si aucune courbe ECC n’est liée au serveur virtuel, aucune autre action n’est requise.

    Pas de courbe CC

  3. Si une courbe ECC est liée au serveur virtuel, cliquez sur la courbe ECC et dissociez-la du serveur virtuel.

Désactiver la courbe ECC sur le serveur virtuel depuis la CLI

  1. Connexion SSH à la console de l’appliance.
  2. Exécutez la commande suivante pour chaque courbe ECC liée au serveur virtuel :

    unbind ssl vserver "vServer_Name" -eccCurveName "ECC_Curve_Name"

Comment enregistrer une trace de paquets sur Citrix ADC