Linux Virtual Delivery Agent

LDAPS

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

  • Standardmäßig ist die LDAP-Kommunikation zwischen Client- und Serveranwendungen nicht verschlüsselt. LDAPS ermöglicht es Ihnen, den Inhalt der LDAP-Abfrage 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:

  • Aktivieren von LDAPS auf dem Active Directory (AD)/LDAP-Server
  • Exportieren der Stammzertifizierungsstelle (CA) für die Clientnutzung
  • Aktivieren/Deaktivieren von LDAPS auf dem Linux VDA
  • Konfigurieren von LDAPS für Drittanbieterplattformen
  • Konfigurieren von SSSD
  • Konfigurieren von Winbind
  • Konfigurieren von Centrify
  • Konfigurieren von Quest

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-Stammzertifizierungsstelle 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 Stammzertifizierungsstelle 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-virtuelle Umgebung erfolgreich erstellt, erstellen Sie diese 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, sollten Sie die folgenden vertrauenswürdigen Hosts zur Datei /etc/pip.conf hinzufügen: [global]

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

  • Rückgriff auf LDAP ohne SSL/TLS
/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 auch mehrere Drittanbieter-Softwarekomponenten, die dem VDA angehören, möglicherweise sicheres LDAP, wie 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-Verkehr auf Port 636 oder Port 389 gemäß den Optionen. Weitere Informationen finden Sie in der SSSD LDAP Linux man page.

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 die 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 eine 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 eine 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 Standardport ist 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 beeinträchtigen.

  • 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 stellen Sie sicher, dass das Stamm-CA-Zertifikat den richtigen Typ hat. 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-codierte 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, können Sie das Skript erneut ausführen, um einen Keystore zu erstellen.