Mithilfe der Anleitungen in diesem Artikel können Sie Ihren LDAP-Client mit Secure LDAP verbinden.
WICHTIG:
- Dokumentation des Anbieters
Die Angaben in diesem Artikel dienen nur als Referenz und können sich ändern. Lesen Sie deshalb auch die Unterlagen Ihres Anbieters, denn gegebenenfalls gibt es dort aktuellere Vorgehensweisen. - Vorbereitung
Bevor Sie diese Anleitung verwenden, sollten Sie folgende Schritte bereits ausgeführt haben: LDAP-Clients hinzufügen, Zugriffsberechtigungen konfigurieren, generiertes Zertifikat herunterladen und optional Anmeldedaten generieren. - Konnektivitätstests
Bevor Sie mit diesen Schritten beginnen, können Sie mithilfe einfacher Tools wie ldapsearch, ADSI oder ldp.exe die Konnektivität prüfen. Die Tools eignen sich auch zur Behebung von Fehlern, die unter Umständen beim Verbinden Ihres LDAP-Clients mit Secure LDAP auftreten. Eine entsprechende Anleitung finden Sie im Hilfeartikel Konnektivität für Secure LDAP testen. - Einrichtung abschließen:
Nachdem Sie den LDAP-Client gemäß dieser Anleitung verbunden haben, müssen Sie die Einrichtung abschließen. Ändern Sie dazu den Dienststatus in der Admin-Konsole auf An. Wie das geht, erfahren Sie unter Schritt 5: LDAP-Clients aktivieren.
Inhalt
Dieser Artikel enthält die folgenden Abschnitte:
- Allgemeine Konfigurationsanleitung: Grundlegende Informationen zum Verbinden von LDAP-Clients, die in diesem Artikel nicht erwähnt werden
- Konfigurationsanleitung für bestimmte LDAP-Clients: Informationen zum Verbinden bestimmter LDAP-Clients wie Atlassian Jira oder OpenVPN mit Secure LDAP. Die konkreten Schritte unterscheiden sich je nach Art des Clients.
- Konfigurationsanleitung für Java-Anwendungen: Grundlegende Informationen zu Java-basierte Anwendungen, die LDAP-Funktionen bieten
- Optional: Stunnel als Proxy verwenden: Anleitung zum Verbinden von LDAP-Clients unter besonderer Berücksichtigung solcher, die keine digitalen Zertifikate unterstützen
In den Anleitungen wird davon ausgegangen, dass Sie den Clientschlüssel ldap-client.key und das Zertifikat ldap-client.crt haben.
Allgemeine Konfigurationsanleitung
In diesem Abschnitt erfahren Sie, wie Sie Ihren LDAP-Client mit Secure LDAP verbinden. Wenn Sie ihn unten nicht finden können, lesen Sie die Dokumentation des Anbieters.
Hinweis: Bei manchen LDAP-Clients, z. B. Atlassian Jira und SSSD, werden während der Authentifizierung eines Nutzers weitere Informationen zu diesem gesucht. Damit bei solchen LDAP-Clients die Nutzerauthentifizierung funktioniert, müssen Sie für alle Organisationseinheiten, für die Nutzeranmeldedaten überprüfen aktiviert ist, auch die Option Nutzerinformationen lesen verwenden. Weitere Informationen finden Sie unter 2. Zugriffsberechtigungen konfigurieren.
So verbinden Sie den LDAP-Client mit Secure LDAP:
- Konfigurieren Sie Ihren LDAP-Client mit Cloud Directory als LDAP-Server.
- Laden Sie das Zertifikat auf Ihren LDAP-Client hoch.
In Secure LDAP werden als primäre Authentifizierungsmethode TLS-Clientzertifikate verwendet. Öffnen Sie die Authentifizierungs- oder Verzeichniseinstellungen des LDAP-Clients und geben Sie die Daten aus der Tabelle unten ein, bevor Sie das Zertifikat hochladen.Hinweis: Ausführliche Informationen dazu, wie und wo TLS-Zertifikate hochgeladen werden, finden Sie in der Dokumentation Ihres Anbieters.
In der folgenden Tabelle finden Sie grundlegende Verbindungsinformationen:
Hostname |
ldap.google.com |
Ports |
389 bei LDAP mit aktiviertem StartTLS |
Basis-DN |
Ihre Domain im DN-Format (Distinguished Name). Beispiel: dc=beispiel,dc=de für beispiel.de |
Nutzername und Passwort |
Bei manchen LDAP-Clients benötigen Sie für die Authentifizierung nicht nur ein Zertifikat, sondern auch einen Nutzernamen und ein Passwort. Wenn „Nutzername“ und „Passwort“ keine Pflichtfelder sind, können Sie diesen Schritt überspringen. Erstellen Sie in der Admin-Konsole einen Nutzernamen und ein Passwort. Weitere Informationen |
Clientzertifikate und Schlüsseldateien |
Verwenden Sie das Zertifikat und die Schlüsseldatei, die Sie aus der Google Admin-Konsole heruntergeladen haben. Wenn ein LDAP-Client die Authentifizierung über ein Zertifikat nicht unterstützt, müssen Sie Stunnel als Proxy verwenden. WICHTIG: Bei einigen LDAP-Clients wie Apache Directory Studio wird das Hochladen digitaler Zertifikate nicht unterstützt. Sie können dieses Problem umgehen, indem Sie Stunnel als Proxy verwenden. |
Konfigurationsanleitung für bestimmte LDAP-Clients
ADSI Edit (Windows)Gehen Sie so vor:
- Führen Sie die Schritte 1–11 des Abschnitts ldp.exe (Windows) aus, um die Clientzertifikate zu installieren.
- Gehen Sie zu Action > Connect to… (Aktion > Verbinden mit…).
- Geben Sie die folgenden Verbindungseinstellungen ein:
Name: Geben Sie einen Namen für Ihre Verbindung ein, z. B. Google LDAP.
Connection Point (Verbindungspunkt): Gehen Sie zum Abschnitt „Select or type a Distinguished Name or Naming Context“ (Distinguished Name oder Namenskontext auswählen oder eingeben).
Geben Sie Ihren Domainnamen im DN-Format ein, z. B. dc=beispiel,dc=de für beispiel.de.
Computer: Gehen Sie zum Abschnitt „Select or type a domain or server“ (Domain oder Server auswählen oder eingeben).
ldap.google.com
Use SSL-based Encryption (SSL-basierte Verschlüsselung verwenden): aktiviert
- Klicken Sie auf Advanced… (Erweitert…) und geben Sie die folgenden Details ein:
Specify credentials (Anmeldedaten angeben): aktiviert
Username (Nutzername): Nutzername aus der Admin-Konsole
Password (Passwort): Passwort aus der Admin-Konsole
Port Number (Portnummer): 636
Protocol (Protokoll): LDAP
Simple bind authentication (Einfache Bind-Authentifizierung): aktiviert
- Klicken Sie auf OK und dann noch einmal auf OK.
- Wenn die Verbindung hergestellt wurde, werden die im Basis-DN vorhandenen Inhalte des aktiven Verzeichnisses rechts im Fenster angezeigt.
Für die Nutzung von Apache Directory Studio sind eine Verbindung über Stunnel und Anmeldedaten (Nutzername und Passwort) erforderlich, die in der Admin-Konsole generiert wurden. Wenn die Anmeldedaten vorhanden sind und Localhost-Port 1389 mit Stunnel überwacht wird, gehen Sie folgendermaßen vor:
- Klicken Sie auf File > New… (Datei > Neu…).
- Wählen Sie LDAP Browser > LDAP Connection (LDAP-Browser > LDAP-Verbindung) aus.
- Klicken Sie auf Next (Weiter).
- Geben Sie die Verbindungsparameter ein:
Connection name (Verbindungsname): Wählen Sie einen Namen aus, z. B. Google LDAP
Hostname: localhost
Port: 1389 (oder der Stunnel-Port zum Überwachen/Akzeptieren)
Encryption method (Verschlüsselungsmethode): Keine Verschlüsselung. Besteht zwischen Stunnel und Client eine Remoteverbindung, sollten Sie diese jedoch verschlüsseln.
- Klicken Sie auf Next (Weiter).
- Geben Sie die Authentifizierungsparameter ein:
Authentication Method (Authentifizierungsmethode): Simple Authentication (Einfache Authentifizierung)
Bind DN or user (Bind-DN oder Nutzer): Nutzername aus der Admin-Konsole
Bind password (Bind-Passwort): Passwort aus der Admin-Konsole
- Klicken Sie auf Next (Weiter).
- Geben Sie den Basis-DN ein.
Das ist Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für beispiel.de. - Klicken Sie auf Finish (Beenden).
In Atlassian Jira werden während der Authentifizierung weitere Informationen zum Nutzer gesucht. Damit die Nutzerauthentifizierung durch den LDAP-Client funktioniert, müssen die Optionen Nutzerinformationen lesen und Gruppeninformationen lesen für alle Organisationseinheiten aktiviert werden, in denen die Einstellung Nutzeranmeldedaten überprüfen aktiviert ist. Weitere Informationen
Wichtig: Wenn Sie dieser Anleitung folgen, besteht die Gefahr, dass das keyStorePassword für Nutzer und Protokolldateien preisgegeben wird. Treffen Sie Vorkehrungen, um unbefugte Zugriffe auf die lokale Shell, die Protokolldatei und die Admin-Konsole zu vermeiden. Alternativ zur folgenden Anleitung können Sie auch die Stunnel4-Methode nutzen (siehe Optional: Stunnel als Proxy verwenden).
Hinweis: In der folgenden Anleitung wird davon ausgegangen, dass Jira unter /opt/atlassian/jira installiert ist.
So verbinden Sie einen Atlassian Jira-Client mit Secure LDAP:
- Kopieren Sie das Zertifikat und den Schlüssel auf Ihren Jira-Server. Verwenden Sie das Zertifikat, das erstellt wurde, als Sie Secure LDAP in der Google Admin-Konsole den LDAP-Client hinzugefügt haben.
Beispiel:
$ scp ldap-client.key user@jira-server:
- Konvertieren Sie das Zertifikat und die Schlüssel in das Schlüsselspeicher-Format von Java. Sie werden während des Vorgangs mehrfach nach Passwörtern gefragt. Der Einfachheit halber sollten Sie ein sicheres Passwort auswählen und es bei allen Eingabeaufforderungen wiederverwenden.
$ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
$ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS
- Konfigurieren Sie Jira so, dass der neu erstellte Schlüsselspeicher verwendet wird. Folgen Sie dieser Anleitung, um Optionen hinzuzufügen:
-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password
Unter Linux:- Bearbeiten Sie /opt/atlassian/jira/bin/setenv.sh.
- Suchen Sie die Einstellung „JVM_SUPPORT_RECOMMENDED_ARGS“.
- Fügen Sie „-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password“ hinzu. Ersetzen Sie dabei „password“ durch Ihr oben ausgewähltes Passwort.
- Starten Sie Jira neu.
$ /opt/atlassian/jira/bin/stop-jira.sh
$ /opt/atlassian/jira/bin/start-jira.sh
- Melden Sie sich als Administrator in der Weboberfläche von Jira an.
- Öffnen Sie Settings > User Management (Einstellungen > Nutzerverwaltung) über das Zahnradsymbol rechts oben.
- Klicken Sie auf User Directories (Nutzerverzeichnisse).
- Klicken Sie auf Add Directory (Verzeichnis hinzufügen).
- Wählen Sie als Typ LDAP aus.
- Klicken Sie auf Next (Weiter).
- Geben Sie Folgendes ein:
Name
Google Secure LDAP
Directory Type (Verzeichnistyp)
OpenLDAP
Hostname
ldap.google.com
Port
636
Use SSL (SSL verwenden)
Aktiviert
Nutzername
Erstellen Sie in der Admin-Konsole einen Nutzernamen und ein Passwort. Weitere Informationen
Passwort
Erstellen Sie in der Admin-Konsole einen Nutzernamen und ein Passwort. Eine Anleitung hierfür finden Sie unter Anmeldedaten generieren.
Base DN (Basis-DN)
Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für beispiel.de
Additional User DN (Zusätzlicher Nutzer-DN)
Optional; „ou=Users“
Additional Group DN (Zusätzlicher Gruppen-DN)
Optional; „ou=Groups“
LDAP Permissions (LDAP-Berechtigungen)
Schreibgeschützt
Advanced Settings (Erweiterte Einstellungen)
Nicht geändert
User Schema Settings (Einstellungen für das Nutzerschema) >
User Name Attribute (Attribut des Nutzernamens)googleUid
User Schema Settings (Einstellungen für das Nutzerschema) >
User Name RDN Attribute (RDN-Attribut des Nutzernamens)uid
Group Schema Settings (Einstellungen für das Gruppenschema) >
Group Object Class (Objektklasse der Gruppe)groupOfNames
Group Schema Settings (Einstellungen für das Gruppenschema) >
Group Object Class (Objektfilter der Gruppe)(objectClass=groupOfNames)
Membership Schema Settings (Einstellungen für das Mitgliedschaftsschema) >
Group Members Attribute (Attribut der Gruppenmitglieder)member
Membership Schema Settings (Einstellungen für das Mitgliedschaftsschema) >
Use the User Membership Attribute (Attribut der Nutzermitgliedschaft verwenden)Aktiviert - Weisen Sie einer Gruppe eine Rolle zu:
Damit sich ein Nutzer bei Atlassian Jira anmelden kann, muss er Mitglied einer Gruppe sein, die Zugriff auf Jira hat.
So weisen Sie einer Gruppe eine Rolle zu:- Öffnen Sie Settings > Applications > Application access (Einstellungen > Anwendungen > Anwendungszugriff).
- Geben Sie im Textfeld Select group (Gruppe auswählen) den Namen der Google Groups-Gruppe ein, die Zugriff auf Jira erhalten soll.
Eine Anleitung zum Verbinden von CloudBees Core mit Secure LDAP finden Sie auf der Seite Configure CloudBees Core with Google's Cloud Identity Secure LDAP (CloudBees Core mithilfe von Google Cloud Identity Secure LDAP konfigurieren).
Gehen Sie so vor:
- Installieren und konfigurieren Sie FreeRADIUS unter /etc/freeradius/3.0/.
Wenn FreeRADIUS installiert ist, können Sie die LDAP-Konfiguration hinzufügen. Dazu brauchen Sie das Plug-in freeradius-ldap.
$ sudo apt-get install freeradius freeradius-ldap
- Kopieren Sie den LDAP-Clientschlüssel und die Zertifikatsdateien und fügen Sie sie in /etc/freeradius/3.0/certs/ldap-client.key bzw. /etc/freeradius/3.0/certs/ldap-client.crt ein.
$ chown freeradius:freeradius
/etc/freeradius/3.0/certs/ldap-client.*
$ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*
- Aktivieren Sie das LDAP-Modul.
$ cd /etc/freeradius/3.0/mods-enabled/
$ ln -s ../mods-available/ldap ldap
- Bearbeiten Sie /etc/freeradius/3.0/mods-available/ldap.
- ldap->server = 'ldaps://ldap.google.com:636'
- identity = Nutzername aus den Anmeldedaten für die Anwendung
- password = Passwort aus den Anmeldedaten für die Anwendung
- base_dn = „dc=domain,dc=com“
- tls->start_tls = no
- tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
- tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
- tls->require_cert = ‘allow’
- Kommentieren Sie alle Felder im Navigationspfad für den Abschnitt 'ldap -> post-auth -> update' aus.
- Bearbeiten Sie /etc/freeradius/3.0/sites-available/default.
Dadurch wird die Verbindung des FreeRadius-Clients geändert. Wenn Sie nicht den Standardclient verwenden, müssen Sie den Client aktualisieren, den Sie konfiguriert haben („Inner-Tunnel“ oder benutzerdefinierter Client).
- Fügen Sie im Abschnitt Authorize (Autorisieren) den folgenden Block nach dem Ausdruck für das Protokoll der Passwortauthentifizierung (password authentication protocol, PAP) hinzu:
if (User-Password) {
update control {
Auth-Type := ldap
}
}
- Aktivieren Sie LDAP im Abschnitt Authorize (Autorisieren), indem Sie den Bindestrich (-) davor entfernen.
#
# Mithilfe des LDAP-Moduls werden Passwörter aus der LDAP-Datenbank gelesen.
ldap
- Bearbeiten Sie den Block Auth-Type LDAP im Abschnitt Authenticate (Authentifizieren) folgendermaßen:
# Auth-Type LDAP {
ldap
# }
- Bearbeiten Sie den Block Auth-Type PAP im Abschnitt Authenticate (Authentifizieren) folgendermaßen:
Auth-Type PAP {
# pap
ldap
}
- Fügen Sie im Abschnitt Authorize (Autorisieren) den folgenden Block nach dem Ausdruck für das Protokoll der Passwortauthentifizierung (password authentication protocol, PAP) hinzu:
Eine Anleitung zum Verbinden von GitLab mit Secure LDAP finden Sie auf der Hilfeseite Google Secure LDAP (in englischer Sprache).
Eine Anleitung zum Verbinden von Itopia/Ubuntu mit Secure LDAP finden Sie auf der Hilfeseite Configuring Google Cloud Identity LDAP on Ubuntu 16.04 for user logins (Google Cloud Identity LDAP unter Ubuntu 16.04 für Nutzeranmeldungen konfigurieren).
Gehen Sie so vor:
- Öffnen Sie auf dem Ivanti-Webserver OpenLDAPAuthenticationConfiguration.xml oder OpenLDAPSSLAuthenticationConfiguration.xml in einem Texteditor in den beiden folgenden Ordnern:
C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework und C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (servicedesk ist dabei der Name der Instanz) - Ändern Sie den Wert <Server> in ldap.google.com.
- Ändern Sie den Wert <Port> für den Klartext-Port mit aktiviertem StartTLS in 3268 und für den SSL/TLS-Port in 3269. Die Standardwerte lauten 389 bzw. 636.
- Legen Sie den Wert für <TestDN> auf Ihren Domainnamen im DN-Format fest, z. B. dc=beispiel,dc=de für beispiel.de.
- Fügen Sie sowohl für ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config als auch für ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config eine der folgenden Zeilen hinzu:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />
oder:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
- Öffnen Sie im Ivanti Configuration Center die erforderliche Instanz.
- Klicken Sie neben der Anwendung Service Desk Framework auf Edit (Bearbeiten).
Das Dialogfeld Edit Application (Anwendung bearbeiten) für Service Desk Framework wird angezeigt. - Wählen Sie in der Gruppe Configuration parameters (Konfigurationsparameter) aus der Liste Logon policy (Anmelderichtlinien) die Option Explicit only (Nur explizit) aus und klicken Sie dann auf OK.
- Klicken Sie neben der Web Access-Anwendung auf Edit (Bearbeiten).
Das Dialogfeld Edit Application (Anwendung bearbeiten) für Web Access wird angezeigt. - Wählen Sie in der Gruppe Configuration parameters (Konfigurationsparameter) aus der Liste Logon policy (Anmelderichtlinien) die Option Explicit only (Nur explizit) aus und klicken Sie dann auf OK.
Verwenden Sie bei der Anmeldung das Netzwerkpasswort des zugehörigen Domainnutzers.
Ausnahmelogging für die LDAP-Serverauthentifizierung
Wenn Sie Probleme beim Konfigurieren der LDAP-Serverauthentifizierung haben, können Sie das Ausnahmelogging aktivieren und erhalten so Unterstützung bei der Problemerkennung. Diese Funktion ist standardmäßig nicht aktiviert und sollte auch wieder deaktiviert werden, wenn Sie die Fehlersuche abgeschlossen haben.
So aktivieren Sie Ausnahmelogging für die LDAP-Serverauthentifizierung:
- Öffnen Sie die entsprechende Authentifizierungsdatei der Konfiguration (XML-Datei) in einem Texteditor:
DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml oder OpenLDAPSSLAuthenticationConfiguration.xml - Ändern Sie die Zeile:
<ShowExceptions>false</ShowExceptions>
in
<ShowExceptions>true</ShowExceptions>
- Speichern Sie die Änderungen.
Gehen Sie so vor:
- Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie in der Eingabeaufforderung Folgendes ein:
In MacOS oder Linux:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Geben Sie ein Passwort ein, um die Ausgabedatei zu verschlüsseln.
In Windows:
$ certutil -mergepfx ldap-client.crt ldap-cient.p12
Wichtig: Die beiden Dateien <CERT_FILE>.crt und <CERT_FILE>.key müssen sich im selben Verzeichnis befinden. Außerdem müssen sowohl key als auch crt einen (abgesehen von der Dateierweiterung) identischen Namen haben. In diesem Beispiel verwenden wir die Namen ldap-client.crt und ldap-client.key. - Gehen Sie zum Steuerfeld.
- Geben Sie in das Suchfeld den Begriff „certificate“ (Zertifikat) ein und klicken Sie auf Manage user certificates (Nutzerzertifikate verwalten).
- Gehen Sie zu Action > All Tasks > Import… (Aktion > Alle Aufgaben > Importieren…).
- Wählen Sie Current User (Aktueller Nutzer) aus und klicken Sie auf Next (Weiter).
- Klicken Sie auf Browse… (Durchsuchen…).
- Wählen Sie rechts unten im Dialogfeld über die Drop-down-Liste file type (Dateityp) die Option Personal Information Exchange (*.pfx;*.p12) (Austausch personenbezogener Daten (*.pfx;*.p12)) aus.
- Wählen Sie die in Schritt 2 erstellte Datei ldap-client.p12 aus. Klicken Sie auf Open (Öffnen) und dann auf Next (Weiter).
- Geben Sie das Passwort aus Schritt 2 ein und klicken Sie auf Next (Weiter).
- Wählen Sie für „certificate store“ (Zertifikatsspeicher) den Typ Personal (Privat) aus, klicken Sie auf Next (Weiter) und dann auf Finish (Beenden).
- Führen Sie Ldp.exe aus.
- Gehen Sie zu Connection > Connect… (Verbindung > Verbinden…).
- Geben Sie die folgenden Verbindungsdetails ein:
Server: ldap.google.com
Port: 636
Connectionless (ohne Verbindung): nicht aktiviert
SSL: aktiviert
- Klicken Sie auf OK.
- Gehen Sie zu View > Tree (Ansicht > Baum).
- Geben Sie den Basis-DN ein. Dies ist Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für beispiel.de.
- Klicken Sie auf OK.
- Wenn die Verbindung hergestellt wurde, zeigt LDP.exe rechts im Fenster den Inhalt des aktiven Verzeichnisses an, z. B. alle im Basis-DN vorhandenen Attribute.
Eine Anleitung zum Verbinden von Netgate/pfSense mit Secure LDAP finden Sie im Hilfeartikel Configuring Google Cloud Identity as an Authentication Source (Google Cloud Identity als Authentifizierungsquelle konfigurieren).
Verwenden Sie in der Befehlszeile den OpenLDAP-Befehl ldapsearch, um auf Ihr LDAP-Verzeichnis zuzugreifen.
Beispiel: Ihr Clientzertifikat und -schlüssel haben den Namen ldap-client.crt bzw. ldap-client.key, Ihre Domain ist beispiel.de und der Nutzername lautet jsmith. Dann sähe der Befehl so aus:
$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=beispiel,dc=de '(uid=jsmith)'
Dadurch werden die relevanten Umgebungsvariablen so festgelegt, dass sie auf die Clientschlüssel verweisen. Sie können die anderen ldapsearch-Optionen z. B. durch die Filter und angeforderten Attribute ersetzen. Weitere Informationen finden Sie auch im Handbuch zu ldapsearch („man ldapsearch“).
Gehen Sie so vor:
- Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie an einer Eingabeaufforderung Folgendes ein:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Geben Sie Ihr Passwort ein, um die Ausgabedatei zu verschlüsseln.
- Klicken Sie oben rechts in der Menüleiste auf „Suchen“ und geben Sie Keychain Access (Schlüsselbundzugriff) ein.
- Öffnen Sie die Schlüsselbundverwaltung und klicken Sie in der Liste links auf System.
- Klicken Sie links oben in der Menüleiste auf Datei und wählen Sie Objekte importieren aus.
- Gehen Sie zum Speicherort der erstellten Datei ldap-client.p12, wählen Sie ldap-client.p12 aus und klicken Sie auf Öffnen.
Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
Ein Zertifikat mit dem Namen LDAP-Client sollte jetzt in der Liste der System-Schlüsselbundzertifikate angezeigt werden. - Klicken Sie auf den Pfeil neben dem Zertifikat des LDAP-Clients. Darunter erscheint ein privater Schlüssel.
- Klicken Sie doppelt auf den privaten Schlüssel.
- Wählen Sie im Dialogfeld den Tab Zugriffskontrolle aus und klicken Sie links unten auf +.
-
Drücken Sie im Fenster, das sich geöffnet hat, Befehlstaste + Umschalt + G, um ein neues Fenster zu öffnen. Ersetzen Sie dann den vorhandenen Text durch /usr/bin/ldapsearch.
-
Klicken Sie auf Go (Öffnen).
Dadurch wird ein Fenster geöffnet, in dem „ldapsearch“ markiert ist. -
Klicken Sie auf Add (Hinzufügen).
-
Klicken Sie auf Save Changes (Änderungen speichern) und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
Sie können jetzt über die Befehlszeile mit dem OpenLDAP-Befehl „ldapsearch“ auf Ihr LDAP-Verzeichnis zugreifen.
-
Angenommen, die Datei ldap-client.p12, die Sie zuvor in den Schlüsselbund importiert haben, hat den Namen LDAP-Client, Ihre Domain ist beispiel.de und der Nutzername lautet jschmidt, geben Sie Folgendes ein:
$ LDAPTLS_IDENTITY="LDAP-Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=beispiel, dc=de '(uid=jschmidt)'
Dadurch werden die relevanten Umgebungsvariablen so festgelegt, dass sie auf das importierte Clientzertifikat verweisen. Sie können die anderen ldapsearch-Optionen z. B. durch die Filter und angeforderten Attribute ersetzen. Weitere Informationen finden Sie auch im Handbuch zu ldapsearch (man ldapsearch).
Gehen Sie so vor:
- Installieren und konfigurieren Sie OpenVPN. Falls Sie dies bereits getan haben, öffnen Sie die Seite „Settings“ (Einstellungen) in OpenVPN.
Die allgemeine Konfiguration eines VPN wird in diesem Hilfeartikel nicht beschrieben. Sobald ein VPN konfiguriert ist, können Sie die Nutzerauthentifizierung und -autorisierung über LDAP hinzufügen. Dazu müssen Sie insbesondere das Plug-in openvpn-auth-ldap installieren.
$ sudo apt-get install openvpn openvpn-auth-ldap
- Kopieren Sie den LDAP-Clientschlüssel und die Zertifikatsdateien und fügen Sie sie in /etc/openvpn/ldap-client.key bzw. /etc/openvpn/ldap-client.crt ein.
- Erstellen Sie die Datei /etc/openvpn/auth-ldap.conf, die Folgendes enthält (hier ein Beispiel mit dem Domainnamen beispiel.de):
<LDAP>
URL ldaps://ldap.google.com:636 #
Timeout 15
TLSEnable false
TLSCACertDir /etc/ssl/certs
TLSCertFile /etc/openvpn/ldap-client.crt
TLSKeyFile /etc/openvpn/ldap-client.key
</LDAP>
<Authorization>
BaseDN "dc=beispiel,dc=de"
SearchFilter "(uid=%u)" # (oder wählen Sie einen eigenen LDAP-Filter für Nutzer aus)
RequireGroup false
</Authorization>
- Bearbeiten Sie die OpenVPN-Konfigurationsdatei, häufig /etc/openvpn/server.conf oder ähnlich benannt. Fügen Sie unten in der Datei Folgendes hinzu:
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert optional
- Starten Sie den OpenVPN-Server neu.
$ sudo systemctl restart openvpn@server
- Konfigurieren Sie die VPN-Clients so, dass die Nutzernamen und Passwörter der Nutzer verwendet werden. Fügen Sie beispielsweise bei einer OpenVPN-Clientkonfiguration auth-user-pass am Ende der Konfigurationsdatei hinzu und starten Sie den Client:
$ openvpn --config /path/to/client.conf
- Richten Sie Stunnel als Proxy ein.
Eine Anleitung zum Verbinden eines OpenVPN Access Servers mit Secure LDAP finden Sie im Artikel Configuring Google Secure LDAP with OpenVPN Access Server (Google Secure LDAP mit einem OpenVPN Access Server konfigurieren).
Eine Anleitung zum Verbinden von PaperCut mit Secure LDAP finden Sie im Artikel Google Workspace- und Google Cloud Identity-Nutzer in PaperCut synchronisieren und authentifizieren (in englischer Sprache).
Eine Anleitung zum Verbinden von Puppet Enterprise mit Secure LDAP finden Sie auf der GitHub-Seite Google Cloud Directory for PE (Google Cloud Directory für Puppet Enterprise).
Wichtig: Sorgen Sie vor Beginn dafür, dass mindestens die Version 4.5 (4.5.19808.0) des Softerra LDAP Browsers installiert ist. LDAP-Browser 4.5 herunterladen
Gehen Sie so vor:
- Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie in der Eingabeaufforderung Folgendes ein:
In MacOS oder Linux:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Geben Sie ein Passwort ein, um die Ausgabedatei zu verschlüsseln.
In Windows:
$ certutil -mergepfx ldap-client.crt ldap-cient.p12
Wichtig: Die beiden Dateien <CERT_FILE>.crt und <CERT_FILE>.key müssen sich im selben Verzeichnis befinden. Außerdem müssen sowohl key als auch crt einen (abgesehen von der Dateierweiterung) identischen Namen haben. In diesem Beispiel verwenden wir die Namen ldap-client.crt und ldap-client.key. - Installieren Sie das Schlüsselpaar im Softerra LDAP-Browser.
- Gehen Sie zu Tools > Certificate Manager (Tools > Zertifikatmanager).
- Klicken Sie auf Import… (Importieren).
- Klicken Sie auf Next (Weiter).
- Klicken Sie auf Browse… (Durchsuchen…).
- Wählen Sie rechts unten im Dialogfeld aus der Drop-down-Liste File type (Dateityp) die Option Personal Information Exchange (*.pfx;*.p12) (Austausch persönlicher Informationen (*.pfx;*.p12)) aus.
- Wählen Sie die im Schritt 2 genannte Datei ldap-client.p12 aus.
- Klicken Sie auf Open (Öffnen) und dann auf Next (Weiter).
- Geben Sie das Passwort aus Schritt 2 oben ein und klicken Sie auf Next (Weiter).
- Wählen Sie für „certificate store“ (Zertifikatsspeicher) den Typ Personal (Privat) aus.
- Klicken Sie auf Next (Weiter).
- Klicken Sie auf Finish (Beenden).
- Fügen Sie ein Serverprofil hinzu.
- Klicken Sie auf File > New > New Profile… (Datei > Neu > Neues Profil).
- Geben Sie einen Namen für das Profil ein, z. B. Google LDAP.
- Klicken Sie auf Next (Weiter).
Geben Sie Folgendes ein:
Host: ldap.google.com
Port: 636
Base DN (Basis-DN): Ihr Domainname im DN-Format. (z. B. dc=beispiel,dc=de für beispiel.de)
Use secure connection (SSL) (Sichere Verbindung (SSL) verwenden): aktiviert
- Klicken Sie auf Next (Weiter).
- Wählen Sie External (SSL Certificate) (Extern (SSL-Zertifikat)) aus.
- Klicken Sie auf Next (Weiter).
- Klicken Sie auf Finish (Beenden).
Eine Anleitung zum Verbinden von Sophos Mobile mit Secure LDAP finden Sie auf der Seite Connecting Sophos Mobile to Google Cloud Identity/Google Cloud Directory using Secure LDAP (Sophos Mobile mithilfe von Secure LDAP mit Google Cloud Identity/Google Cloud Directory verbinden).
Wenn Sie Splunk mit Secure LDAP verbinden möchten, benötigen Sie die Splunk-Version 8.1.4 oder neuer. Wenn Sie eine ältere Splunk-Version – wie z. B. Version 8.1.3 – verwenden, werden möglicherweise übermäßig viele LDAP-Anfragen an den LDAP-Server gesendet, sodass Ihr Kontingent schnell erschöpft sein könnte. Weitere Informationen zu den Problemen mit Splunk-Version 8.1.3 finden Sie in diesem englischsprachigen Hilfeartikel.
Gehen Sie so vor:
- Kopieren Sie den LDAP-Clientschlüssel und die Zertifikatsdateien nach /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key und /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt.
$ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
$ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
$ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
- Fügen Sie der Datei ldap.conf die folgenden Konfigurationsdateien hinzu:
ssl start_tls
TLS_REQCERT never
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem - Fügen Sie der Datei /home/splunkadmin/.ldaprc des Nutzers folgende Konfigurationen hinzu:
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
- Fügen Sie über die Splunk-Web-UI die LDAP-Strategie hinzu. Nehmen Sie die folgenden Einstellungen vor und klicken Sie dann auf Save (Speichern):
Name |
Google Secure LDAP |
Host |
ldap.google.com |
Port |
636 |
SSL enabled (SSL aktiviert) |
Aktiviert |
Connection order (Verbindungsreihenfolge) |
1 |
Bind DN (Bind-DN) |
Geben Sie die Anmeldedaten ein, die Sie in der Admin-Konsole generiert haben. |
Bind DN password (Bind-DN-Passwort) |
Geben Sie die Anmeldedaten ein, die Sie in der Admin-Konsole generiert haben. |
Base-DN |
Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für beispiel.de |
User base filter (Nutzerbasisfilter) |
Geben Sie den Nutzerbasisfilter für die Objektklasse ein, nach der Sie die Nutzer filtern möchten. |
User name attribute (Nutzernamen-Attribut) |
uid |
Real name attribute (Realnamen-Attribut) |
displayname |
Email attribute (E-Mail-Attribut) |
|
Group mapping attribute (Gruppenzuordnungs-Attribut) |
dn |
Group base DN (Basis-DN für Gruppe) |
Ihr Domainname im DN-Format, z. B. ou=Groups,dc=beispiel,dc=de für beispiel.de |
Static group search filter (Statischer Gruppensuchfilter) |
Geben Sie den statischen Gruppensuchfilter für die Objektklasse ein, nach der Sie die statischen Gruppen filtern möchten. |
Group name attribute (Gruppennamen-Attribut) |
cn |
Static member attribute (Statisches Mitgliederattribut) |
member |
SSSD führt eine Nutzersuche durch, um weitere Informationen für die Nutzerauthentifizierung zu erhalten. Damit die Nutzerauthentifizierung durch den LDAP-Client funktioniert, müssen die Optionen Nutzerinformationen lesen und Gruppeninformationen lesen für alle Organisationseinheiten aktiviert werden, in denen die Einstellung Nutzeranmeldedaten überprüfen aktiviert ist. Weitere Informationen
So verbinden Sie einen SSSD-Client auf Red Hat 8 mit Secure LDAP:
- Fügen Sie den SSSD-Client dem Secure LDAP-Dienst hinzu:
- Gehen Sie in der Admin-Konsole zu Apps > LDAP > CLIENT HINZUFÜGEN.
Achten Sie darauf, dass Sie sich mit Ihrem Geschäftskonto und nicht mit Ihrem privaten Gmail-Konto anmelden. - Geben Sie die Clientdetails ein und klicken Sie auf WEITER.
- Konfigurieren Sie die Zugriffsberechtigungen:
Nutzeranmeldedaten überprüfen – Gesamte Domain
Nutzerinformationen lesen – Gesamte Domain
Gruppeninformationen lesen –Ein - Klicken Sie auf LDAP-CLIENT HINZUFÜGEN.
- Laden Sie das generierte Zertifikat herunter.
- Klicken Sie auf WEITER ZU CLIENTDETAILS.
- Ändern Sie den Dienststatus auf EIN.
- Gehen Sie in der Admin-Konsole zu Apps > LDAP > CLIENT HINZUFÜGEN.
- Installieren Sie die Abhängigkeiten:
dnf install openldap-clients sssd-ldap
install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap
Entpacken Sie die Datei „certificate.zip“ und kopieren Sie die CRT- und KEY-Dateien in /etc/sssd/ldap.
- Optional: Testen Sie ldapsearch:
LDAPTLS_REQCERT=never \
LDAPTLS_KEY=Google.key \
LDAPTLS_CERT=Google.crt \
ldapsearch -H ldaps://ldap.google.com:636/ \
-b dc=beispiel,dc=de \
-D usertoverify@beispiel.com \
-W \
'(mail=usertoverify@beispiel.de)' \
mail dn
Geben Sie das Google-Passwort des Nutzers ein, wenn Sie dazu aufgefordert werden.
Hinweis: Dem Nutzer muss eine Lizenz für Google Workspace Enterprise oder die Cloud Identity Premiumversion zugewiesen sein. - Erstellen Sie die Datei
/etc/sssd/sssd.conf
mit folgendem Inhalt:
[sssd]
services = nss, pam
domains = beispiel.de[domain/beispiel.de]
ldap_tls_cert = /etc/sssd/ldap/Google.crt
ldap_tls_key = /etc/sssd/ldap/Google.key
ldap_tls_reqcert = never
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=beispiel,dc=de
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID - Aktualisieren Sie die Berechtigungen und SELinux-Labels:
chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
restorecon -FRv /etc/sssd
- Starten Sie SSSD neu:
systemctl restart sssd
- Führen Sie einen Test aus:
ssh an Server:ssh -l user@beispiel.de {HOSTNAME}
Fehlerbehebung
- Prüfen Sie die SSSD-Version (muss 1.15.2 oder höher sein):
# sssd --version
2.2.3
-
Bei RHEL/CentOS (oder jeder Distribution mit SELinux-Erzwingung) müssen die SSSD-Konfigurationsdateien sowie die Zertifikatsdatei und der Schlüssel in einem Verzeichnis gespeichert sein, auf das die Rolle „sssd_conf_t“ zugreifen kann:
# egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contexts
Suchen Sie in /var/log/audit/audit.log nach AVC-Ablehnungsnachrichten.
- Überprüfen Sie, ob in /etc/nsswitch.conf „sss“ für die Elemente „passwd“, „shadow“, „group“ und „netgroup“ angegeben ist:
passwd: files sss
shadow: files sss
group: files sss
netgroup: files sss
Hier werden die LDAP-Nutzer durch lokale Dateien überschrieben.
- Überprüfen Sie /var/log/sssd.conf auf Konfigurationsfehler:
Beispiel:
[sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. Skipping.Aktion: Ändern Sie mit chmod 600 die Berechtigungen für die CONF-Datei.
Beispiel:
[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_groups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_initgroups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.
Aktion: Entfernen Sie die nicht unterstützten Gruppenübereinstimmungen von LDAP-Erweiterungen aus sssd.conf.
-
Überprüfen Sie /var/log/sssd_{DOMAIN}.log auf LDAP/network/auth-Fehler.
Beispiel:[sssd[be[beispiel.de]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls failed: [Connect error] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate)]
Aktion: Sie müssen „ldap_tls_reqcert = never“ zu sssd.conf hinzufügen.
Um die Ausführlichkeit von Fehlern zu erhöhen, fügen Sie „debug_level = 9“ in sssd.conf im Abschnitt „Domain“ hinzu und starten Sie „sssd“ neu.
SSSD führt eine Nutzersuche durch, um weitere Informationen für die Nutzerauthentifizierung zu erhalten. Damit die Nutzerauthentifizierung durch den LDAP-Client funktioniert, müssen die Optionen Nutzerinformationen lesen und Gruppeninformationen lesen für alle Organisationseinheiten aktiviert werden, in denen die Einstellung Nutzeranmeldedaten überprüfen aktiviert ist. Weitere Informationen
So verbinden Sie einen SSSD-Client mit Secure LDAP:
- Installieren Sie eine SSSD-Version >= 1.15.2.
$ sudo apt-get install sssd
- Wenn Ihre Clientzertifikats- und Clientschlüsseldateien /var/ldap-client.crt bzw. /var/ldap-client.key lauten und Sie die Domain beispiel.de verwenden, bearbeiten Sie /etc/sssd/sssd.conf folgendermaßen:
[sssd]
services = nss, pam
domains = beispiel.de[domain/beispiel.de]
ldap_tls_cert = /var/ldap-client.crt
ldap_tls_key = /var/ldap-client.key
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=beispiel,dc=de
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID
ldap_groups_use_matching_rule_in_chain = true
ldap_initgroups_use_matching_rule_in_chain = true
-
Ändern Sie die Inhaberschaft und die Berechtigung der Konfigurationsdatei:
$ sudo chown root:root /etc/sssd/sssd.conf
$ sudo chmod 600 /etc/sssd/sssd.conf -
Starten Sie SSSD neu:
$ sudo service sssd restart
Tipp: Wenn Sie in Google Compute Engine auf Linux-Computern ohne externe IP-Adresse das SSSD-Modul verwenden, können Sie weiterhin eine Verbindung zu Secure LDAP herstellen, solange der interne Zugriff auf Google-Dienste aktiviert ist. Weitere Informationen dazu, wie Sie den privaten Google-Zugriff konfigurieren
Gehen Sie wie unten beschrieben vor, um den macOS-Client für die Authentifizierung des Nutzerkontos über Secure LDAP zu verbinden.
Systemanforderungen
- Die macOS-Version muss Catalina Version 10.15.4 oder höher sein.
- Für Schritt 1 der Vorbereitungsphase ist eine Google Super Admin-Nutzer-ID erforderlich.
- Sie benötigen lokale Administratorberechtigungen, um diese Konfiguration auszuführen.
Inhalt:
Vorbereitungsphase
Die Anleitungen in diesem Abschnitt zeigen, wie Sie die macOS-Authentifizierung mit Secure LDAP manuell einrichten und testen.
Schritt 1: macOS in der Admin-Konsole als LDAP-Client festlegen
Eine Anleitung dazu finden Sie im Cloud Identity-Hilfeartikel LDAP-Clients hinzufügen oder in diesem Secure LDAP-Demovideo. Während dieses Vorgangs laden Sie außerdem ein automatisch generiertes TLS-Clientzertifikat herunter.
Schritt 2: Zertifikat in den Systemschlüsselbund importieren
- Kopieren Sie das Zertifikat (die in Schritt 1 heruntergeladene ZIP-Datei) und den Schlüssel auf den macOS-Computer.
Tipp: Entpacken Sie die Datei, um das Zertifikat und die Schlüsseldatei zu finden. - Importieren Sie das Schlüsselpaar in den Systemschlüsselbund:
-
Konvertieren Sie den Schlüssel und das Zertifikat in eine PKCS 12-Datei (p12). Führen Sie im Terminal den folgenden Befehl aus:
openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key
Tipp: Notieren Sie sich den Namen der P12-Datei.
Sie werden aufgefordert, ein Passwort einzugeben. Geben Sie ein Passwort ein, mit dem die P12-Datei verschlüsselt werden soll. -
Starten Sie die Schlüsselbundverwaltung.
-
Klicken Sie auf den Systemschlüsselbund.
-
Klicken Sie auf Datei > Objekte importieren.
-
Wählen Sie die oben erstellte Datei ldap-client.p12 aus.
-
Wenn Sie dazu aufgefordert werden, geben Sie das Administratorpasswort ein, um Änderungen am Systemschlüsselbund zu ermöglichen.
-
Geben Sie das Passwort ein, das Sie oben erstellt haben, um die P12-Datei zu entschlüsseln.
Hinweis: Ein neues Zertifikat und ein zugehöriger privater Schlüssel werden in der Liste der Schlüssel angezeigt. Es hat unter Umständen den Namen LDAP-Client. Notieren Sie sich den Namen des Zertifikats für den nächsten Schritt.
- Gehen Sie wie in Schritt 6 im Abschnitt ldapsearch (macOS) in diesem Artikel beschrieben vor, um die Zugriffssteuerung für den privaten Schlüssel zum Hinzufügen von Apps einzurichten. Wenn der private Schlüssel nicht in der Kategorie Alle Elemente angezeigt wird, wechseln Sie zur Kategorie Meine Zertifikate und suchen Sie nach dem korrekten Eintrag für den privaten Schlüssel, indem Sie das entsprechende Zertifikat maximieren.
Die in der Anleitung beschriebene ldapsearch App ist nur relevant, wenn eine Fehlerbehebung erforderlich ist. Sie wird normalerweise entfernt, bevor Nutzern macOS-Zugriff gewährt wird.
Die folgenden drei Apps müssen der Access Control List hinzugefügt werden:
/System/Library/CoreServices/Applications/Directory Utility
/usr/libexec/opendirectoryd
/usr/bin/dscl
-
-
Fügen Sie der Datei /etc/openldap/ldap.conf eine Zeile hinzu und achten Sie darauf, dass „LDAP Client“ genau der Name des Zertifikats ist, der in der macOS-Schlüsselbundverwaltung nach dem Import der .p12-Datei angezeigt wird (der Name stammt aus dem allgemeinen X.509-Subjektnamen [Subject Common Name] des generierten Zertifikats):
sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'
Schritt 3: Gerät zur Authentifizierung an das Google-Verzeichnis verweisen
Öffnen Sie die Anwendung Directory Utility (Verzeichnisdienste), um einen neuen LDAP-Verzeichnisknoten zu erstellen:
- Klicken Sie auf das Schloss, um Änderungen vorzunehmen, und geben Sie Ihr Passwort ein.
- Wählen Sie LDAPv3 aus und klicken Sie auf das Stiftsymbol, um die Einstellungen zu bearbeiten.
- Klicken Sie auf Neu.
- Geben Sie als Servernamen ldap.google.com ein, wählen Sie Verschlüsselung mit SSL aus und klicken Sie auf Manuell.
- Wählen Sie den neuen Servernamen aus und klicken Sie auf Edit… (Bearbeiten…).
- Geben Sie der Konfiguration einen aussagekräftigen Namen, z. B. Google Secure LDAP.
- Wählen Sie Encrypt using SSL (Verschlüsselung mit SSL) aus. Die Portnummer muss 636 lauten.
- Wechseln Sie zum Tab Search & Mappings (Suche und Zuordnungen).
- Wählen Sie in der Drop-down-Liste Access this LDAPv3 server using (Für den Zugriff auf diesen LDAPv3-Server verwenden) die Option RFC2307 aus.
- Wenn Sie dazu aufgefordert werden, geben Sie die domainspezifischen Informationen bei Search Base Suffix (Suchbasissuffix) ein. Für den Domainnamen zomato.com geben Sie beispielsweise
dc=zomato,dc=com
ein. - Klicken Sie auf OK.
- Konfigurieren Sie Attribute unter dem Eintragstyp Users (Nutzer):
- Wählen Sie im Abschnitt Record Types and Attributes (Eintragstypen und Attribute) die Option Users (Nutzer) aus und klicken Sie auf die Schaltfläche +.
- Wählen Sie im Pop-up-Fenster Attribute Types (Attributtypen) aus, klicken Sie auf GeneratedUID und dann auf OK (OK), um das Pop-up-Fenster zu schließen.
GeneratedUID sollte nach der Maximierung unter „Users“ (Nutzer) angezeigt werden.
- Klicken Sie auf die „GenerateUID“ und dann im Feld rechts auf das Symbol +.
- Geben Sie in das Textfeld apple-generateduid ein und drücken Sie die Eingabetaste.
- Klicken Sie unter dem Knoten Users (Nutzer) auf das Attribut NFSHomeDirectory.
- Setzen Sie auf dem Bildschirm rechts den Wert für dieses Attribut auf
#/Users/$uid$
. - Klicken Sie noch einmal auf OK und geben Sie Ihr Passwort ein, um die Änderungen zu speichern.
- Konfigurieren Sie im Fenster Directory Utility (Verzeichnisdienste) die neue LDAP-Konfiguration:
- Rufen Sie den Tab Search Policy (Suchrichtlinien) auf.
- Klicken Sie auf das Schloss, um Änderungen vorzunehmen, und geben Sie das Passwort des aktuellen Nutzers ein, wenn Sie dazu aufgefordert werden.
- Ändern Sie die Drop-down-Option von Search Path (Suchpfad) in Custom path (Benutzerdefinierter Pfad).
- Öffnen Sie den Tab Authentication (Authentifizierung) und klicken Sie auf das Symbol +.
- Wählen Sie
/LDAPv3/ldap.google.com
aus der Liste der Verzeichnisdomains aus und klicken Sie auf Add (Hinzufügen). - Klicken Sie auf Apply (Anwenden) und geben Sie Ihr Administratorpasswort ein, wenn Sie dazu aufgefordert werden.
- Führen Sie die folgenden vier Befehle aus, um die Authentifizierungsmechanismen DIGEST-MD5, CRAM-MD5, NTLM und GSSAPI zu deaktivieren. macOS verwendet Einfache Bindung zur Authentifizierung mithilfe von Google Secure LDAP:
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
- Starten Sie neu, um die OpenDirectory-Konfiguration zu aktualisieren.
Schritt 4: Mobiles Konto (Offlineanmeldung möglich)
Jeder Google Workspace- oder Cloud Identity-Nutzer kann sich mit seinem Nutzernamen und Passwort in einem Netzwerkkonto (Google-Konto) anmelden. Für diesen Anmeldevorgang ist eine Netzwerkverbindung erforderlich. Wenn sich ein Nutzer mit und ohne Netzwerkverbindung anmelden muss, kann ein mobiles Konto erstellt werden. Mit einem mobilen Konto können Sie sich mit dem Nutzernamen und Passwort Ihres Netzwerkkontos (Google-Kontos) anmelden, unabhängig davon, ob Sie mit dem Netzwerk verbunden sind oder nicht. Weitere Informationen dazu, wie Sie auf Macs mobile Konten erstellen und konfigurieren.
So erstellen Sie ein mobiles Konto für Secure LDAP-Nutzer:
-
Führen Sie den folgenden Befehl aus, um eine Verbindung zum Secure LDAP-Server herzustellen und einen Homepath und mobile Konten einzurichten:
sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v
Tipp: Ersetzen Sie $uid durch den Nutzernamen in der E-Mail-Adresse, also den Teil, der für das Google-Konto des Nutzers steht. Beispiel: jschmitt ist der Nutzername für jschmitt@solarmora.com. -
Wenn Sie nach dem Nutzernamen des SecureToken-Administrators gefragt werden, geben Sie Ihren Administratornutzernamen ein und bei der nächsten Eingabeaufforderung dann Ihr Passwort. Dadurch wird $uid zu FileVault hinzugefügt. Das ist erforderlich, wenn das macOS-Laufwerk verschlüsselt ist.
Schritt 5 (optional): Einstellung für den Anmeldebildschirm festlegen
- Klicken Sie links unten auf System preferences > Users & Groups > Login Options (Systemeinstellungen > Nutzer und Gruppen > Anmeldeoptionen).
- Geben Sie Ihre Administratoranmeldedaten ein.
- Ändern Sie die Einstellung unter Display login window as (Anmeldefenster anzeigen als) in Name and password (Name und Passwort).
Schritt 6: Gerät neu starten und auf dem Gerät anmelden
- Überprüfen Sie, ob das Gerät mit dem Internet verbunden ist. Wenn das Gerät nicht mit dem Internet verbunden ist, funktioniert die Anmeldung für den Secure LDAP-Nutzer nicht.
Hinweis: Eine Internetverbindung ist nur bei der ersten Anmeldung erforderlich. Alle weiteren Anmeldungen sind ohne Internetzugang möglich. - Melden Sie sich auf dem Gerät mit dem Nutzerkonto an, das für die Authentifizierung von Secure LDAP konfiguriert ist.
Bereitstellungsphase
Bei der Anleitung in diesem Abschnitt geht es hauptsächlich um die Automatisierung der Gerätekonfiguration für Ihre Nutzer. Führen Sie auf einem macOS-Gerät, auf dem Sie während der Vorbereitungsphase die manuelle Konfiguration vorgenommen haben, die Schritte 1 und 2 aus.
Schritt 1: Mit Apple Configurator 2 ein Mac-Profil mit Zertifikat erstellen
- Installieren Sie auf dem Computer, auf dem Sie die macOS-Authentifizierung mit Secure LDAP manuell konfiguriert haben, Apple Configurator 2.
- Öffnen Sie Apple Configurator 2. Erstellen Sie ein neues Profil und klicken Sie im Bereich „Certificate“ (Zertifikat) auf „Configure“ (Konfigurieren). Importieren Sie die zuvor generierte P12-Datei.
Hinweis: Für diese P12-Datei muss ein Passwort festgelegt sein. Geben Sie dieses Passwort im Bereich „Password“ (Passwort) des Zertifikats ein.
- Speichern Sie das Profil.
- Bei Geräten mit M1- oder M2-Prozessoren überspringen Sie diesen Schritt und fahren Sie mit Schritt 5 fort. Öffnen Sie es in einem Texteditor und fügen Sie die folgenden Zeilen in das erste <dict>-Tag ein:
<key>PayloadScope</key>
<string>System</string>
Das wird hinzugefügt, da Apple Configurator noch keine Profile für macOS unterstützt.
- Fügen Sie im zweiten <dict>-Tag parallel zu den Zertifikatsdaten die folgenden Zeilen ein:
Schritt 2: Verzeichniskonfigurationsdatei (plist) in XML konvertieren
In diesem Schritt extrahieren Sie alle manuellen Konfigurationen, die Sie in Schritt 3 der Vorbereitungsphase erstellt haben, in eine XML-Datei. Sie können diese Datei und das in Schritt 1 erstellte Mac-Profil verwenden, um automatisch andere macOS-Geräte zu konfigurieren.
- Kopieren Sie /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist auf Ihren Computer oder in einen anderen Ordner.
- Konvertieren Sie die Datei in XML, damit Sie sie in einem beliebigen Texteditor überprüfen können. Führen Sie im Terminal den folgenden Befehl aus:
sudo plutil -convert xml1 <path>/ldap.google.com.plist
Sie können als<path>/ldap.google.com.plist
auf die Datei zugreifen.
- Ändern Sie die Berechtigung der oben genannten Datei, sodass Sie die XML-Datei öffnen können. Sie darf nicht leer sein.
Schritt 3: Python-Script erstellen, um die Konfiguration auf Endnutzergeräten zu automatisieren
Kopieren Sie das folgende Python-Script und speichern Sie es als Python-Datei (PY-Datei).
Hinweis: Dieses Beispielskript ist für die Kompatibilität mit Python Version 3.10.x konzipiert. Dieses Script wird in Annahme seiner Richtigkeit bereitgestellt. Google bietet jedoch keinen Support für Beispielskripte.
Ldap_python_config.py
#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData
import os
import sys
# plist wird eingelesen
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()
# plist wird geschrieben
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b'\x00'*32, 32)
request.appendData_(NSData.dataWithBytes_length_(CONFIG, len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)
# Bearbeiten Sie den Standardsuchpfad und hängen Sie den neuen Knoten an, um eine Anmeldung zu ermöglichen.
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")
Schritt 4: Geräte von Endnutzern automatisch konfigurieren
Gehen Sie zu anderen macOS-Geräten, die Sie konfigurieren möchten, und folgen Sie diesen Schritten:
- Kopieren Sie die in Schritt 1 generierte Mac-Profildatei, die in Schritt 2 erstellte Konfigurationsdatei und das Python-Script aus Schritt 3 auf das Gerät.
- Führen Sie den folgenden Befehl aus:
sudo
python </path/to/saved_python_script> </path/to/ldap.google.com.plist in Schritt 2 erstellt>
- Um Zertifikate in den macOS-Systemschlüsselbund zu importieren, klicken Sie doppelt auf die Mac-Profildatei, die in Schritt 1 generiert wurde, und geben Sie die Anmeldedaten für den lokalen macOS-Administrator ein, wenn Sie dazu aufgefordert werden. Sie werden dann aufgefordert, das P12-Passwort einzugeben, das Sie in der Vorbereitungsphase festgelegt haben.
- Starten Sie das macOS-Gerät neu.
- Erstellen Sie mobile Konten gemäß der Anleitung in Schritt 4 der Vorbereitungsphase und legen Sie optional weitere Einstellungen fest, die in Schritt 5 der Vorbereitungsphase beschrieben sind.
Einschränkungen und Richtlinien
- Wenn sich Nutzer mit ihren Google-Anmeldedaten in macOS anmelden, muss sich der Nutzername ihres Workspace-Kontos von der Nutzer-ID ihres macOS-Nutzerprofils unterscheiden. Andernfalls wird die Anmeldung blockiert.
- Sobald ein Nutzer sich mithilfe von Google-Anmeldedaten in macOS anmeldet, muss die Nutzerpasswortverwaltung (Zurücksetzen oder Wiederherstellen) auf der Google-Website erfolgen, z. B. auf myaccount.google.com oder in der Admin-Konsole. Wenn Sie sich für die Passwortverwaltung mit einer Drittanbieterlösung entscheiden, achten Sie darauf, dass das aktuelle Passwort mit Google synchronisiert wird.
- Wenn der Administrator einen neuen Nutzer erstellt oder das Passwort eines vorhandenen Nutzers zurücksetzt, während die Einstellung Bei nächster Anmeldung zur Passwortänderung auffordern aktiviert ist, kann der Nutzer sich nicht mit dem temporären Passwort auf dem Mac anmelden, das der Administrator festgelegt hat.
Problemumgehung: Der Nutzer muss sich mit einem anderen Gerät, z. B. einem Mobilgerät oder einem anderen Computer, bei Google anmelden, ein dauerhaftes Passwort festlegen und sich dann mit dem neuen Passwort in macOS anmelden. - Der Mac muss mit dem Internet verbunden sein, damit ldap.google.com bei der ersten Anmeldung nach der Konfiguration oben aufgerufen werden kann. Wenn Sie ein mobiles Konto eingerichtet haben, ist für nachfolgende Anmeldungen kein Internetzugriff erforderlich.
- Die Einbindung von Google Secure LDAP in macOS wird auf macOS Catalina, Big Sur und Monterey getestet.
Fehlerbehebung
Wenn Probleme beim Herstellen einer Verbindung zu Secure LDAP auftreten, folgen Sie der Anleitung unten.
Schritt 1: Verbindung überprüfen
Prüfen Sie mit odutil die Verbindung.
Führen Sie im Terminal den Befehl odutil show nodenames aus.
Prüfen Sie, ob der /LDAPv3/ldap.google.com
-Status online lautet. Ist das nicht der Fall, versuchen Sie es mit der Option „telnet“.
Überprüfen Sie die Verbindung mit „nc“.
Führen Sie im Terminal den folgenden Befehl aus: nc -zv ldap.google.com 636
Wenn Sie über diesen Befehl keine Verbindung zu Google herstellen können, versuchen Sie, eine Verbindung über IPv4 zu etablieren.
Prüfen Sie die Verbindung mit IPv4.
So können die Einstellungen für Ihr Gerät ändern, dass IPv4 verwendet wird:
- Gehen Sie zu System Preferences > Network > Wi-Fi > Advanced (Systemeinstellungen > Netzwerk > WLAN > Erweitert).
- Wechseln Sie im Menü „Advanced“ (Erweitert) zum Tab „TCP/IP“ (TCP/IP).
- Ändern Sie die Drop-down-Auswahl von Configure IPv6 (IPv6 konfigurieren) auf Link-local only (Nur lokal verbinden).
- Klicken Sie auf OK (OK) und dann auf Apply (Übernehmen), um die Änderungen zu speichern.
- Überprüfen Sie die Dienstauthentifizierung über eine gültige ldapsearch-Suche.
Schritt 2: Prüfen, ob Verzeichnisobjekte angezeigt werden
- Öffnen Sie Directory Utility (Verzeichnisdienste) und dann den Tab Directory Editor (Verzeichniseditor).
- Wählen Sie in der Drop-down-Liste den Knoten /LDAPv3/ldap.google.com aus.
- Prüfen Sie, ob Nutzer und Gruppen aus Ihrer Google-Domain angezeigt werden.
Konfigurationsanleitung für Java-Anwendungen
Die meisten Java-basierten Anwendungen, die LDAP-Funktionen bieten, können für die Authentifizierung mit Clientzertifikaten konfiguriert werden, indem Sie Ihre Clientzertifikate im Schlüsselspeicher der Anwendung installieren. Die konkreten Konfigurationsdateien unterscheiden sich zwar zwischen den Anwendungen, aber der Vorgang als solcher ist in der Regel ähnlich. Für die Einrichtung müssen OpenSSL und eine Java-Laufzeitumgebung installiert sein.
-
Konvertieren Sie das Zertifikat und die Schlüssel in das Schlüsselspeicher-Format von Java. Sie werden während des Vorgangs mehrfach nach Passwörtern gefragt. Wählen Sie ein sicheres Passwort aus und verwenden Sie es bei allen Eingabeaufforderungen wieder. Im folgenden Beispiel heißt Ihre Clientschlüsseldatei ldap-client.key:
Verwenden Sie unter macOS oder Linux die Befehle:
$ openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
Verwenden Sie unter Windows die Befehle:$ certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12
Wichtig: Die beiden Dateien <CERT_FILE>.crt und <CERT_FILE>.key müssen sich im selben Verzeichnis befinden. Außerdem müssen sowohl key als auch crt einen (abgesehen von der Dateierweiterung) identischen Namen haben. In diesem Beispiel verwenden wir die Namen ldap-client.crt und ldap-client.key.
- Importieren Sie das Zertifikat in den Keystore:
$ keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
- Wie die Java-Eigenschaften konfiguriert werden, hängt von der jeweiligen Anwendung ab. Oft können Sie sie mit der Option -D in der Java-Befehlszeile festlegen. Legen Sie die Java-Eigenschaften für Ihre Anwendung fest:
javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
javax.net.ssl.keyStorePassword = <oben ausgewähltes Passwort>
- Konfigurieren Sie die LDAP-Verbindungseinstellungen der Anwendung mithilfe der Allgemeinen Konfigurationsanleitung.
Optional: Stunnel als Proxy verwenden
Wenn ein Client die LDAP-Authentifizierung über ein Zertifikat nicht unterstützt, können Sie Stunnel als Proxy verwenden.
Mit diesem Programm wird dem LDAP-Server das Clientzertifikat bereitgestellt und der Client wird für die Verbindung mit Stunnel konfiguriert. Stunnel sollte auf demselben Server ausgeführt werden wie Ihre Anwendung und Sie sollten nur die lokale Überwachung nutzen, damit das LDAP-Verzeichnis nicht außerhalb dieses Servers verfügbar ist.
Gehen Sie so vor:
- Installieren Sie Stunnel. Auf Ubuntu geht das zum Beispiel so:
$ sudo apt-get install stunnel4
- Erstellen Sie eine Konfigurationsdatei /etc/stunnel/google-ldap.conf mit den folgenden Inhalten (ldap-client.crt ist in diesem Beispiel das Zertifikat und ldap-client.key der Schlüssel):
[ldap]
client = yes
accept = 127.0.0.1:1636
connect = ldap.google.com:636
cert = ldap-client.crt
key = ldap-client.key
- Wenn Sie Stunnel aktivieren möchten, bearbeiten Sie /etc/default/stunnel4 und setzen Sie den Wert auf ENABLED=1.
- Starten Sie Stunnel neu.
$ sudo /etc/init.d/stunnel4 restart
- Konfigurieren Sie die Anwendung so, dass sie auf ldap://127.0.0.1:1636 verweist.
Sie können „1636“ auch durch einen anderen ungenutzten Port ersetzen, wenn Sie die Zeile accept in der Konfigurationsdatei oben entsprechend anpassen. Dabei müssen Sie zwischen dem Client und Stunnel LDAP als Nur-Text ohne aktivierte StartTLS/SSL/TLS verwenden, da die Kommunikation lokal stattfindet.
Hinweis: Wenn Sie sich dazu entschließen, Stunnel auf einem separaten Server auszuführen, müssen Sie Ihre Firewalls so konfigurieren, dass nur die erforderlichen Anwendungen auf den Stunnel-Server zugreifen können. Stunnel lässt sich auch so konfigurieren, dass TLS verwendet wird, damit die Daten zwischen der Anwendung und den Stunnel-Servern verschlüsselt werden. Die Details dieser beiden Konfigurationen hängen von Ihrer Umgebung ab.
Nächste Schritte
Nachdem Sie den LDAP-Client mit Secure LDAP verbunden haben, müssen Sie seinen Dienststatus auf An setzen.
Genauere Informationen hierzu finden Sie unter Schritt 5: LDAP-Clients aktivieren.
Hinweis: Bei Bedarf können Sie einfache Tools wie ldapsearch, ADSI oder ldp.exe zur Fehlerbehebung verwenden, wenn beim Verbinden Ihres LDAP-Clients mit dem Dienst Probleme auftreten. Weitere Informationen zu Verbindungstests und Fehlerbehebung