Skip to content

LDAPS mit Access Gateway Enterprise

by Natanael Mignon on Juli 28th, 2011

Standardmäßig ist auf einem Windows Server 2008 LDAPS aktiviert, allerdings ist kein entsprechendes Zertifikat im System hinterlegt, was dazu führt, dass gültige Anmeldeversuche abgewiesen werden, sobald man den Security Type des Authentication Servers auf TLS oder SSL stellt.

Bei der Verwendung von PLAINTEXT ist der Login für Benutzer zwar möglich, sollte das Kennwort des Benutzers jedoch abgelaufen oder zurückgesetzt worden sein, stellt der Benutzer bei der nächsten Anmeldung am CAGEE fest, dass er sein Kennwort nicht ändern kann, obwohl er die Abfragen zum Ändern seines Kennworts richtig beantwortet. Zur erfolgreichen Änderung des Kennworts ist die Verwendung von LDAPS zwingend erforderlich.

Um die Kennwortänderung über das Webinterface des CAGEE zu ermöglichen müssen folgende Bedingungen erfüllt sein:

  • LDAP Server muss Anfragen über SSL akzeptieren (LDAPS)
  • Der Authentication Server des CAG muss Passwortänderungen erlauben und LDAPS nutzen

Für die Konfiguration von LDAPS wird in diesem Beispiel ein selbstsigniertes Zertifikat verwendet, die Zertifikatserstellung erfolgt nicht mit den Active Directory Certificate Services, sondern wird lokal auf der Windows Maschine durchgeführt.

 

Erstellen eines selbstsignierten Zertifikats:

Das Zertifikat wird auf dem Domain Controller erstellt der später LDAPS anbieten soll. Prinzipiell kann das Zertifikat auch mit OpenSSL erstellt werden, allerdings finden sich dann bei jedem Login über das CAG Warnmeldungen (Ereignis-ID: 36886) im Eventlog des Domain Controllers, da bestimmte Zertifikatserweiterungen (x.509 Extensions) fehlen.

Zur Erstellung des Request wird das Kommandozeilentool certreq verwendet, welches nach Übergabe einer .inf Datei alle benötigten Dateien anlegt. Wir benötigen also die Datei request.inf mit folgendem Inhalt:

;—————– request.inf —————–
[Version]
Signature=“$Windows NT$
[NewRequest]
Subject = „CN=server.domain.zz“ ; replace with the FQDN of the DC
KeySpec = 1
KeyLength = 2048
; Can be 1024, 2048, 4096, 8192, or 16384.
; Larger key sizes are more secure, but have
; a greater impact on performance.
Exportable = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = „Microsoft RSA SChannel Cryptographic Provider“
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; this is for Server Authentication
;———————————————–

Nachdem die Datei angelegt ist, wird das Kommando certreq -new request.inf request.req mit Administratorberechtigungen ausgeführt. Um an die benötigten Dateien (Zertifikat und Private Key) zu kommen öffnen wir nun die mmc.exe und fügen das Snap-In Zertifikate für das Computerkonto „lokalen Computer“ hinzu. In der Baumansicht an der linken Seite Zertifikatsregistrierungsanforderungen -> Zertifikate erweitern. An dieser Stelle sollte ein Eintrag mit unseren Daten (server.domain.zz) zu finden sein. Ein Doppelklick auf den Eintrag öffnet das Zertifikat welches über den Karteireiter Details -> In Datei Kopieren… gespeichert wird. Nun noch einen Rechtsklick auf den Eintrag Alle Aufgaben -> Exportieren… und dem Dialog folgen.

  • Ja, privaten Schlüssel exportieren
  • Privater Informationsaustausch – PKCS#12
  • Alle erweiterten Eigenschaften exportieren
  • Kennwort eingeben
  • Speicherort auswählen und Fertigstellen

Nachdem die beiden Dateien gespeichert sind, wechseln wir in der Baumansicht zu den eigenen Zertifikaten und importieren die PKCS#12 Datei (Rechtsklick -> Alle Aufgaben -> Importieren..). Anschließend muss noch das gespeicherte Zertifikat, in die Vertrauenswürdigen Stammzertifizierungsstellen importiert werden. Sobald diese Schritte abgeschlossen sind, bekommen wir Antworten vom LDAP-Dienst über SSL.

Ob die Funktionalität tatsächlich bereit steht, kann mit dem Tool ldp.exe getestet werden. Das Tool über Ausführen ldp.exe starten und im Fenster Remotedesktopverbindung -> Verbinden die Adresse des Domain Controllers welcher LDAPS bereitstellt eingeben, SSL anhaken, Port 636 eingeben und mit OK bestätigen.

Wenn die Verbindung funktioniert erfolgt eine längere Ausgabe mit dem Inhalt

[…]
Established connection to server.domain.zz.
Retrieving base DSA information…
Getting 1 entries:
Dn: (RootDSE)
[…]

andernfalls wird eine Fehlermeldung angezeigt.

Anpassen der Einstellungen auf dem CAGEE:

Die Einrichtung im Bereich Windows ist an dieser Stelle abgeschlossen. Damit LDAPS vom CAGEE genutzt werden kann, müssen nun noch zwei Einstellungen am Authentication Server angepasst werden. Im Dialog des Authentication Server muss der Radiobutton Security Type auf SSL (Port 636) eingestellt werden und zusätzlich zu den bisherigen Einstellungen sollte die Checkbox Allow Password Change aktiviert werden.

Im Anschluss an diese Änderungen kommuniziert das CAGEE SSL gesichert mit dem LDAP-Backend und Benutzer sind in der Lage ihr Passwort über die Weboberfläche zu ändern.

No comments yet

Leave a Reply

You must be logged in to post a comment.