Dieser Wissensdatenbank-Artikel konzentriert sich in erster Linie auf das, was für die Konfiguration von LDAPS erforderlich ist. Eine umfassendere Erläuterung, was für die Integration von AD/LDAP in NetWorker erforderlich ist, finden Sie unter:
NetWorker: Einrichten der AD/LDAP-Authentifizierung
HINWEIS: Externe Autorität kann über die NetWorker Management Console und die NetWorker Web User Interface (NWUI) konfiguriert werden. Die Konfiguration von Active Directory über LDAPS wird jedoch in der Regel empfohlen, um das authc_config-Skript oder die NWUI (19.7 und höher) zu verwenden. Die NMC-Konfigurationsoption bietet nur "LDAP über SSL". Wenn diese Option verwendet wird, wird "Active Directory: false" festgelegt. Diese Option erwartet, dass der Authentifizierungsserver LDAP anstelle von Microsoft Active Directory ist. Dies führt zu fehlgeschlagenen Anmeldungen. Der in diesem Wissensdatenbank-Artikel beschriebene Prozess beschreibt, wie LDAPS mithilfe des authc_configure-Skripts konfiguriert wird. NWUI (19.7 und höher) bietet eine Option "AD over SSL".
NetWorker: Konfigurieren von "AD over SSL" (LDAPS) über die NetWorker-Webbenutzeroberfläche (NWUI)
Es wird empfohlen, dass die AD/LDAP-Konfiguration zuerst über LDAP funktioniert und dann in LDAPS konvertiert wird, um potenzielle Konfigurationsprobleme auszuschließen.
Um LDAPS zu verwenden, müssen Sie das CA-Zertifikat (oder die Zertifikatkette) vom LDAPS-Server in den JAVA-Trust-Keystore importieren. Dies kann mit dem folgenden Verfahren erfolgen:
1) Öffnen Sie eine Administrative/Root-Eingabeaufforderung.
2,a) Zeigt eine Liste der aktuellen vertrauenswürdigen Zertifikate im Vertrauensspeicher an.
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- In der Regel ist der Java-Binärspeicherort Teil der Umgebungsvariable OS PATH, sodass "keytool" von überall aus ausgeführt werden kann. Wenn das Betriebssystem die Keytool-Binärdatei nicht findet. Führen Sie die Keytool-Befehle aus dem Verzeichnis JAVA \bin auf Ihrem NetWorker-Server aus.
- Ersetzen Sie JAVA_PATH durch den Pfad zu Ihrer JAVA-Installation. Der Pfadname variiert je nach installierter JAVA-Version.
- Auf Systemen mit installierter NetWorker Runtime Environment (NRE) ist dies in der Regel:
- Linux: /opt/nre/java/latest/
- Windows: C:\Program Files\NRE\java\jre-###
- Ersetzen Sie das Passwort durch den JAVA-Storepass. Der Standardwert ist changeit.
[root@rhel7 /]# keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 156 entries
emcauthctomcat, 9-Jul-2018, trustedCertEntry,
Certificate fingerprint (SHA1): 01:9B:AF:A4:0D:DA:33:6D:AE:7A:76:8D:84:D5:EB:E2:63:13:0A:0A
...
...
2,b) Überprüfen Sie die Liste auf einen Alias, der Ihrem LDAPS-Server entspricht (dies ist möglicherweise nicht vorhanden). Sie können os grep/findstr-Befehle mit dem obigen Befehl verwenden, um die Suche einzugrenzen. Wenn ein veraltetes/vorhandenes CA-Zertifikat von Ihrem LDAPS-Server vorhanden ist, löschen Sie es mit dem folgenden Befehl:
keytool -delete -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- Ersetzen Sie ALIAS_NAME durch den Aliasnamen des LDAPS-Servers, der aus der Ausgabe in 2,a erfasst wurde.
3,a) Verwenden Sie das OpenSSL-Tool, um eine Kopie des CA-Zertifikats vom LDAPS-Server zu erhalten.
openssl s_client -showcerts -connect LDAPS_SERVER:636
- Standardmäßig enthalten Windows-Hosts nicht das OpenSL-Programm. Wenn es nicht möglich ist, OpenSSL auf dem NetWorker-Server zu installieren, können die Zertifikate direkt vom LDAPS-Server exportiert werden. es wird jedoch dringend empfohlen, das OpenSSL-Dienstprogramm zu verwenden.
- Wenn der Pfad zum OpenSSL-Binärverzeichnis nicht Teil der Umgebungsvariable OS PATH ist, müssen Sie die OpenSSL-Befehle vom binären Speicherort aus ausführen.
- Wenn Sie nicht über OpenSSL verfügen und es nicht installiert werden kann, muss Ihr AD-Administrator das/die Zertifikat(e) bereitstellen, indem er sie als Base-64-codiertes x.509-Format exportiert.
- Ersetzen Sie LDAPS_SERVER durch den Hostnamen oder die IP-Adresse Ihres LDAPS-Servers.
3,b) Mit dem obigen Befehl wird das CA-Zertifikat oder eine Zertifikatkette im PEM-Format ausgegeben, z. B.:
-----BEGIN CERTIFICATE-----
MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF
ADBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZFgZlbWNs
...
7NZfi9DiEBhpFmbF8xP96qB/kTJC+29t/0VE8Fvlg87fRhs5BceIoX8nUnetNCdm
m4mGyefXz4TBTwD06opJf4NQIDo=
-----END CERTIFICATE-----
HINWEIS: Wenn eine Zertifikatkette vorhanden ist, ist das letzte Zertifikat das CA-Zertifikat. Sie müssen jedes Zertifikat in der Kette in der Reihenfolge (von oben nach unten) importieren, die mit dem CA-Zertifikat endet.
3,c) Kopieren Sie das Zertifikat ab
---BEGIN CERTIFICATE--- und
enden Sie mit ---END CERTIFICATE--- und fügen Sie es in eine neue Datei ein. Wenn eine Kette von Zertifikaten vorhanden ist, müssen Sie dies mit jedem Zertifikat tun.
4) Importieren Sie die in 3,c erstellten Zertifikate in den JAVA-Trust-Keystore:
keytool -import -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD -file PATH_TO\CERT_FILE
- Ersetzen Sie ALIAS_NAME durch einen Alias für das importierte Zertifikat. In der Regel ist dies der LDAPS-Servername. Wenn Sie mehrere Zertifikate für eine Zertifikatkette importieren müssen, muss jedes Zertifikat einen anderen ALIAS-Namen haben und separat importiert werden. Die Zertifikatkette muss ebenfalls importiert werden, damit sie in Schritt 3,a (oben nach unten) dargestellt wurde.
- Ersetzen Sie JAVA_PATH durch den Pfad zu Ihrer JAVA-Installation. Der Pfadname variiert je nach installierter JAVA-Version.
- Ersetzen Sie das Passwort durch den JAVA-Storepass. Der Standardwert ist changeit.
- Ersetzen Sie PATH_TO\CERT_FILE durch den Speicherort der Zertifikatdatei, die Sie in Schritt 3, c erstellt haben.
- Sie werden aufgefordert, das Zertifikat zu importieren, geben Sie yes ein und drücken Sie die Eingabetaste.
[root@rhel7 /]# keytool -import -alias winsrvr2k16-ca -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit -file /certificates/ca.cer
Owner: CN=WINSRVR2K16.emclab.local
Issuer: CN=emclab-WINSRVR2K16-CA, DC=emclab, DC=local
Serial number: 6e00000008b0927832010583c3000200000008
Valid from: Wed Sep 12 10:02:47 EDT 2018 until: Thu Sep 12 10:02:47 EDT 2019
Certificate fingerprints:
MD5: 08:FB:DE:58:7B:FC:62:C7:31:5D:37:28:2C:54:6D:68
SHA1: 06:72:D0:E9:19:31:8E:F6:2A:3A:47:60:52:91:0F:4F:2B:EB:10:9D
SHA256: AD:0B:2B:2F:FC:B8:9E:ED:48:16:38:04:A7:CA:6B:55:D9:92:88:CD:54:BB:84:C6:4D:5A:28:E2:35:04:B5:C7
...
...
...
Trust this certificate? [no]: yes
Certificate was added to keystore
5) Vergewissern Sie sich, dass das Zertifikat im Keystore angezeigt wird:
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
HINWEIS: Führen Sie (|) den Befehl grep oder findstr des Betriebssystems zum obigen Befehl aus, um die Ergebnisse einzugrenzen.
[root@rhel7 /]# keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit | grep -i -A1 "winsrvr2k16*"
winsrvr2k16-ca, 12-Sep-2018, trustedCertEntry,
Certificate fingerprint (SHA1): 06:72:D0:E9:19:31:8E:F6:2A:3A:47:60:52:91:0F:4F:2B:EB:10:9D
6) Starten Sie die NetWorker-Serverservices neu.
Linux:
nsr_shutdown
Service-Networker-Start
Fenster: net stop nsrd
net start nsrd
HINWEIS: Wenn die NetWorker-Serverservices nicht neu gestartet werden, liest authc die Cacerts-Datei nicht und erkennt nicht die importierten Zertifikate, die für die Einrichtung der SSL-Kommunikation mit dem LDAP-Server erforderlich sind.
7, a) Aktualisieren Sie Ihr Skript authc-create-ad-config (Active Directory) ODER authc-create-ldap-config (LDAP), um LDAPS zu verwenden:
Standort:
Linux |
/opt/nsr/authc-server/scripts/ |
Windows |
[INSTALL DRIVE]:\Program Files\EMC NetWorker\nsr\authc-server\scripts\ |
authc_config -u administrator -e update-config \
-D "config-tenant-id=1" \
-D "config-active-directory=y" \
-D "config-name=ad" \
-D "config-domain=emclab" \
-D "config-server-address=ldaps://winsrvr2k16.emclab.local:636/DC=emclab,DC=local" \
-D "config-user-dn=cn=Administrator,cn=Users,dc=emclab,dc=local" \
-D "config-user-dn-password=Pa$$w0rd01" \
-D "config-user-search-path=" \
-D "config-user-id-attr=sAMAccountName" \
-D "config-user-object-class=user" \
-D "config-group-search-path=" \
-D "config-group-name-attr=cn" \
-D "config-group-object-class=group" \
-D "config-group-member-attr=member" \
-D "config-user-search-filter=" \
-D "config-group-search-filter=" \
-D "config-search-subtree=y" \
-D "config-user-group-attr=memberOf" \
-D "config-object-class=objectClass
HINWEIS: Wenn Sie eine neue Konfiguration hinzufügen, sollte "-e add-config" verwendet werden, wenn Sie eine vorhandene Konfiguration aktualisieren, sollte "-e update-config" verwendet werden. Geben Sie in der Adresszeile "config-server-address" das Protokoll "ldaps" (muss Kleinbuchstaben sein) und den Port "636" an.
7,b) Führen Sie das Skript über die Befehlszeile aus. Sie sollte melden, dass die Konfiguration erfolgreich aktualisiert/hinzugefügt wurde.
8) Bestätigen Sie, dass die Konfiguration aktualisiert wurde:
authc_config -u Administrator -e find-all-configs
authc_config -u Administrator -e find-config -D config-id=CONFIG_ID
- Sie werden aufgefordert, das NetWorker-Administratorkennwort mit jedem Befehl einzugeben. Der Befehl kann mit dem Flag "-p password" ausgeführt werden, aber dies kann bei einigen Betriebssystemen fehlschlagen, da ein Klartextpasswort verwendet wird.
- Ersetzen Sie CONFIG_ID durch die Konfigurations-ID, die mit dem ersten Befehl erfasst wurde:
[root@rhel7 /]# authc_config -u Administrator -e find-config -D config-id=1
Enter password:
Config Id : 1
Config Tenant Id : 1
Config Name : ad
Config Domain : emclab
Config Server Address : ldaps://winsrvr2k16.emclab.local:636/DC=emclab,DC=local
Config User DN : cn=Administrator,cn=Users,dc=emclab,dc=local
Config User Group Attribute : memberOf
Config User ID Attribute : sAMAccountName
Config User Object Class : user
Config User Search Filter :
Config User Search Path :
Config Group Member Attribute: member
Config Group Name Attribute : cn
Config Group Object Class : group
Config Group Search Filter :
Config Group Search Path :
Config Object Class : objectClass
Is Active Directory : true
Config Search Subtree : true
Der Server authentifiziert sich jetzt mit AD/LDAP über LDAPS.
Wenn fehler oder Probleme auftreten, wenn Sie dieses Verfahren befolgen, wenden Sie sich bitte an Ihren CA-Administrator, um sicherzustellen, dass die richtigen Zertifikate verwendet/abgerufen werden.
Unabhängig davon, ob Sie Windows Active Directory oder Linux LDAP verwenden (z. B.: OpenLDAP) wird das LDAP-Protokoll für die Authentifizierung verwendet. LDAP (Lightweight Directory Application Protocol) und Secure LDAP (LDAPS) sind die Verbindungsprotokolle, die zwischen der Anwendung und dem Netzwerkverzeichnis oder Domain-Controller innerhalb der Infrastruktur verwendet werden.
LDAP überträgt die Kommunikation in Klartext und die LDAPS-Kommunikation ist verschlüsselt und sicher.