Linux Virtual Delivery Agent 2507 LTSR

Selbstsignierte Zertifikate für WebSocket konfigurieren

Ab der ersten Version des 2402 LTSR ermöglicht Citrix Virtual Apps and Desktops die Verwendung der WebSocket-Technologie über das Citrix Brokering Protocol (CBP), um die Kommunikation zwischen VDAs und Delivery Controllern zu erleichtern. Diese Funktion erfordert für die Kommunikation vom VDA zum Delivery Controller lediglich den TLS-Port 443. Weitere Informationen finden Sie unter WebSocket-Kommunikation zwischen VDA und Delivery Controller in der Citrix Virtual Apps and Desktops-Dokumentation.

  • WebSocket ist eine leistungsstarke Technologie zur Ermöglichung einer Echtzeit- und bidirektionalen Kommunikation zwischen einem Client und einem Server. Um jedoch eine sichere Verbindung zu gewährleisten, insbesondere bei der Verwendung von wss://, ist die Konfiguration eines selbstsignierten Zertifikats oft notwendig, insbesondere in Entwicklungs- oder Testumgebungen. Dieser Artikel beschreibt die Best Practices für die Konfiguration selbstsignierter Zertifikate für WebSocket.

Schritt 1: (Nur für nicht in die Domäne eingebundene VDAs) DNS-Server konfigurieren

  • Für Ubuntu- und Debian-VDAs:
  1. Ändern Sie die DNS-Einstellungen, indem Sie /etc/systemd/resolved.conf wie folgt bearbeiten:

    [Resolve]
    # Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
    # Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
    # Google:     8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
    # Quad9:      9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
    DNS=<DNS IP address>
    #FallbackDNS=
    #Domains=
    #DNSSEC=no
    #DNSOverTLS=no
    #MulticastDNS=no
    #LLMNR=no
    #Cache=no-negative
    #CacheFromLocalhost=no
    #DNSStubListener=yes
    #DNSStubListenerExtra=
    #ReadEtcHosts=yes
    #ResolveUnicastSingleLabel=no
    <!--NeedCopy-->
    
  2. Starten Sie den Dienst systemd-resolved neu.

    sudo service systemd-resolved restart
    <!--NeedCopy-->
    

    Weitere Informationen finden Sie unter https://notes.enovision.net/linux/changing-dns-with-resolve.

    • Für RHEL-, Rocky Linux- und SUSE-VDAs:
  3. Führen Sie den folgenden nmcli-Befehl aus, um eine Liste der Verbindungsnamen abzurufen:

    sudo nmcli connection
    <!--NeedCopy-->
    
  4. Führen Sie einen weiteren nmcli-Befehl aus, um die DNS-IP-Adresse einzurichten:

    sudo nmcli con mod {connectionNameHere} ipv4.dns "<dns ip address>"
    <!--NeedCopy-->
    

    Sie können die DNS-IP-Adresse beispielsweise mit dem folgenden Befehl auf 192.168.2.254 festlegen:

    sudo nmcli con mod eth0 ipv4.dns "192.168.2.254"
    <!--NeedCopy-->
    
  5. Laden Sie die neuen DNS-Einstellungen neu, indem Sie einen der folgenden Befehle ausführen:

    sudo systemctl restart NetworkManager.service
    <!--NeedCopy-->
    
    sudo nmcli connection reload
    <!--NeedCopy-->
    

    Weitere Informationen finden Sie unter https://www.cyberciti.biz/faq/change-dns-ip-address-rhel-redhat-linux/.

Schritt 2: Zertifikat von einer Zertifizierungsstelle (CA) anfordern

  1. Leiten Sie eine Zertifikatsanforderung ein. Wenn Sie eine Zertifikatsanforderung einleiten, geben Sie den vollqualifizierten Domänennamen (FQDN) des Delivery Controllers ein.

    Zertifikatsanforderung einleiten

  2. Wählen Sie eine Bitlänge von 2048 oder höher, um eine robuste Sicherheit für Ihr Zertifikat zu gewährleisten.

    Bitlänge auswählen

      1. Weisen Sie Ihrer Zertifikatsanforderungsdatei einen aussagekräftigen Namen zur einfachen Identifizierung zu.
    • Zertifikatsanforderungsdatei benennen
  3. Öffnen Sie die generierte Zertifikatsanforderungsdatei mit einem Texteditor wie Notepad und wählen Sie den gesamten Inhalt aus.

    Generierte Zertifikatsanforderungsdatei öffnen

  4. Melden Sie sich bei Ihrem Webzertifikatserver an und fordern Sie ein Zertifikat an.

    Bei Ihrem Webzertifikatserver anmelden

    Erweiterte Zertifikatsanforderung

  5. Fügen Sie den kopierten Inhalt der Anforderungsdatei in das entsprechende Feld auf dem Webserver ein und wählen Sie die Zertifikatvorlage Webserver aus.

    Zertifikatsanforderung senden

  6. Laden Sie das Zertifikat im Base64-kodierten Format herunter.

    Zertifikat herunterladen

  7. Schließen Sie die Zertifikatsanforderung ab. Nach dem Herunterladen ist der Zertifikatsanforderungsprozess abgeschlossen.

    Zertifikatsanforderung abschließen

Schritt 3: Delivery Controller FQDN-Zertifikat binden

  1. Exportieren Sie das Delivery Controller FQDN-Zertifikat als PFX-Datei.

    Delivery Controller FQDN-Zertifikat exportieren

  2. Importieren Sie das exportierte PFX-Zertifikat in die Internet Information Services (IIS) Ihres Delivery Controller-Servers.

    Exportiertes PFX-Zertifikat importieren

  3. Binden Sie das importierte Zertifikat an Ihre Standardwebsite in IIS.

    Importiertes Zertifikat binden

  4. Stellen Sie während des Bindungsvorgangs sicher, dass Sie das spezifische Zertifikat auswählen, das Sie importiert haben.

    Importiertes Zertifikat während der Bindung auswählen

Schritt 4: CA-Zertifikat auf dem Linux-VDA speichern und aktualisieren

  1. Laden Sie das CA-Zertifikat herunter. Zum Beispiel:

    CA-Zertifikat herunterladen

  2. Platzieren und aktualisieren Sie das CA-Zertifikat.

    • Für RHEL und Rocky Linux:

      Verwenden Sie den Befehl trust anchor <path/CA certificate>, um das CA-Zertifikat hinzuzufügen. Stellen Sie sicher, dass keine Zertifikate manuell im Verzeichnis /etc/pki/ca-trust/source/anchors platziert werden. Wenn Sie Fehler im Zusammenhang mit schreibgeschützten Feldern erhalten, entfernen Sie alle in diesem Verzeichnis vorhandenen Zertifikate.

    • Für SUSE, Ubuntu und Debian:

      Platzieren Sie das Root-CA-Zertifikat im Verzeichnis /usr/local/share/ca-certificates. Wenn das Zertifikat keine .crt-Erweiterung hat, benennen Sie es entsprechend um. Führen Sie dann den Befehl update-ca-certificate aus.

Selbstsignierte Zertifikate für WebSocket konfigurieren