Linux Virtual Delivery Agent 2103

Shadow-Sitzungen

Die Sitzungs-Shadowing-Funktion 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, und wird nur mit RHEL 7.x und Ubuntu 16.04 unterstützt.

Hinweis:

Um die Sitzungs-Shadowing-Funktion nutzen zu können, muss die Version von Citrix Director 7.16 oder höher sein.

Installation und Konfiguration

Abhängigkeiten

Zwei neue Abhängigkeiten, python-websockify und x11vnc, sind für das Sitzungs-Shadowing erforderlich. Die Abhängigkeiten python-websockify und x11vnc werden automatisch installiert, wenn Sie den Linux VDA unter Ubuntu 16.04 installieren. Unter RHEL 7.x müssen Sie python-websockify und x11vnc nach der Installation des Linux VDA manuell installieren.

Führen Sie den folgenden Befehl unter RHEL 7.x aus, um python-websockify und x11vnc (x11vnc Version 0.9.13 oder höher) zu installieren.

sudo yum install -y python-websockify x11vnc
<!--NeedCopy-->

Um python-websockify und x11vnc aufzulösen, aktivieren Sie die folgenden Repositorys unter RHEL 7.x:

  • Extra Packages for Enterprise Linux (EPEL)

    Das EPEL-Repository ist sowohl für python-websockify als auch für x11vnc erforderlich. Führen Sie den folgenden Befehl aus, um das EPEL-Repository zu aktivieren:

     sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E '%{rhel}').noarch.rpm
     <!--NeedCopy-->
    
  • Optionale RPMs

    Führen Sie einen der folgenden Befehle aus, um das Repository für optionale RPMs zur Installation einiger Abhängigkeitspakete von x11vnc zu aktivieren:

    Für Workstation:

     subscription-manager repos --enable=rhel-7-workstation-optional-rpms
     <!--NeedCopy-->
    

    Für Server:

     subscription-manager repos --enable=rhel-7-server-optional-rpms
     <!--NeedCopy-->
    
  • Port

Die Sitzungs-Shadowing-Funktion wählt automatisch verfügbare Ports im Bereich 6001-6099 aus, um Verbindungen vom Linux VDA zu Citrix Director aufzubauen. Daher ist die Anzahl der ICA®-Sitzungen, die Sie gleichzeitig shadowen 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 Multi-Sitzungs-Shadowing.

Registrierung

Die folgende Tabelle listet die zugehörigen Registrierungseinträge auf:

Registrierung Beschreibung Standardwert
EnableSessionShadowing Aktiviert oder deaktiviert die Sitzungs-Shadowing-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 das Sitzungs-Shadowing 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 das Sitzungs-Shadowing wird die Wahl zwischen ws:// oder wss:// durch den zuvor erwähnten Registrierungseintrag „ShadowingUseSSL“ bestimmt. 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 das Linux VDA-Sitzungs-Shadowing 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. Der Einfachheit halber können Sie stattdessen ein Wildcard-Zertifikat für die gesamte Domäne verwenden. In diesem Fall müssen Sie mindestens den Domänennamen kennen.

Zusätzlich zur Installation eines Serverzertifikats auf jedem Server müssen Sie ein Root-Zertifikat derselben CA auf jedem Citrix Director-Client installieren, der mit dem Linux VDA-Server kommuniziert. Root-Zertifikate sind von denselben CAs erhältlich, die die Serverzertifikate ausstellen. Sie können Server- und Clientzertifikate von einer CA installieren, die mit Ihrem Betriebssystem gebündelt ist, von einer Unternehmens-CA (einer CA, die Ihre Organisation Ihnen zugänglich macht) oder von einer CA, die nicht mit Ihrem Betriebssystem gebündelt ist. Wenden Sie sich an das Sicherheitsteam Ihrer Organisation, um herauszufinden, welche Methoden diese für den Bezug von Zertifikaten vorschreiben.

Wichtig:

  • Der Common Name für ein Serverzertifikat muss der exakte FQDN des Linux VDA-Servers oder mindestens das 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 für einige Browser zu schwach. Daher ist SHA-256 als Mindeststandard festgelegt.

Ein Root-Zertifikat auf jedem Citrix Director-Client installieren

Das Sitzungs-Shadowing verwendet denselben registrierungsbasierten Zertifikatspeicher 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 standardmäßig die auf Ihrem Betriebssystem installierten Zertifikate. Für Mozilla Firefox müssen Sie Ihre Root-SSL-Zertifikate auf der Registerkarte Zertifizierungsstellen des Zertifikat-Managers importieren.

Ein Serverzertifikat und seinen Schlüssel auf jedem Linux VDA-Server installieren

Benennen Sie die Serverzertifikate „shadowingcert.*“ und die Schlüsseldatei „shadowingkey.*“ (* kann das Format angeben, z. B. shadowingcert.csr 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

Suchen Sie in Citrix Director die Ziel-Sitzung und klicken Sie in der Ansicht Sitzungsdetails auf Shadow, um eine Shadowing-Anfrage an den Linux VDA zu senden.

Abbildung der Shadow-Registerkarte in der Ansicht "Sitzungsdetails"

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

Abbildung, ob ein Administrator diese Sitzung shadowen darf

Wenn der Benutzer auf Ja klickt, erscheint ein Fenster auf der Citrix Director-Seite, das anzeigt, dass die ICA-Sitzung geshadowt wird.

Weitere Informationen zur Verwendung finden Sie in der Citrix Director-Dokumentation.

Einschränkungen

  • Das Sitzungs-Shadowing ist nur für die Verwendung in einem Intranet konzipiert. Es funktioniert nicht für externe Netzwerke, selbst wenn die Verbindung über Citrix Gateway erfolgt. Citrix lehnt jegliche Verantwortung für das Linux VDA-Sitzungs-Shadowing in einem externen Netzwerk ab.
  • Wenn das Sitzungs-Shadowing aktiviert ist, kann ein Domänenadministrator die ICA-Sitzungen nur anzeigen, hat aber keine Berechtigung, sie zu schreiben oder zu steuern.
  • Nachdem ein Administrator in Citrix Director auf Shadow klickt, erscheint eine Bestätigung, die den Benutzer um Erlaubnis bittet, die Sitzung zu shadowen. Eine Sitzung kann nur geshadowt werden, wenn der Sitzungsbenutzer die Erlaubnis erteilt.
  • Die zuvor erwähnte Bestätigung hat eine Zeitüberschreitungsbegrenzung von 20 Sekunden. Eine Shadowing-Anfrage schlägt fehl, wenn die Zeit abläuft.
  • Eine ICA-Sitzung kann nur von einem Administrator in einem Citrix Director-Fenster geshadowt werden. Wenn eine ICA-Sitzung von Administrator A geshadowt wurde und Administrator B in der Zwischenzeit eine Shadowing-Anfrage sendet, erscheint die Bestätigung zur Einholung der Benutzererlaubnis erneut auf dem Benutzergerät. Wenn der Benutzer zustimmt, wird die Shadowing-Verbindung für Administrator A beendet und eine neue Shadowing-Verbindung für Administrator B aufgebaut. Dasselbe gilt, wenn eine weitere Shadowing-Anfrage für dieselbe ICA-Sitzung vom selben Administrator gesendet wird.

  • Um die Sitzungsschattenfunktion zu verwenden, installieren Sie Citrix Director 7.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 der Citrix Director-Client den FQDN des Linux-VDA-Servers auflösen können.

Fehlerbehebung

Wenn die Sitzungsschattenfunktion fehlschlägt, führen Sie eine Fehlerbehebung 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 für die Benutzerberechtigung angezeigt wird, die Verbindung jedoch nicht aufgebaut werden kann, pingen Sie den FQDN des Linux-VDA manuell an, um zu überprüfen, ob Citrix Director den FQDN auflösen kann. Wenn ein Problem mit der wss://-Verbindung vorliegt, überprüfen Sie Ihre Zertifikate.

Auf dem Linux-VDA

Überprüfen Sie, ob die Bestätigung für die Benutzerberechtigung als Antwort auf eine Schattenanforderung angezeigt wird. Ist dies nicht der Fall, überprüfen Sie die Dateien vda.log und hdx.log auf Hinweise. Um die Datei vda.log zu erhalten, gehen Sie wie folgt vor:

  1. 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”

  2. Ö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-->
    
  3. Führen Sie den Befehl service ctxvda restart aus, um den Dienst ctxvda neu zu starten.

Wenn beim Verbindungsaufbau ein Fehler auftritt:

  1. Überprüfen Sie, ob eine Firewall-Einschränkung die Sitzungsschattenfunktion daran hindert, den Port zu öffnen.
  2. Vergewissern Sie sich, dass Zertifikate und Schlüsseldateien ordnungsgemäß benannt und im richtigen Pfad abgelegt sind, falls es sich um ein SSL-Szenario handelt.
  3. Überprüfen Sie, ob zwischen 6001 und 6099 genügend Ports für neue Schattenanforderungen verfügbar sind.
Shadow-Sitzungen