Linux Virtual Delivery Agent

LDAPS

LDAPS ist die sichere Version des Lightweight Directory Access Protocol (LDAP), bei der LDAP-Kommunikationen mithilfe von TLS/SSL verschlüsselt werden.

  • Standardmäßig sind LDAP-Kommunikationen zwischen Client- und Serveranwendungen nicht verschlüsselt. LDAPS ermöglicht es Ihnen, den Inhalt der LDAP-Abfragen zwischen dem Linux VDA und den LDAP-Servern zu schützen.

Die folgenden Linux VDA-Komponenten sind von LDAPS abhängig:

  • Broker-Agent: Linux VDA-Registrierung bei einem Delivery Controller™
  • Richtliniendienst: Richtlinienauswertung

  • Die Konfiguration von LDAPS umfasst:

  • LDAPS auf dem Active Directory (AD)/LDAP-Server aktivieren
  • Stamm-CA für die Clientnutzung exportieren
  • LDAPS auf dem Linux VDA aktivieren/deaktivieren
  • LDAPS für Drittanbieterplattformen konfigurieren
  • SSSD konfigurieren
  • Winbind konfigurieren
  • Centrify konfigurieren
  • Quest konfigurieren

Hinweis:

Sie können den folgenden Befehl ausführen, um einen Überwachungszyklus für Ihre LDAP-Server festzulegen. Der Standardwert ist 15 Minuten. Stellen Sie ihn auf mindestens 10 Minuten ein.

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -v "ListOfLDAPServersMonitorPeroid" -t "REG_DWORD" -d "0x0000000f" --force
<!--NeedCopy-->

LDAPS auf dem AD/LDAP-Server aktivieren

Sie können LDAP über SSL (LDAPS) aktivieren, indem Sie ein ordnungsgemäß formatiertes Zertifikat von einer Microsoft-Zertifizierungsstelle (CA) oder einer Nicht-Microsoft-CA installieren.

Tipp:

  • LDAPS wird automatisch aktiviert, wenn Sie eine Enterprise-Stamm-CA auf einem Domänencontroller installieren.

Weitere Informationen zum Installieren des Zertifikats und zum Überprüfen der LDAPS-Verbindung finden Sie unter How to enable LDAP over SSL with a third-party certification authority.

  • Wenn Sie eine mehrstufige Zertifizierungsstellenhierarchie haben, verfügen Sie nicht automatisch über das entsprechende Zertifikat für die LDAPS-Authentifizierung auf dem Domänencontroller.

Informationen zum Aktivieren von LDAPS für Domänencontroller mithilfe einer mehrstufigen Zertifizierungsstellenhierarchie finden Sie im Artikel LDAP over SSL (LDAPS) Certificate.

Stammzertifizierungsstelle für die Clientnutzung aktivieren

Der Client muss ein Zertifikat von einer CA verwenden, der der LDAP-Server vertraut. Um die LDAPS-Authentifizierung für den Client zu aktivieren, importieren Sie das Stamm-CA-Zertifikat in einen vertrauenswürdigen Keystore.

Weitere Informationen zum Exportieren der Stamm-CA finden Sie unter How to export Root Certification Authority Certificate auf der Microsoft Support-Website.

LDAPS auf dem Linux VDA aktivieren oder deaktivieren

Um LDAPS auf dem Linux VDA zu aktivieren oder zu deaktivieren, führen Sie das folgende Skript aus (als Administrator angemeldet):

Die Syntax für diesen Befehl umfasst Folgendes:

  • LDAP über SSL/TLS mit dem bereitgestellten Stamm-CA-Zertifikat aktivieren:

     /opt/Citrix/VDA/sbin/enable_ldaps.sh -Enable pathToRootCA
     <!--NeedCopy-->
    
  • LDAP über SSL/TLS mit Kanalbindung aktivieren:

     /opt/Citrix/VDA/sbin/enable_ldaps.sh -Enablecb pathToRootCA
     <!--NeedCopy-->
    

    Hinweis:

    Das Stamm-CA-Zertifikat für die Kanalbindung muss im PEM-Format vorliegen. Wenn die Aktivierung von LDAPS keine Python3-Umgebung erfolgreich erstellt, erstellen Sie sie manuell gemäß den Anweisungen unter Create a Python3 virtual environment.

    Um SSL-Verbindungsfehler zu beheben, die bei der Verwendung des pip-Tools auftreten können, fügen Sie die folgenden vertrauenswürdigen Hosts zur Datei /etc/pip.conf hinzu: [global]

  • trusted-host = pypi.org files.pythonhosted.org

  • Auf LDAP ohne SSL/TLS zurückgreifen
/opt/Citrix/VDA/sbin/enable_ldaps.sh -Disable
<!--NeedCopy-->

Der für LDAPS dedizierte Java-Keystore befindet sich in /etc/xdl/.keystore. Betroffene Registrierungsschlüssel sind:

HKLM\Software\Citrix\VirtualDesktopAgent\ListOfLDAPServers

HKLM\Software\Citrix\VirtualDesktopAgent\ListOfLDAPServersForPolicy

HKLM\Software\Citrix\VirtualDesktopAgent\UseLDAPS

HKLM\Software\Policies\Citrix\VirtualDesktopAgent\Keystore

HKLM\Software\Citrix\VirtualDesktopAgent\EnableChannelBinding
<!--NeedCopy-->
  • LDAPS für Drittanbieterplattformen konfigurieren

  • Neben den Linux VDA-Komponenten benötigen möglicherweise auch mehrere Drittanbieter-Softwarekomponenten, die dem VDA angehören, sicheres LDAP, z. B. SSSD, Winbind, Centrify und Quest. Die folgenden Abschnitte beschreiben, wie sicheres LDAP mit LDAPS, STARTTLS oder SASL Sign and Seal konfiguriert wird.

  • Tipp:

  • Nicht alle dieser Softwarekomponenten bevorzugen die Verwendung von SSL-Port 636, um sicheres LDAP zu gewährleisten. Und meistens kann LDAPS (LDAP über SSL auf Port 636) nicht mit STARTTLS auf Port 389 koexistieren.

SSSD

Konfigurieren Sie den sicheren SSSD-LDAP-Datenverkehr auf Port 636 oder Port 389 gemäß den Optionen. Weitere Informationen finden Sie auf der SSSD LDAP Linux-Manpage.

Winbind

Die Winbind-LDAP-Abfrage verwendet die ADS-Methode. Winbind unterstützt nur die StartTLS-Methode auf Port 389. Betroffene Konfigurationsdateien sind /etc/samba/smb.conf und /etc/openldap/ldap.conf (für RHEL) oder /etc/ldap/ldap.conf (für Ubuntu). Ändern Sie die Dateien wie folgt:

  • smb.conf

    ldap ssl = start tls ldap ssl ads = yes client ldap sasl wrapping = plain

  • ldap.conf

    TLS_REQCERT never

Alternativ können Sie sicheres LDAP über SASL GSSAPI Sign and Seal konfigurieren, dies kann jedoch nicht mit TLS/SSL koexistieren. Um SASL-Verschlüsselung zu verwenden, ändern Sie die smb.conf-Konfiguration:

ldap ssl = off ldap ssl ads = no client ldap sasl wrapping = seal

Centrify

Centrify unterstützt LDAPS auf Port 636 nicht. Es bietet jedoch sichere Verschlüsselung auf Port 389. Weitere Informationen finden Sie auf der Centrify-Website.

Quest

Quest Authentication Service unterstützt LDAPS auf Port 636 nicht, bietet aber sichere Verschlüsselung auf Port 389 mit einer anderen Methode.

Fehlerbehebung

Die folgenden Probleme können bei der Verwendung dieser Funktion auftreten:

  • Verfügbarkeit des LDAPS-Dienstes

    Stellen Sie sicher, dass die LDAPS-Verbindung auf dem AD/LDAP-Server verfügbar ist. Der Port ist standardmäßig 636.

  • Linux VDA-Registrierung fehlgeschlagen, wenn LDAPS aktiviert ist

    Stellen Sie sicher, dass der LDAP-Server und die Ports korrekt konfiguriert sind. Überprüfen Sie zuerst das Stamm-CA-Zertifikat und stellen Sie sicher, dass es mit dem AD/LDAP-Server übereinstimmt.

  • Versehentliche falsche Registrierungsänderung

    Wenn Sie die LDAPS-bezogenen Schlüssel versehentlich ohne Verwendung von enable_ldaps.sh aktualisiert haben, kann dies die Abhängigkeit von LDAPS-Komponenten unterbrechen.

  • LDAP-Verkehr wird nicht über SSL/TLS von Wireshark oder anderen Netzwerküberwachungstools verschlüsselt

    Standardmäßig ist LDAPS deaktiviert. Führen Sie /opt/Citrix/VDA/sbin/enable_ldaps.sh aus, um es zu erzwingen.

  • Kein LDAPS-Verkehr von Wireshark oder anderen Netzwerküberwachungstools

    LDAP/LDAPS-Verkehr tritt bei der Linux VDA-Registrierung und der Auswertung von Gruppenrichtlinien auf.

  • Fehler beim Überprüfen der LDAPS-Verfügbarkeit durch Ausführen von ldp connect auf dem AD-Server

    Verwenden Sie den AD-FQDN anstelle der IP-Adresse.

  • Fehler beim Importieren des Stamm-CA-Zertifikats durch Ausführen des Skripts /opt/Citrix/VDA/sbin/enable_ldaps.sh

    Geben Sie den vollständigen Pfad des CA-Zertifikats an und überprüfen Sie, ob das Stamm-CA-Zertifikat vom richtigen Typ ist. Es sollte mit den meisten unterstützten Java Keytool-Typen kompatibel sein. Wenn es nicht in der Supportliste aufgeführt ist, können Sie den Typ zuerst konvertieren. Wir empfehlen das base64-kodierte PEM-Format, wenn Sie ein Zertifikatsformatproblem haben.

  • Fehler beim Anzeigen des Stamm-CA-Zertifikats mit Keytool -list

    Wenn Sie LDAPS durch Ausführen von /opt/Citrix/VDA/sbin/enable_ldaps.sh aktivieren, wird das Zertifikat in /etc/xdl/.keystore importiert und das Kennwort zum Schutz des Keystores festgelegt. Wenn Sie das Kennwort vergessen haben, können Sie das Skript erneut ausführen, um einen Keystore zu erstellen.