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, Clientzertifikat und Schlüssel herunterladen und optional Anmeldedaten generieren. - Konnektivitätstests
Bevor Sie mit diesen Schritten beginnen, können Sie optional mit einfachen Tools wie ldapsearch, ADSI und ldp.exe einen schnellen Verbindungstest durchführen. Die Tools eignen sich auch zur Behebung von Fehlern, die unter Umständen beim Verbinden Ihres LDAP-Clients mit dem Dienst 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 ihn einrichten. Setzen Sie dazu den Dienststatus in der Admin-Konsole auf An. Eine Anleitung finden Sie unter 5. Schritt 5: LDAP-Clients aktivieren.
Inhalt dieses Artikels
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: Allgemeine Anleitung für Java-basierte Anwendungen, die LDAP-Funktionen bieten
- Optional: Stunnel als Proxy verwenden: In diesem Abschnitt finden Sie eine 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 finden Sie eine allgemeine Anleitung zum Verbinden Ihres LDAP-Clients mit Secure LDAP. 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
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 |
|
Base DN (Basis-DN) |
Ihre Domain im DN-Format. Beispiel: dc=beispiel,dc=de für example.com |
|
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 die Felder „Nutzername“ und „Passwort“ keine Pflichtfelder sind, können Sie diesen Schritt überspringen. Erstellen Sie in der Admin-Konsole einen Nutzernamen und ein Passwort. Eine Anleitung hierfür finden Sie unter Anmeldedaten generieren. |
|
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 example.com.
Computer: „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 Erweitert… und geben Sie die folgenden Details ein:
Anmeldedaten angeben:Aktiviert
Nutzername:Der Nutzername der Anmeldedaten aus der Admin-Konsole
Passwort:Das Passwort der Anmeldedaten aus der Admin-Konsole
Portnummer:636
Protokoll:LDAP
Einfache Bindungsauthentifizierung: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.
Apache Directory Studio
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 Weiter.
- Geben Sie die Verbindungsparameter ein:
Verbindungsname:Wählen Sie einen Namen aus, z. B. Google LDAP.
Hostname:localhost
Port:1389 (oder der stunnel-Listen-/Accept-Port)
Verschlüsselungsmethode:Keine Verschlüsselung (Hinweis: Wenn stunnel remote ausgeführt wird, ist eine Verschlüsselung zwischen stunnel und dem Client empfehlenswert.)
- Klicken Sie auf 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 Weiter.
- Geben Sie den Basis-DN ein.
Das ist Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für example.com. - Klicken Sie auf Fertig.
Atlassian Jira
In Atlassian Jira werden während der Authentifizierung weitere Informationen zum Nutzer gesucht. Damit die Nutzerauthentifizierung durch den LDAP-Client funktioniert, müssen Sie für alle Organisationseinheiten, für die Nutzeranmeldedaten überprüfen aktiviert ist, auch die Optionen Nutzerinformationen lesen und Gruppeninformationen lesen verwenden. 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.
- Klicken Sie auf Einstellungen > Nutzerverwaltung. (Öffnen Sie die Einstellungen über das Zahnradsymbol rechts oben.)
- Klicken Sie auf User Directories (Nutzerverzeichnisse).
- Klicken Sie auf Verzeichnis hinzufügen.
- Wählen Sie als Typ LDAP aus.
- Klicken Sie auf Weiter.
- Geben Sie Folgendes ein:
Name
Google Secure LDAP
Verzeichnistyp
OpenLDAP
Hostname
ldap.google.com
Port
636
Use SSL (SSL verwenden)
Geprüft
Nutzername
Erstellen Sie in der Admin-Konsole einen Nutzernamen und ein Passwort. Eine Anleitung hierfür finden Sie unter Anmeldedaten generieren.
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 example.com)
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
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 Filter (Objektfilter der Gruppe)(objectClass=groupOfNames)
Membership Schema Settings (Einstellungen für das Mitgliedschaftsschema) >
Group Members Attribute (Attribut der Gruppenmitglieder)Mitglied
Membership Schema Settings (Einstellungen für das Mitgliedschaftsschema) >
Use the User Membership Attribute (Attribut der Nutzermitgliedschaft verwenden)Geprüft - 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 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.
CloudBees Core / Jenkins
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).
FreeRadius
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) nach dem Ausdruck für das Protokoll zur Passwortauthentifizierung (password authentication protocol, PAP) Folgendes hinzu:
if (User-Password) {
update control {
Auth-Type := ldap
}
}
- Aktivieren Sie LDAP im Abschnitt Authorize (Autorisieren), indem Sie den Bindestrich (-) davor entfernen.
#
# Mit dem LDAP-Modul 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) nach dem Ausdruck für das Protokoll zur Passwortauthentifizierung (password authentication protocol, PAP) Folgendes hinzu:
GitLab
Eine Anleitung zum Verbinden von GitLab mit Secure LDAP finden Sie auf der Hilfeseite Google Secure LDAP | Configuring Google LDAP client (Google LDAP-Client konfigurieren).
Itopia/Ubuntu
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).
Ivanti / LanDesk
Gehen Sie so vor:
- Öffnen Sie auf Ihrem Ivanti-Webserver OpenLDAPAuthenticationConfiguration.xml oder OpenLDAPSSLAuthenticationConfiguration.xml in einem Texteditor in den folgenden beiden Ordnern:
C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework und C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (servicedesk ist 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 example.com).
- Fügen Sie sowohl für ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config als auch für ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config folgende Zeile hinzu:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />
oder die Zeile:
<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 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 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 das 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.
Ldp.exe (Windows)
Gehen Sie so vor:
- Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie an 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-client.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. - Rufen Sie das Steuerfeld auf.
- 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 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. Das ist Ihr Domainname im DN-Format. (z. B. dc=beispiel,dc=de für example.com).
- 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.
Netgate / pfSense
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).
OpenLDAP / ldapsearch (Linux)
Verwenden Sie in der Befehlszeile den OpenLDAP-Befehl ldapsearch, um auf Ihr LDAP-Verzeichnis zuzugreifen.
Beispiel: Ihre Clientzertifikats- und -schlüsseldateien haben die Namen ldap-client.crt und 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=example,dc=com '(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“).
ldapsearch (macOS)
Gehen Sie so vor:
- Konvertieren Sie die Zertifikats- und Schlüsseldateien in eine Datei im PKCS12-Format. Geben Sie bei der 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
und geben Sie 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.
- Doppelklicken Sie 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 Hinzufügen.
-
Klicken Sie auf Ä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.
-
Nehmen wir an, die Datei ldap-client.p12, die Sie zuvor in den Schlüsselbund importiert haben, hat den Namen LDAP-Client, Ihre Domain ist example.com und der Nutzername ist jsmith. In diesem Fall geben Sie Folgendes ein:
$ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'
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).
OpenVPN (Community-Version)
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 nach /etc/openvpn/ldap-client.key und /etc/openvpn/ldap-client.crt.
- Erstellen Sie eine Datei namens /etc/openvpn/auth-ldap.conf, die Folgendes enthält (hier ein Beispiel mit dem Domainnamen example.com):
<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=example,dc=com"
SearchFilter "(uid=%u)" # (or choose your own LDAP filter for users)
RequireGroup false
</Authorization>
- Bearbeiten Sie die OpenVPN-Konfigurationsdatei, häufig /etc/openvpn/server.conf oder ähnlich benannt. Fügen Sie am Ende 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.
OpenVPN Access Server (kommerzielle Version)
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).
PaperCut MF und NG
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.
Puppet Enterprise
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).
Softerra LDAP-Browser
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 an 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-client.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 Importieren….
- Klicken Sie auf 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 Weiter.
- Wählen Sie für „certificate store“ (Zertifikatsspeicher) den Typ Personal (Privat) aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Fertig.
- 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 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 Weiter.
- Wählen Sie External (SSL Certificate) (Extern (SSL-Zertifikat)) aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Fertig.
Sophos Mobile
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).
Splunk
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 Konfigurationen 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 die folgenden 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. Geben Sie die folgenden Informationen ein und klicken Sie dann auf Speichern:
|
Name |
Google Secure LDAP |
|---|---|
|
Moderator:in |
ldap.google.com |
|
Port |
636 |
|
SSL enabled (SSL aktiviert) |
Geprüft |
|
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 (Basis-DN) |
Ihr Domainname im DN-Format, z. B. dc=beispiel,dc=de für example.com |
|
User base filter (Nutzerbasisfilter) |
Geben Sie den Nutzerbasisfilter für die Objektklasse ein, nach der Sie die Nutzer filtern möchten. |
|
Attribut „Nutzername“ |
uid |
|
Realnamen-Attribut |
displayname |
|
E‑Mail-Attribut |
|
|
Group mapping attribute (Gruppenzuordnungs-Attribut) |
dn |
|
Basis-DN für Gruppe |
Ihr Domainname im DN-Format, z. B. ou=Groups,dc=beispiel,dc=de für example.com |
|
Statischer Gruppensuchfilter |
Geben Sie den statischen Gruppensuchfilter für die Objektklasse ein, nach der Sie die statischen Gruppen filtern möchten. |
|
Group name attribute (Attribut für Gruppennamen) |
cn |
|
Statisches Mitgliederattribut |
Mitglied |
SSSD (Red Hat Enterprise und CentOS)
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 Sie für alle Organisationseinheiten, für die Nutzeranmeldedaten überprüfen aktiviert ist, auch die Optionen Nutzerinformationen lesen und Gruppeninformationen lesen verwenden. Weitere Informationen
So verbinden Sie einen SSSD-Client auf Red Hat 8 oder CentOS 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=example,dc=com \
-D usertoverify@example.com \
-W \
'(mail=usertoverify@example.com)' \
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.confmit folgendem Inhalt:
[sssd]
services = nss, pam
domains = example.com[domain/example.com]
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=example,dc=com
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@example.com {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_contextsSuchen Sie in /var/log/audit/audit.log nach AVC-Ablehnungsnachrichten.
- Prü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. Überspringen.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}'. Prüfen Sie auf Tippfehler.[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}'. Prüfen Sie auf Tippfehler.
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 (andere Linux-Distributionen)
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 Sie für alle Organisationseinheiten, für die Nutzeranmeldedaten überprüfen aktiviert ist, auch die Optionen Nutzerinformationen lesen und Gruppeninformationen lesen verwenden. 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 = example.com[domain/example.com]
ldap_tls_cert = /var/ldap-client.crt
ldap_tls_key = /var/ldap-client.key
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=example,dc=com
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 finden Sie unter Privaten Google-Zugriff konfigurieren.
macOS
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:
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. -
Öffnen Sie die Anwendung 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. Maximieren Sie dazu das entsprechende Zertifikat.
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=comein. - 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, um das Pop-up-Fenster zu schließen.
GeneratedUID sollte nach der Maximierung unter „Users“ (Nutzer) angezeigt werden.
- Klicken Sie auf die „GeneratedUID“ 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 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.comaus der Liste der Verzeichnisdomains aus und klicken Sie auf Hinzufügen. - Klicken Sie auf die Schaltfläche Übernehmen und geben Sie Ihr Administratorpasswort ein, wenn Sie dazu aufgefordert werden.
- Führen Sie die folgenden vier Befehle aus, um die SASL-Authentifizierungsmechanismen DIGEST-MD5, CRAM-MD5, NTLM und GSSAPI zu deaktivieren. macOS verwendet Simple Bind zur Authentifizierung über den Google Secure LDAP-Dienst:
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 neu zu laden.
Schritt 4: Mobiles Konto erstellen (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 Home-Pfad und ein oder mehrere mobile Konten einzurichten:
sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v
Tipp:Ersetzen Sie $uid durch den Nutzernamen der E-Mail-Adresse, die mit dem Google-Konto des Nutzers verknüpft ist. 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
- Prü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.
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.
- Wenn Sie ein Gerät mit einem M1- oder M2-Prozessor verwenden, ü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:
<key>AllowAllAppsAccess</key>
<true/>
Dadurch kann das Zertifikat von allen Anwendungen aufgerufen werden.
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.plistauf 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 3.10.x konzipiert. Dieses Skript 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
# Reading plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()
# Write the plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b' '*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)
# Edit the default search path and append the new node to allow for login
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 XML-Konfigurationsdatei und das Python-Script aus Schritt 3 auf das Gerät.
- Führen Sie den folgenden Befehl aus, um die erforderliche Abhängigkeit für das Skript zu installieren:
python3 -m pip install pyobjc-framework-opendirectory - Führen Sie dazu diesen Befehl aus:
sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2> - Um Zertifikate in den macOS-Systemschlüsselbund zu importieren, doppelklicken Sie 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, da die Anmeldung sonst blockiert wird.
- 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.
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 Status von /LDAPv3/ldap.google.com 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 herzustellen.
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 IPv6 konfigurieren zu Nur lokal verbinden.
- Klicken Sie auf OK und dann auf Ü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. Wenn Ihre Clientschlüsseldatei den Namen ldap-client.key hat, gehen Sie so vor:
Unter macOS oder Linux:
$ openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.keyIn Windows:
$ certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12Wichtig: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 Schlüsselspeicher:
$ keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKSWie 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 = <password selected above>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 stunnel4Erstellen Sie eine Konfigurationsdatei /etc/stunnel/google-ldap.conf mit folgendem Inhalt (vorausgesetzt, ldap-client.crt ist das Zertifikat und ldap-client.key ist der Schlüssel):
[ldap]
client = yes
accept = 127.0.0.1:1636
connect = ldap.google.com:636
cert = ldap-client.crt
key = ldap-client.keyWenn 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 restartKonfigurieren 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.
Wie es dann weitergeht, lesen Sie unter 5. 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. Eine Anleitung finden Sie unter Verbindung testen und Fehler beheben.