Bundesamt für Sicherheit in der Informationstechnik

M 4.310 Einrichtung des LDAP-Zugriffs auf Verzeichnisdienste

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator

LDAP (Lightweight Directory Access Protocol) ist ein Protokoll zum Zugriff auf Daten eines Verzeichnisdienstes. LDAP wurde ursprünglich als Alternative zu DAP (Directory Access Protocol) entwickelt, das im Rahmen des X.500-Directory-Standards definiert wurde. Das zugrunde liegende Datenmodell und die innerhalb des Protokolls möglichen Operationen wurden dabei im Wesentlichen vom X.500-Standard übernommen. Die aktuelle Version des Protokolls, LDAP Version 3, hat sich inzwischen zum dominierenden Standard für den Zugriff auf Verzeichnisdienste entwickelt.

Verzeichnisdienste verfügen nahezu alle über eine LDAP-Schnittstelle. Dies ermöglicht unter anderem die folgenden Einsatzszenarien:

  • Der Verzeichnisdienst wird im Internet platziert, zum Beispiel als so genannte Zertifikatsdatenbank. Die Benutzer greifen über das Internet mit Hilfe eines geeigneten LDAP-fähigen Software-Clients darauf zu.
  • Der Verzeichnisdienst wird im Intranet einer Institution zur Verwaltung von Benutzerkonten oder Ressourcen im Netz eingesetzt. Dann sind neben direkten Benutzerzugriffen über einen LDAP-Client auch Zugriffe von Netzapplikationen möglich.

In beiden Fällen ist der LDAP-Zugriff entsprechend der zuvor definierten Sicherheitsrichtlinie (siehe M M 2.405 Erstellung einer Sicherheitsrichtlinie für den Einsatz von Verzeichnisdiensten ) zu konfigurieren.

Verzeichnisdienste erlauben prinzipiell eine anonyme Anmeldung von LDAP-Clients. In der Voreinstellung hat der LDAP-Client die Zugriffsrechte, die für das Objekt im Verzeichnisdienst eingetragen sind. Es handelt sich um ein virtuelles Objekt, das lediglich für die Rechtevergabe im Verzeichnisdienst genutzt wird. Jeder Zugriff auf Objekte im Verzeichnisbaum erfolgt automatisch mindestens mit den Rechten, die diesem "public" Objekt eingeräumt werden.

Sollen anonymen Benutzern auf einzelne Teilbereiche des Verzeichnisbaums weitergehende Zugriffe eingeräumt werden, so ist dafür ein gesondertes Benutzerkonto, ein sogenannter Proxy-User, für den anonymen LDAP-Zugriff einzurichten. Dieser anonyme Zugang setzt keine Authentisierung voraus, es ist nicht notwendig, diesem Konto ein Passwort zu vergeben. Es sollte darauf geachtet werden, dass dieses anonyme Benutzerkonto selbst auch kein Passwort einrichten kann, da der anonyme Zugang sonst durch einen Client blockiert werden könnte. Desweiteren sollten die Zugriffsrechte für diesen Proxy-User hinreichend restriktiv vergeben werden. Sie sollten wieder komplett entzogen werden, wenn der Account nicht mehr gebraucht wird.

Insbesondere bei einem anonymen Zugriff sollten die Suchmöglichkeiten über LDAP-Zugriffe eingeschränkt werden. Liefert der Server zum Beispiel nach Eingabe eines Namens die zugehörige E-Mail-Adresse oder für eine E-Mail-Adresse ein zugehöriges Zertifikat, so sollten Suchfilter nur eingeschränkt genutzt werden dürfen? Die E-Mail-Adresse und nur diese (nicht der zugehörige Distinguished Name) sollte nur nach Eingabe des vollständigen Namens oder eines ausreichend langen Namensteils an den Anfragenden zurückgegeben werden. Ein Zertifikat sollte nur bei Eingabe einer vollständigen E-Mail-Adresse zurück geliefert werden. Es sollte überlegt werden, Platzhalter (Wildcards) nicht zu erlauben, damit über solche Abfragen keine vollständige Liste aller E-Mail-Adressen der Institution erstellt werden können. Alternativ kann die Anzahl der ausgegebenen Ergebnisse mit einem niedrigen Limit ausgestattet werden. Empfohlen wird ein Limit zwischen 1 und 5. Andernfalls sind anonyme Benutzer in der Lage, den kompletten Verzeichnisdienst oder zumindest große Teile davon auszulesen und erhalten so wertvolle Informationen, die als Grundlage für Spam oder Social Engineering-Angriffe dienen können (siehe G 3.89 Fehlerhafte Konfiguration des LDAP-Zugriffs auf Verzeichnisdienste).

Bereits bei der Planung des Einsatzes eines Verzeichnisdienstes muss entschieden werden, welche Daten über eine anonyme Anmeldung zugänglich sein dürfen (siehe auch M 2.405 Erstellung einer Sicherheitsrichtlinie für den Einsatz von Verzeichnisdiensten ).

Einsatz des Verzeichnisdienstes als LDAP-Server im Internet

Wird der Verzeichnisdienst als LDAP-Server im Internet eingesetzt, so sind die entsprechenden Server durch ein Sicherheitsgateway zu schützen. Dies sollte so konfiguriert werden, dass nur die zum Betrieb der LDAP-Server notwendigen Datenpakete zu den LDAP-Servern weitergeleitet werden. Meist wird es sich dabei um TCP-Pakete an die Ports 389 und 636 handeln, die standardisierten Port-Nummern für LDAP bzw. LDAP über SSL .

Für Daten, auf die nicht anonym zugegriffen werden darf, ist eine Authentisierung des jeweiligen LDAP-Clients notwendig. Der jeweilige Client authentisiert sich also als im Verzeichnis eingetragener Benutzer.

Um zu verhindern, dass Kennwörter im Klartext über das Internet übertragen werden, sollten die entsprechenden Einstellungen gesetzt sein. Mit dieser Einstellung sind dennoch anonyme LDAP-Verbindungen ebenso möglich wie eine Benutzeranmeldung mit LDAP über SSL.

Grundsätzlich wird empfohlen, SSL für die Kommunikation und Übertragung einzusetzen. Hierbei werden die Optionen ein- sowie zweiseitige Authentisierung unterstützt. Zweiseitige Authentisierung bedeutet, dass auch der Client im Besitz eines gültigen Zertifikats sein muss und dass auf Basis des zugehörigen privaten Schlüssels ein Sitzungsschlüssel (Session Key) generiert wird. Dies ist die sicherste Konfiguration. Alternativ kann die Client-Authentisierung jedoch auch über ein Passwort erfolgen. Durch die Verwendung einer verschlüsselten SSL-Verbindung zum Server ist die Vertraulichkeit des Passworts bei der Übertragung gewährleistet. In jedem Fall müssen die Benutzer das CA-Wurzelzertifikat in ihren LDAP-Client, z. B. einen Browser, importieren, damit die eingerichteten Vertrauensbeziehungen auch lokal nachvollzogen werden können (siehe M 5.66 Clientseitige Verwendung von SSL/TLS ).

Wird kein SSL verwendet, werden Benutzerpasswörter im Klartext über das Internet an den Verzeichnisdienst übertragen (siehe auch M 5.147 Absicherung der Kommunikation mit Verzeichnisdiensten ). Dies sollte aber grundsätzlich vermieden werden.

Ein Verzeichnisdienst bietet die Möglichkeit, die innerhalb von LDAP verwendeten standardisierten Objektklassen auf andere im Verzeichnisdienst intern verwendete Objektklassen abzubilden. Diese Eigenschaft wird relevant, wenn LDAP-Clients bei der Suche standardisierte LDAP-Objektklassen verwenden, die entsprechenden Daten sich jedoch in Attributen von Verzeichnisdienst-Objektklassen mit anderen Namen befinden. Bei der erstmaligen Verwendung von LDAP-Clients oder bei Änderungen des Verzeichnisdienst-Schemas sollte daher überprüft werden, ob die Abbildung der LDAP-Objektklassen auf Verzeichnisdienst-Objektklassen schlüssig ist und die verwendeten LDAP-Applikationen damit korrekt funktionieren.

Prüffragen:

  • Sind alle Verzeichnisdienst-Server, die vom Internet aus über LDAP angesprochen werden können, durch ein Sicherheitsgateway geschützt?

  • Falls ein Proxy-User für die LDAP-Gruppe konfiguriert wurde, sind die Zugriffsrechte für diesen Proxy-User hinreichend restriktiv vergeben?

  • Wird die Kommunikation und Übertragung über LDAP ausreichend abgesichert?

  • Wird die Suche über LDAP-Zugriffe eingeschränkt, um die unnötige Herausgabe sicherheitssensitiver Informationen zu verhindern?

Stand: 14. EL Stand 2014