Linux Virtual Delivery Agent 2112

Spiegeln von Sitzungen

Die Sitzungsspiegelung ermöglicht es Domänenadministratoren, ICA-Sitzungen von Benutzern in einem Intranet anzuzeigen. Dabei wird unter Einsatz von noVNC eine Verbindung mit den ICA-Sitzungen hergestellt. Das Feature wird nur für RHEL 7.x und Ubuntu 16.04 unterstützt.

Hinweis:

Zur Verwendung der Sitzungsspiegelung ist Citrix Director ab Version 7.16 erforderlich.

Installation und Konfiguration

Abhängigkeiten

Für die Sitzungsspiegelung sind zwei neue Elemente, python-websockify und x11vnc, erforderlich. 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 nachstehenden 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-->

Zum Auflösen von python-websockify und x11vnc aktivieren Sie folgenden Repositorys in RHEL 7.x:

  • Zusätzliche Pakete für Enterprise Linux (EPEL)

    Das EPEL-Repository ist für python-websockify und x11vnc erforderlich. Führen Sie 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 optionale RPM-Repository zum Installieren einiger Abhängigkeitspakete von x11vnc zu aktivieren:

    Für Arbeitsstation:

     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 Sitzungsspiegelung wählt automatisch verfügbare Ports aus dem Bereich 6001–6099 für den Aufbau von Verbindungen vom Linux VDA mit Citrix Director. Daher ist die Anzahl der ICA-Sitzungen, die Sie gleichzeitig spiegeln können, auf 99 begrenzt. Stellen Sie sicher, dass genügend Ports zur Verfügung stehen, insbesondere wenn mehrere Sitzungen gespiegelt werden.

Registrierung

Die folgende Tabelle enthält die relevanten Registrierungseinträge:

Registrierung Beschreibung Standardwert
EnableSessionShadowing Aktiviert oder deaktiviert die Sitzungsspiegelung. 1 (aktiviert)
ShadowingUseSSL Legt fest, ob die Verbindung zwischen 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 die Sitzungsspiegelung 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

Für die noVNC-Verbindung zwischen Linux VDA und Citrix Director wird das WebSocket-Protokoll verwendet. Ob bei der Sitzungsspiegelung ws:// oder wss:// ausgewählt wird, bestimmt der o. g. Registrierungswert “ShadowingUseSSL”. Standardmäßig wird ws:// ausgewählt. Aus Sicherheitsgründen empfehlen wir jedoch die Verwendung von wss:// und die Installation von Zertifikaten auf jedem Citrix Director-Client und jedem Linux VDA-Server. Citrix übernimmt keinerlei Haftung für die Sicherheit bei Spiegelung von Linux VDA-Sitzungen mit ws://.

Beschaffung von Server- und SSL-Stammzertifikat

Zertifikate müssen von einer vertrauenswürdigen Zertifizierungsstelle signiert werden.

Ein separates Serverzertifikat einschließlich Schlüssel ist für jeden Linux VDA-Server erforderlich, auf dem Sie SSL konfigurieren möchten. Da durch ein Serverzertifikat ein ganz bestimmter Computer identifiziert wird, müssen Sie den vollqualifizierten Domänennamen (FQDN) jedes Servers kennen. Aus praktischen Gründen können Sie stattdessen ein Platzhalterzertifikat für die gesamte Domäne verwenden. In diesem Fall müssen Sie zumindest den Domänennamen kennen.

Zusätzlich zur Installation eines Serverzertifikats auf jedem Server müssen Sie ein Stammzertifikat von derselben Zertifizierungsstelle auf jedem Citrix Director-Client installieren, der mit dem Linux VDA-Server kommuniziert. Stammzertifikate erhalten Sie von derselben Zertifizierungsstelle, die auch die Serverzertifikate ausgibt. Sie können Server- und Clientzertifikate von einer Zertifizierungsstelle ausstellen, die mit dem Betriebssystem ausgeliefert wird, einer Zertifizierungsstelle des Unternehmens (eine Zertifizierungsstelle, die das Unternehmen für Sie zugänglich macht) oder einer Zertifizierungsstelle, die nicht im Betriebssystem enthalten ist. Fragen Sie das Sicherheitsteam Ihres Unternehmens, mit welcher Methode Zertifikate abgerufen werden.

Wichtig:

  • Der allgemeine Name (CN) für ein Serverzertifikat muss in Form des FQDN des Linux VDA-Servers oder mindestens eines richtigen Platzhalterzeichens plus Domänenzeichen angegeben werden. Beispiel: vda1.basedomain.com oder *.basedomain.com.
  • Hashalgorithmen einschließlich SHA1 und MD5 sind für einige Browser zu schwach für Signaturen in digitalen Zertifikaten. Daher wird SHA-256 als Mindeststandard angegeben.

Installieren eines Stammzertifikats auf jedem Citrix Director-Client

Die Sitzungsspiegelung verwendet denselben registrierungsbasierten Zertifikatsspeicher wie IIS. Sie können daher Zertifikate wahlweise mit IIS oder dem Zertifikat-Snap-In der Microsoft Management Console (MMC) installieren. Wenn Sie ein Zertifikat von einer Zertifizierungsstelle erhalten haben, rufen Sie den IIS-Assistenten für Webserverzertifikate wieder auf. Der Assistent führt den Prozess fort und installiert das Zertifikat. Sie können auch Zertifikate mit der MMC anzeigen und importieren und das Zertifikat als eigenständiges Snap-In hinzufügen. Bei Internet Explorer und Google Chrome werden die unter dem Betriebssystem installierten Zertifikate standardmäßig importiert. Bei Mozilla Firefox müssen Sie die Root-SSL-Zertifikate über die Registerkarte Berechtigungen des Zertifikatsmanagers importieren.

Installieren Sie ein Serverzertifikat und den zugehörigen Schlüssel auf jedem Linux VDA-Server

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 im Pfad /etc/xdl/shadowingssl ab und schützen Sie sie ordnungsgemäß mit eingeschränkten Berechtigungen. Ein Fehler bei Namen oder Pfad führt dazu, dass der Linux VDA das Zertifikat bzw. die Schlüsseldatei nicht findet und einen Verbindungsfehler mit Citrix Director verursacht.

Verwendung

Suchen Sie in Citrix Director die Zielsitzung und klicken Sie in der Ansicht Sitzungsdetails auf Spiegeln, um eine Spiegelungsanforderung an den Linux VDA zu senden.

Abbildung: Registerkarte "Spiegeln" in der Sitzungsdetailansicht

Wenn die Verbindung initialisiert wurde, wird auf dem ICA-Sitzungsclient (nicht dem Citrix Director-Client) eine Aufforderung an den Benutzer zur Autorisierung des Spiegelns der Sitzung angezeigt.

Abbildung der Einstellung, ob ein Administrator diese Sitzung spiegeln darf

Wenn der Benutzer auf Ja klickt, wird unter Citrix Director ein Fenster mit dem Hinweis angezeigt, dass die ICA-Sitzung gespiegelt wird.

Weitere Informationen zur Verwendung finden Sie in der Dokumentation für Citrix Director.

Einschränkungen

  • Die Sitzungsspiegelung ist nur für die Verwendung in einem Intranet vorgesehen. Sie funktioniert nicht in externen Netzwerken, auch nicht über Citrix Gateway. Citrix übernimmt keinerlei Haftung bei Spiegelung von Linux VDA-Sitzungen in einem externen Netzwerk.
  • Wenn die Sitzungsspiegelung aktiviert ist, kann ein Domänenadministrator die ICA-Sitzungen anzeigen, hat jedoch keine Berechtigung zum Schreiben oder Steuern.
  • Wenn ein Administrator in Citrix Director auf Spiegeln klickt, wird dem Benutzer eine Aufforderung zum Zulassen der Spiegelung der Sitzung angezeigt. Eine Sitzung kann nur gespiegelt werden, wenn der Sitzungsbenutzer die Berechtigung erteilt.
  • Für die o. g. Aufforderung gilt ein Timeout von 20 Sekunden. Nach Ablauf des Timeouts schlägt sie fehl.
  • ICA-Sitzungen können nur von je einem Administrator in einem Citrix Director-Fenster gespiegelt werden. Wenn eine ICA-Sitzung von Administrator A gespiegelt wird und Administrator B eine Spiegelungsanforderung sendet, wird die Aufforderung zum Zulassen erneut auf dem Benutzergerät angezeigt. Stimmt der Benutzer zu, wird die Spiegelungsverbindung von Administrator A beendet und eine neue Spiegelungsverbindung für Administrator B erstellt. Das ist auch der Fall, wenn eine weitere Spiegelungsanforderung für dieselbe ICA-Sitzung vom selben Administrator gesendet wird.
  • Zum Verwenden der Sitzungsspiegelung installieren Sie Citrix Director 7.16 oder höher.
  • Citrix Director-Clients verwenden beim Herstellen einer Verbindung mit dem Linux VDA-Server den FQDN anstelle der IP-Adresse. Daher muss der Citrix Director-Client in der Lage sein, den FQDN des Linux VDA-Servers aufzulösen.

Problembehandlung

Wenn die Sitzungsspiegelung fehlschlägt, führen Sie das Debugging auf dem Citrix Director-Client und dem Linux VDA aus.

Citrix Director-Client

Prüfen Sie mit den Entwicklertools des Browsers die Ausgabeprotokolle auf der Registerkarte Konsole. Oder überprüfen Sie die Antwort der ShadowLinuxSession-API auf der Registerkarte Netzwerk. Wenn die Aufforderung zum Abrufen der Zulassung beim Benutzer angezeigt wird, die Verbindung jedoch nicht aufgebaut werden kann, senden Sie einen Ping an den FQDN des Linux VDAs, um zu überprüfen, ob Citrix Director den FQDN auflösen kann. Bei Problemen mit der wss://-Verbindung sollten Sie Ihre Zertifikate überprüfen.

Linux VDA

Vergewissern Sie sich, dass auf eine Spiegelungsanforderung hin die Aufforderung zum Abrufen der Zulassung beim Benutzer angezeigt wird. Ist dies nicht der Fall, überprüfen Sie die Dateien vda.log und hdx.log auf Hinweise. Gehen Sie folgendermaßen vor, um die Datei vda.log zu erhalten:

  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” wie folgt in “trace”:

     <!-- 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 ctxvda-Dienst neu zu starten.

Im Fall eines Fehlers beim Verbindungsaufbau:

  1. Überprüfen Sie, ob eine Firewall-Beschränkung vorliegt, die das Öffnen des Ports durch die Sitzungsspiegelung verhindert.
  2. Vergewissern Sie sich, dass die Zertifikate und Schlüsseldateien ordnungsgemäß benannt und für das SSL-Szenario im richtigen Verzeichnis abgelegt sind.
  3. Stellen Sie sicher, dass zwischen 6001 und 6099 genügend Ports für neue Spiegelungsanforderungen vorhanden sind.
Spiegeln von Sitzungen