Linux Virtual Delivery Agent

Observation de session

L’observation de sessions permet aux administrateurs de domaine d’afficher les sessions ICA d’utilisateurs dans un intranet. La fonctionnalité utilise noVNC pour se connecter aux sessions ICA.

Remarque :

Pour utiliser cette fonctionnalité, utilisez Citrix Director 7.16 ou une version ultérieure.

Installation et configuration

Dépendances

Deux nouvelles dépendances, python-websockify et x11vnc, sont nécessaires pour l’observation de session. Installez manuellement python-websockify et x11vnc après avoir installé le Linux VDA.

Pour RHEL 7.x et Amazon Linux2 :

Exécutez les commandes suivantes pour installer python-websockify et x11vnc (x11vnc version 0.9.13 ou ultérieure).

sudo pip3 install websockify
sudo yum install x11vnc
<!--NeedCopy-->

Pour résoudre python-websockify et x11vnc, activez les packages supplémentaires pour Enterprise Linux (EPEL) et les référentiels RPM facultatifs sur RHEL 7.x :

  • EPEL

    Le référentiel EPEL est requis pour x11vnc. Pour activer le référentiel EPEL, exécutez la commande suivante :

     yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
     <!--NeedCopy-->
    
  • RPM facultatifs

    Exécutez la commande suivante pour activer le référentiel de RPMs facultatifs pour l’installation de certains packages de dépendances de x11vnc :

     subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-7-server-extras-rpms
     <!--NeedCopy-->
    

Pour RHEL 8.x :

Exécutez les commandes suivantes pour installer python-websockify et x11vnc (x11vnc version 0.9.13 ou ultérieure).

sudo pip3 install websockify
sudo yum install x11vnc
<!--NeedCopy-->

Pour résoudre x11vnc, activez les référentiels EPEL et CodeReady Linux Builder :

dnf install -y --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

subscription-manager repos --enable "codeready-builder  -for-rhel-8-x86_64-rpms"
<!--NeedCopy-->

Pour Ubuntu :

Exécutez les commandes suivantes pour installer python-websockify et x11vnc (x11vnc version 0.9.13 ou ultérieure).

sudo pip3 install websockify
sudo apt-get install x11vnc
<!--NeedCopy-->

Pour SUSE :

Exécutez les commandes suivantes pour installer python-websockify et x11vnc (x11vnc version 0.9.13 ou ultérieure).

sudo pip3 install websockify
sudo zipper install x11vnc
<!--NeedCopy-->

Pour Debian :

Exécutez les commandes suivantes pour installer python-websockify et x11vnc (x11vnc version 0.9.13 ou ultérieure).

sudo pip3 install websockify
sudo apt-get install x11vnc
<!--NeedCopy-->

Port

La fonctionnalité d’observation de session sélectionne automatiquement les ports disponibles entre 6001 et 6099 pour établir des connexions entre le Linux VDA et Citrix Director. Par conséquent, le nombre de sessions ICA que vous pouvez observer simultanément est limité à 99. Assurez-vous que suffisamment de ports sont disponibles pour répondre à vos besoins, en particulier pour l’observation multi-sessions.

Registre

Le tableau suivant répertorie les registres associés :

Registre Description Valeur par défaut
EnableSessionShadowing Active ou désactive la fonctionnalité d’observation de session 1 (activé)
ShadowingUseSSL Détermine si vous souhaitez crypter la connexion entre le Linux VDA et Citrix Director 0 (désactivé)

Exécutez la commande ctxreg sur le Linux VDA pour modifier les valeurs de Registre. Par exemple, pour désactiver l’observation de session, exécutez la commande suivante :

/opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent" -v "EnableSessionShadowing" -d 0x00000000

SSL

La connexion noVNC entre le Linux VDA et Citrix Director utilise le protocole WebSocket. Pour l’observation de session, le choix entre ws:// ou wss:// dépend du registre « ShadowingUseSSL » mentionné précédemment. Par défaut, ws:// est choisi. Toutefois, pour des raisons de sécurité, nous vous recommandons d’utiliser wss:// et d’installer des certificats sur chaque client Citrix Director et sur chaque serveur Linux VDA. Citrix décline toute responsabilité en matière de sécurité en ce qui concerne l’observation de session de Linux VDA avec l’utilisation de ws://.

Obtenir des certificats SSL serveur et racine

Les certificats doivent être signés par une autorité de certification (AC).

Un certificat de serveur distinct (y compris la clé) est requis pour chaque serveur Linux VDA sur lequel vous souhaitez configurer SSL. Un certificat de serveur identifie une machine. Vous devez donc connaître le nom de domaine complet (FQDN) de chaque serveur. Vous pouvez utiliser un certificat générique pour la totalité du domaine. Dans ce cas, vous devez connaître au moins le nom de domaine.

Un certificat racine est également requis pour chaque client Citrix Director qui communique avec le Linux VDA. Les autorités de certification émettant des certificats de serveur émettent aussi les certificats racines.

Vous pouvez installer des certificats de serveur et de client à partir des autorités de certification suivantes :

  • Une autorité de certification fournie avec votre système d’exploitation
  • Une autorité de certification d’entreprise (une autorité de certification que votre organisation met à votre disposition)
  • Une autorité de certification non fournie avec votre système d’exploitation

Consultez l’équipe des experts en sécurité de votre organisation afin de trouver parmi les méthodes celle requise pour l’obtention des certificats.

Important :

  • Le nom commun d’un certificat de serveur doit être le nom de domaine complet exact du Linux VDA ou, au moins, les caractères générique + domaine corrects. Par exemple, vda1.basedomain.com ou * .basedomain.com.
  • Les algorithmes de hachage, y compris SHA1 et MD5, sont trop faibles pour les signatures dans les certificats numériques pour certains navigateurs. SHA-256 est donc spécifié comme standard minimum.

Installer un certificat racine sur chaque client Citrix Director

L’observation de session utilise le même magasin de certificats qu’IIS (reposant sur le registre). Par conséquent, vous pouvez installer les certificats à l’aide d’IIS ou du composant logiciel enfichable MMC (Microsoft Management Console). Après avoir reçu un certificat d’une autorité de certification, vous pouvez redémarrer l’assistant Certificat de serveur Web d’IIS. L’assistant installe alors le certificat. Vous pouvez également afficher et importer des certificats sur l’ordinateur en utilisant la console MMC et ajouter le certificat en tant que composant logiciel enfichable autonome. Internet Explorer et Google Chrome importent les certificats installés sur votre système d’exploitation par défaut. Pour Mozilla Firefox, vous devez importer vos certificats SSL racine dans l’onglet Autorités du gestionnaire de certificats.

Installer un certificat de serveur et sa clé sur chaque serveur Linux VDA

Appelez les certificats de serveur « shadowingcert.* » et le fichier de clé « shadowingkey.* » (* peut indiquer le format, par exemple, shadowingcert.pem et shadowingkey.key). Placez les certificats de serveur et les fichiers de clés sous le chemin d’accès /etc/xdl/shadowingssl et protégez-les correctement avec des autorisations restreintes. Si le nom ou le chemin est incorrect, le Linux VDA est incapable de trouver un certificat ou un fichier de clé spécifique et, par conséquent, cela entraîne une défaillance de la connexion avec Citrix Director.

Utilisation

Dans Citrix Director, recherchez la session cible et cliquez sur Observer dans la vue Détails de la session pour envoyer une demande d’observation à l’agent Linux VDA.

Onglet Observer

Une fois que la connexion s’initialise, une confirmation s’affiche sur le client de session ICA (pas le client Citrix Director) pour demander l’autorisation d’observer la session.

Demande d'autorisation d’observer la session

Si l’utilisateur clique sur Oui, une fenêtre s’affiche du côté Citrix Director, indiquant que la session ICA est en cours d’observation.

Pour de plus amples informations sur l’utilisation, veuillez consulter la documentation de Citrix Director.

Limitations

  • L’observation de session est conçue pour une utilisation dans un intranet uniquement. Elle ne fonctionne pas pour les réseaux externes même en se connectant via Citrix Gateway. Citrix décline toute responsabilité en ce qui concerne l’observation de session de Linux VDA dans un réseau externe.
  • Lorsque l’observation de session est activée, un administrateur de domaine peut uniquement afficher les sessions ICA, et n’a pas l’autorisation d’écrire dessus ou de le contrôler.
  • Une fois qu’un administrateur a cliqué sur Observer depuis Citrix Director, une confirmation s’affiche pour demander l’autorisation à l’utilisateur d’observer la session. Une session peut être observée uniquement lorsque l’utilisateur de la session en donne l’autorisation.
  • La confirmation mentionnée précédemment a un délai d’expiration, qui est de 20 secondes. Une demande d’observation échoue lorsque ce délai est écoulé.
  • Une session peut être observée par un seul administrateur. Par exemple, si l’administrateur B envoie une demande d’observation pour une session que l’administrateur A est en train d’observer, la confirmation d’obtention de l’autorisation de l’utilisateur réapparaît sur la machine utilisateur. Si l’utilisateur accepte, la connexion d’observation pour l’administrateur A s’arrête et une nouvelle connexion d’observation est créée pour l’administrateur B. Si un administrateur envoie une autre demande d’observation pour la même session, une nouvelle connexion d’observation peut également être créée.
  • Pour utiliser l’observation de session, installez Citrix Director 7.16 ou version ultérieure.
  • Un client Citrix Director utilise un nom de domaine complet plutôt qu’une adresse IP pour se connecter au serveur Linux VDA cible. Par conséquent, le client Citrix Director doit pouvoir résoudre le nom de domaine complet du serveur Linux VDA.

Résolution des problèmes

Si l’observation de session échoue, effectuez le débogage à la fois sur le client Citrix Director et sur le Linux VDA.

Sur le client Citrix Director

À l’aide des outils de développement du navigateur, vérifiez les journaux de sortie dans l’onglet Console. Ou vérifiez la réponse de l’API ShadowLinuxSession dans l’onglet Réseau. Si la confirmation de l’obtention de l’autorisation de l’utilisateur s’affiche mais que la connexion ne parvient pas à être établie, envoyez une commande ping manuelle au nom de domaine complet du VDA pour vérifier que Citrix Director peut résoudre le nom de domaine complet. En cas de problème avec la connexion wss://, vérifiez vos certificats.

Sur le Linux VDA

Vérifiez que la confirmation d’obtention de l’autorisation de l’utilisateur s’affiche en réponse à une requête d’observation. Si ce n’est pas le cas, vérifiez les fichiers vda.log et hdx.log à la recherche d’indices. Pour obtenir le fichier vda.log, procédez comme suit :

  1. Recherchez le fichier /etc/xdl/ctx-vda.conf. Supprimez les marques de commentaire sur la ligne suivante pour activer la configuration vda.log :

    Log4jConfig=”/etc/xdl/log4j.xml”

  2. Ouvrez le fichier /etc/xdl/log4j.xml, localisez la partie com.citrix.dmc et remplacez « info » par « trace » comme suit :

     <!-- Broker Agent Plugin - Director VDA plugin Logger -->
    
      <logger name="com.citrix.dmc">
    
        <level value="trace"/>
    
      </logger>
    <!--NeedCopy-->
    
  3. Exécutez la commande service ctxvda restart pour redémarrer le service ctxvda.

En cas d’erreur lors de l’établissement de la connexion, procédez comme suit :

  1. Recherchez toute limitation de pare-feu qui empêche l’observation de session d’ouvrir le port.
  2. Vérifiez que les certificats et les fichiers de clés sont correctement nommés et placés sous le bon chemin pour un scénario SSL.
  3. Vérifiez qu’il reste suffisamment de ports entre 6001 et 6099 pour les nouvelles demandes d’observation.
Observation de session