AD-Connector - LDAPS Only (PORT) Konfiguration

Liebe UCS Community,

da Microsoft bald auf only LDAPS Umstellt wollte ich hier schonmal einen Thread diesbezüglich starten.

Der AD-Connector baut eine verschlüsselte LDAP Verbindung über Port 389 unter Hinzunahme des Root-CA Zertifikats zu eine Microsoft Domäne auf.

Sobald man das folgende setting

ucr set connector/ad/ldap/port=389
ucr set connector/ad/ldap/ssl=yes

auf Port 636 ändert, ist eine Synchronisation der User-Daten von einem Windows DC nicht mehr möglich.

Ist schon eine Umstellung auf Port 636/LDAPS only bereits für die nächsten Releases geplant?

Viele Grüße,
HOEZ

Hallo

Es ist soweit ich das sehe, nicht so, dass Microsoft nur noch auf LDAPS über Port 636 umstellt. Nur, dass Microsoft u.a. auf Port 389 einfach nicht mehr plaintext LDAP supporten will, etwas, was sicher nicht verkeht ist. Insofern, wenn du schon heute LDAP mit StartTLS über Port 389 verwendet (wie ich auch), dann sehe ich die Sache eigentlich recht gelassen. Ich sehe nach aktuellen Angaben von MS keinen direkten Zwang auf Port 636 zu wechseln.

Es gab hier kürzlich mit 4.4-5 Erratum 742 ein Update im Bereich LDAPS support. Ob es sich nur um univention-ad-search und univention-connector-list-rejected betrifft, bin ich nicht ganz sicher.

Hallo @msi

Vielen Dank für den Reply,

Grade ich hab im Rahmen meiner Projekte viel mit Plain Text zu kämpfen.

Daher die Frage ob man ausnahmslos auf den AD-Connector auf LDAPS / Port 636 umstellen kann.

Wie oben erwähnt sobald ich die UCR Variable auf Port 636 umstelle funktioniert die Sync nicht mehr.

Wie hast du StartTLS zum laufen gebracht? Bei mir funktioniert zwar der Sync mittels Root-CA Zertifikat, aber die einzelnen Clients sind leider nicht in der Lage Zertifikate Automatisch auszutauschen oder zu ersetzen bzw. zu aktualisieren.

Viele Grüße,
HOEZ

Hallo @hoez

Es ist schon grauslig, an wie vielen stellen (LDAP) plain text noch im Einsatz ist, dem kann ich absolut zustimmen. Ich habe die Root CA von AD unter UCS importiert, und folgende UCR Variabeln konfiguriert. Damals hatte ich sogar ein tcpdump laufen lassen, um sicher zu gehen, dass wirklich StartTLS funktioniert. Da ich wusste, dass ich das in 6 Monaten nicht mehr verstehen würde, hatte ich es damals dokumentiert, hier ein extrakt aus meiner Doku:

# Damit der UCS server den AD Server auflösen kann, sofern kein weiteres DNS
# forwarding eingerichtet ist, und das Zertifikat validiert werden kann:
ucr set hosts/static/<ip des AD DCs>='dc1.ad.example.net'

# Root CA der AD-Seite analog wieder Wizard es im Web UI machen würde 
# (das war gem. Doku von mir unter UCS 4.4-2), dann die permissions setzen
chmod 600 /etc/univention/connector/ad/your-ad-root-ca.pem

ucr set connector/ad/ldap/certificate=/etc/univention/connector/ad/your-ad-root-ca.pem
ucr set connector/ad/ldap/host='dc1.ad.example.net'

CA-Kette UCS-seitig prüfen - ohne das Zertifikat einzubinden, sollte failen:

openssl s_client -connect dc1.ad.example.net:636 -showcerts -verify 2
verify depth is 2
CONNECTED(00000003)
depth=1 DC = ad, DC = example, DC = net, CN = AD Example CA
verify error:num=20:unable to get local issuer certificate
verify return:1
[...]

Wenn das Zertifikat (wie vom connector) eingebunden wird (die CA hatte 1 intermediate, darum verifiy 2):

openssl s_client -connect dc1.ad.example.net:636 \
 -showcerts -verify 2 \
 -CAfile /etc/univention/connector/ad/your-ad-root-ca.pem

Damit sollte die ganze Kette angezeigt werden.

Jetzt fragst du dich sicher, warum ich trotzdem Port 636 für die Tests mit OpenSSL benutzt habe? Leider kam mir damals nichts in den Sinn, womit ich es sonst hätte testen können, als mit OpenSSL. Die Version von OpenSSL in Debian stretch / UCS 4.4 supportet --starttls ldap noch nicht. Diese Option gibt es erst der Version OpenSSL, die mit Debian buster resp. UCS 5.0 verfügbar ist bzw. sein wird. (Vergleiche die manpages: S_CLIENT(1SSL) stretch vs. S_CLIENT(1SSL) buster

Ich hoffe, das bringt dich weiter. Inwievern du einen automatischen Sync meint, ist mir nicht genau klar. Der AD-Connector kann es sich nicht automatisch holen. Meinst du Endgeräte, so wie das etwa AD mittes GPOs und Autoenrollment kann? Das geht leider meines wissens heute mit UCS nicht.

Mastodon