Linux Virtual Delivery Agent 2503

Selbstsignierte Zertifikate für WebSocket konfigurieren

Ab der Erstveröffentlichung von 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 Dokumentation zu Citrix Virtual Apps and Desktops.

  • WebSocket ist eine leistungsstarke Technologie, die eine bidirektionale Echtzeitkommunikation zwischen einem Client und einem Server ermöglicht. Um jedoch eine sichere Verbindung zu gewährleisten, insbesondere bei der Verwendung von wss://, ist die Konfiguration eines selbstsignierten Zertifikats oft erforderlich, 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 systemd-resolved-Dienst 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, 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: Anfordern eines Zertifikats von einer Zertifizierungsstelle (CA)

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

    Initiate a certificate request

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

    Select a bit length

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

    Open the generated certificate request file

  4. Melden Sie sich bei Ihrem Webzertifikatsserver an und fahren Sie mit der Anforderung eines Zertifikats fort.

    Log in to your web certificate server

    Advanced certificate request

  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.

    Submit a certificate request

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

    Download the certificate

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

    Complete the certificate request

Schritt 3: Binden des Delivery Controller FQDN-Zertifikats

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

    Export the Delivery Controller FQDN certificate

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

    Import the exported PFX certificate

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

    Bind the imported certificate

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

    Select the imported certificate during binding

Schritt 4: Speichern und Aktualisieren des CA-Zertifikats auf dem Linux-VDA

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

    Download a CA certificate

  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 in das Verzeichnis /etc/pki/ca-trust/source/anchors platziert werden. Wenn Sie Fehler im Zusammenhang mit schreibgeschützten Feldern feststellen, entfernen Sie alle in diesem Verzeichnis vorhandenen Zertifikate.

    • Für SUSE, Ubuntu und Debian:

      Platzieren Sie das Stamm-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