Sitzungsschatten
Sitzungsschatten ermöglicht Domänenadministratoren, die ICA®-Sitzungen von Benutzern in einem Intranet anzuzeigen. Die Funktion verwendet noVNC, um eine Verbindung zu den ICA-Sitzungen herzustellen.
Hinweis:
Um die Funktion zu nutzen, verwenden Sie
Citrix Director7.16 oder höher.
Installation und Konfiguration
Abhängigkeiten
Zwei neue Abhängigkeiten, python-websockify und x11vnc, sind für den Sitzungsschatten erforderlich. Installieren Sie python-websockify und x11vnc manuell, nachdem Sie den Linux VDA installiert haben.
Für RHEL 7.x und Amazon Linux2:
Führen Sie die folgenden Befehle aus, um python-websockify und x11vnc (x11vnc Version 0.9.13 oder höher) zu installieren:
sudo pip3 install websockify
- sudo yum install x11vnc
<!--NeedCopy-->
Um python-websockify und x11vnc zu beziehen, aktivieren Sie die Repositorys Extra Packages for Enterprise Linux (EPEL) und optionale RPMs auf RHEL 7.x:
-
EPEL
Das EPEL-Repository ist für
x11vncerforderlich. Führen Sie den folgenden Befehl aus, um das EPEL-Repository zu aktivieren:yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm <!--NeedCopy--> -
Optionale RPMs
Führen Sie den folgenden Befehl aus, um das optionale
RPMs-Repository für die Installation einiger Abhängigkeitspakete vonx11vnczu aktivieren:subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-7-server-extras-rpms <!--NeedCopy-->
Für RHEL 8.x und Rocky Linux 8:
Führen Sie die folgenden Befehle aus, um python-websockify und x11vnc (x11vnc Version 0.9.13 oder höher) zu installieren.
sudo pip3 install websockify
sudo yum install x11vnc
<!--NeedCopy-->
Um x11vnc zu beziehen, aktivieren Sie die Repositorys EPEL und 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-->
Für Ubuntu:
Führen Sie die folgenden Befehle aus, um python-websockify und x11vnc (x11vnc Version 0.9.13 oder höher) zu installieren:
sudo pip3 install websockify
sudo apt-get install x11vnc
<!--NeedCopy-->
Für SUSE:
Führen Sie die folgenden Befehle aus, um python-websockify und x11vnc (x11vnc Version 0.9.13 oder höher) zu installieren:
- sudo pip3 install websockify
- sudo zypper install x11vnc
<!--NeedCopy-->
- Für Debian:
Führen Sie die folgenden Befehle aus, um python-websockify und x11vnc (x11vnc Version 0.9.13 oder höher) zu installieren:
sudo pip3 install websockify
sudo apt-get install x11vnc
<!--NeedCopy-->
Port
Die Sitzungsschatten-Funktion wählt automatisch verfügbare Ports aus dem Bereich 6001-6099 aus, um Verbindungen vom Linux VDA zu Citrix Director aufzubauen. Daher ist die Anzahl der ICA-Sitzungen, die Sie gleichzeitig schatten können, auf 99 begrenzt. Stellen Sie sicher, dass genügend Ports verfügbar sind, um Ihre Anforderungen zu erfüllen, insbesondere für das Schatten mehrerer Sitzungen.
Registrierung
-
Die folgende Tabelle listet die zugehörigen Registrierungseinträge auf:
-
Registrierungseintrag Beschreibung Standardwert - | —————– | – | – |
-
EnableSessionShadowing Aktiviert oder deaktiviert die Sitzungsschatten-Funktion 1 (Aktiviert) -
ShadowingUseSSL Legt fest, ob die Verbindung zwischen dem Linux VDA und Citrix Director verschlüsselt werden soll 0 (Deaktiviert)
Führen Sie den Befehl ctxreg auf dem Linux VDA aus, um die Registrierungswerte zu ändern. Um beispielsweise den Sitzungsschatten zu deaktivieren, führen Sie den folgenden Befehl aus:
/opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent" -v "EnableSessionShadowing" -d 0x00000000
SSL
Die noVNC-Verbindung zwischen dem Linux VDA und Citrix Director verwendet das WebSocket-Protokoll. Für den Sitzungsschatten hängt die Wahl zwischen ws:// oder wss:// vom zuvor erwähnten Registrierungseintrag “ShadowingUseSSL” ab. Standardmäßig wird ws:// gewählt. Aus Sicherheitsgründen empfehlen wir jedoch, wss:// zu verwenden und Zertifikate auf jedem Citrix Director-Client und auf jedem Linux VDA-Server zu installieren. Citrix lehnt jegliche Sicherheitsverantwortung für den Linux VDA-Sitzungsschatten bei Verwendung von ws:// ab.
Server- und Root-SSL-Zertifikate beziehen
Zertifikate müssen von einer vertrauenswürdigen Zertifizierungsstelle (CA) signiert sein.
Für jeden Linux VDA-Server, auf dem Sie SSL konfigurieren möchten, ist ein separates Serverzertifikat (einschließlich des Schlüssels) erforderlich. Ein Serverzertifikat identifiziert einen bestimmten Computer, daher müssen Sie den vollqualifizierten Domänennamen (FQDN) jedes Servers kennen. Stattdessen können Sie ein Wildcard-Zertifikat für die gesamte Domäne verwenden. In diesem Fall müssen Sie mindestens den Domänennamen kennen.
Für jeden Citrix Director-Client, der mit dem Linux VDA kommuniziert, ist ebenfalls ein Root-Zertifikat erforderlich. Root-Zertifikate sind von denselben CAs erhältlich, die auch die Serverzertifikate ausstellen.
Sie können Server- und Clientzertifikate von den folgenden CAs installieren:
- Eine CA, die mit Ihrem Betriebssystem gebündelt ist
- Eine Unternehmens-CA (eine CA, die Ihre Organisation Ihnen zugänglich macht)
- Eine CA, die nicht mit Ihrem Betriebssystem gebündelt ist
Wenden Sie sich an das Sicherheitsteam Ihrer Organisation, um herauszufinden, welche der Methoden sie für den Bezug von Zertifikaten benötigen.
Wichtig:
- Der Common Name für ein Serverzertifikat muss der exakte FQDN des Linux VDA oder zumindest der korrekte Wildcard- plus Domänenzeichen sein. Zum Beispiel vda1.basedomain.com oder *.basedomain.com.
- Hashing-Algorithmen wie SHA1 und MD5 sind für Signaturen in digitalen Zertifikaten zu schwach, um von einigen Browsern unterstützt zu werden. Daher ist SHA-256 als Mindeststandard festgelegt.
Ein Root-Zertifikat auf jedem Citrix Director-Client installieren
Sitzungsschatten verwendet denselben registrierungsbasierten Zertifikatsspeicher wie IIS, sodass Sie Root-Zertifikate mithilfe von IIS oder dem MMC-Snap-In (Microsoft Management Console) für Zertifikate installieren können. Wenn Sie ein Zertifikat von einer CA erhalten, können Sie den Webserver-Zertifikat-Assistenten in IIS neu starten, und der Assistent installiert das Zertifikat. Alternativ können Sie Zertifikate auf dem Computer mithilfe der MMC anzeigen und importieren und das Zertifikat als eigenständiges Snap-In hinzufügen. Internet Explorer und Google Chrome importieren die auf Ihrem Betriebssystem installierten Zertifikate standardmäßig. Für Mozilla Firefox müssen Sie Ihre Root-SSL-Zertifikate auf der Registerkarte Zertifizierungsstellen des Zertifikatsmanagers importieren.
Ein Serverzertifikat und dessen Schlüssel auf jedem Linux VDA-Server installieren
Benennen Sie die Serverzertifikate “shadowingcert.*” und die Schlüsseldatei “shadowingkey.*” (* gibt das Format an, z. B. shadowingcert.pem und shadowingkey.key). Legen Sie Serverzertifikate und Schlüsseldateien unter dem Pfad /etc/xdl/shadowingssl ab und schützen Sie sie ordnungsgemäß mit eingeschränkten Berechtigungen. Ein falscher Name oder Pfad führt dazu, dass der Linux VDA ein bestimmtes Zertifikat oder eine Schlüsseldatei nicht finden kann und somit einen Verbindungsfehler mit Citrix Director verursacht.
Verwendung
In Citrix Director suchen Sie die Ziel-Sitzung und klicken in der Ansicht Sitzungsdetails auf Schatten, um eine Schattenanfrage an den Linux VDA zu senden.

Nachdem die Verbindung initialisiert wurde, erscheint eine Bestätigung auf dem ICA-Sitzungsclient (nicht dem Citrix Director-Client), um den Benutzer um Erlaubnis zu bitten, die Sitzung zu schatten.

Wenn der Benutzer auf Ja klickt, erscheint ein Fenster auf der Citrix Director-Seite, das anzeigt, dass die ICA-Sitzung geschattet wird.
Weitere Informationen zur Verwendung finden Sie in der Citrix Director-Dokumentation.
Einschränkungen
- Sitzungsschatten ist nur für die Verwendung in einem Intranet konzipiert. Es funktioniert nicht für externe Netzwerke, selbst wenn eine Verbindung über Citrix Gateway hergestellt wird. Citrix lehnt jegliche Verantwortung für den Linux VDA-Sitzungsschatten in einem externen Netzwerk ab.
- Wenn der Sitzungsschatten aktiviert ist, kann ein Domänenadministrator die ICA-Sitzungen nur anzeigen, hat aber keine Berechtigung, diese zu schreiben oder zu steuern.
- Nachdem ein Administrator in
Citrix Directorauf Schatten geklickt hat, erscheint eine Bestätigung, die den Benutzer um Erlaubnis bittet, die Sitzung zu schatten. Eine Sitzung kann nur geschattet werden, wenn der Sitzungsbenutzer die Erlaubnis erteilt. -
Die zuvor erwähnte Bestätigung hat eine Zeitüberschreitungsbegrenzung von 20 Sekunden. Eine Schattenanfrage schlägt fehl, wenn die Zeit abläuft.
- Eine Sitzung kann nur von einem Administrator überwacht werden. Wenn beispielsweise Administrator B eine Überwachungsanfrage für eine Sitzung sendet, die Administrator A gerade überwacht, erscheint die Bestätigung zur Einholung der Benutzerberechtigung erneut auf dem Benutzergerät. Wenn der Benutzer zustimmt, wird die Überwachungsverbindung für Administrator A beendet und eine neue Überwachungsverbindung für Administrator B aufgebaut. Wenn ein Administrator eine weitere Überwachungsanfrage für dieselbe Sitzung sendet, kann ebenfalls eine neue Überwachungsverbindung aufgebaut werden.
- Um die Sitzungsüberwachung zu verwenden, installieren Sie
Citrix Director7.16 oder höher. - Ein
Citrix Director-Client verwendet einen FQDN anstelle einer IP-Adresse, um eine Verbindung zum Ziel-Linux-VDA-Server herzustellen. Daher muss derCitrix Director-Client den FQDN des Linux-VDA-Servers auflösen können.
Fehlerbehebung
Wenn die Sitzungsüberwachung fehlschlägt, führen Sie das Debugging sowohl auf dem Citrix Director-Client als auch auf dem Linux-VDA durch.
Auf dem Citrix Director-Client
Über die Entwicklertools des Browsers überprüfen Sie die Ausgabeprotokolle auf der Registerkarte Konsole. Oder überprüfen Sie die Antwort der ShadowLinuxSession-API auf der Registerkarte Netzwerk. Wenn die Bestätigung zur Einholung der Benutzerberechtigung angezeigt wird, der Verbindungsaufbau jedoch fehlschlägt, pingen Sie den FQDN des VDA manuell an, um zu überprüfen, ob Citrix Director den FQDN auflösen kann. Wenn es ein Problem mit der wss://-Verbindung gibt, überprüfen Sie Ihre Zertifikate.
Auf dem Linux-VDA
Überprüfen Sie, ob die Bestätigung zur Einholung der Benutzerberechtigung als Antwort auf eine Überwachungsanfrage angezeigt wird. Falls nicht, überprüfen Sie die Dateien vda.log und hdx.log auf Hinweise. Um die Datei vda.log zu erhalten, gehen Sie wie folgt vor:
-
Suchen Sie die Datei /etc/xdl/ctx-vda.conf. Kommentieren Sie die folgende Zeile aus, um die vda.log-Konfiguration zu aktivieren:
Log4jConfig="/etc/xdl/log4j.xml" -
Öffnen Sie /etc/xdl/log4j.xml, suchen Sie den Teil com.citrix.dmc und ändern Sie “info” in “trace” wie folgt:
<!-- Broker Agent Plugin - Director VDA plugin Logger --> <logger name="com.citrix.dmc"> <level value="trace"/> </logger> <!--NeedCopy--> -
Führen Sie den Befehl
service ctxvda restartaus, um den Dienstctxvdaneu zu starten.
Wenn beim Verbindungsaufbau ein Fehler auftritt:
- Überprüfen Sie, ob eine Firewall-Einschränkung die Sitzungsüberwachung daran hindert, den Port zu öffnen.
- Überprüfen Sie, ob Sie Zertifikate und Schlüsseldateien korrekt benannt und unter dem richtigen Pfad abgelegt haben, falls es sich um das SSL-Szenario handelt.
- Überprüfen Sie, ob genügend Ports zwischen 6001 und 6099 für neue Überwachungsanfragen verfügbar sind.