Ten artykuł kb skupia się głównie na tym, co jest potrzebne do skonfigurowania LDAPS, aby uzyskać więcej informacji na temat tego, co jest potrzebne do integracji AD/LDAP z NetWorker, patrz:
NetWorker: Konfigurowanie uwierzytelniania AD/LDAP
UWAGA: Urząd zewnętrzny można skonfigurować z poziomu konsoli zarządzania NetWorker i interfejsu sieciowego użytkownika NetWorker (NWUI); jednak konfiguracja usługi Active Directory za pośrednictwem LDAPS jest zazwyczaj zalecana do korzystania ze skryptu authc_config lub NWUI (19.7 i nowsze). Opcja konfiguracji NMC zapewnia tylko "LDAP przez SSL"; Jeśli ta opcja jest używana, ustawi wartość "Active Directory: false". Ta opcja oczekuje, że serwer uwierzytelniania to LDAP zamiast Microsoft Active Directory. Spowoduje to niepowodzenie logowania. Proces przedstawiony w tej wiedzy zawiera szczegółowe informacje na temat konfigurowania LDAPS przy użyciu skryptu authc_configure. Interfejs NWUI (19.7 i nowsze) oferuje opcję "AD over SSL".
NetWorker: Jak skonfigurować usługę "AD over SSL" (LDAPS) z poziomu sieciowego interfejsu użytkownika NetWorker (NWUI)
Zaleca się, aby konfiguracja AD/LDAP działała najpierw przez LDAP, a następnie przekonwertować ją na LDAPS, aby wykluczyć wszelkie potencjalne problemy z konfiguracją.
Aby użyć protokołu LDAPS, należy zaimportować certyfikat urzędu certyfikacji (lub łańcuch certyfikatów) z serwera LDAPS do magazynu kluczy zaufania JAVA. Można to zrobić przy użyciu następującej procedury:
1) Otwórz wiersz polecenia administratora/głównego.
2,a) Wyświetla listę bieżących zaufanych certyfikatów w magazynie zaufania.
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- Zazwyczaj lokalizacja binarna JAVA jest częścią zmiennej środowiskowej ŚCIEŻKI systemu operacyjnego, dlatego "keytool" można uruchomić z dowolnego miejsca. Jeśli system operacyjny nie znajdzie pliku binarnego narzędzia keytool. Uruchom polecenia narzędzia keytool z katalogu JAVA \bin na serwerze NetWorker.
- Zastąp JAVA_PATH ścieżką do instalacji języka JAVA, nazwa ścieżki różni się w zależności od zainstalowanej wersji języka JAVA.
- W systemach z zainstalowanym środowiskiem Runtime Environment (NRE) NetWorker jest to zazwyczaj:
- Linux: /opt/nre/java/latest/
- Windows: C:\Program Files\NRE\java\jre-###
- Zamień hasło na java storepass. Wartością domyślną jest 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) Przejrzyj listę aliasów odpowiadających serwerowi LDAPS (może to nie istnieć). Za pomocą poleceń "grep/findstr" systemu operacyjnego można użyć powyższego polecenia, aby zawęzić wyszukiwanie. Jeśli istnieje przestarzały/istniejący certyfikat urzędu certyfikacji z serwera LDAPS, usuń go za pomocą następującego polecenia:
keytool -delete -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- Zastąp ALIAS_NAME nazwą aliasu serwera LDAPS zebranego z danych wyjściowych w 2 a.
3,a) Użyj narzędzia OpenSSL, aby uzyskać kopię certyfikatu urzędu certyfikacji z serwera LDAPS.
openssl s_client -showcerts -connect LDAPS_SERVER:636
- Domyślnie hosty Windows nie zawierają programu Opensl. Jeśli nie można zainstalować openssl na serwerze NetWorker, certyfikaty można wyeksportować bezpośrednio z serwera LDAPS; zaleca się jednak korzystanie z narzędzia OpenSSL.
- Jeśli ścieżka do katalogu plików binarnych OpenSSL nie jest częścią zmiennej środowiskowej ŚCIEŻKI systemu operacyjnego, należy uruchomić polecenia OpenSSL z ich lokalizacji binarnej.
- Jeśli nie masz openssl i nie możesz go zainstalować, poproś administratora usługi AD o dostarczenie certyfikatów poprzez wyeksportowanie ich jako format x.509 w wersji Base-64.
- Zamień LDAPS_SERVER na nazwę hosta lub adres IP serwera LDAPS.
3,b) Powyższe polecenie spowoduje wyświetlenie certyfikatu urzędu certyfikacji lub łańcucha certyfikatów w formacie PEM, np.:
-----BEGIN CERTIFICATE-----
MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF
ADBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZFgZlbWNs
...
7NZfi9DiEBhpFmbF8xP96qB/kTJC+29t/0VE8Fvlg87fRhs5BceIoX8nUnetNCdm
m4mGyefXz4TBTwD06opJf4NQIDo=
-----END CERTIFICATE-----
UWAGA: Jeśli istnieje łańcuch certyfikatów, ostatnim certyfikatem jest certyfikat urzędu certyfikacji. Należy zaimportować każdy certyfikat w łańcuchu w kolejności (od góry do do góry), kończąc na certyfikat urzędu certyfikacji.
3,c) Skopiuj certyfikat, zaczynając od
certyfikatu ---BEGIN--- kończąc na
certyfikat ---END--- i wklej go do nowego pliku. Jeśli istnieje łańcuch certyfikatów, należy to zrobić z każdym certyfikatem.
4) Zaimportuj certyfikaty utworzone w 3,c do magazynu kluczy zaufania JAVA:
keytool -import -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD -file PATH_TO\CERT_FILE
- Zamień ALIAS_NAME aliasem importowanego certyfikatu. Zazwyczaj jest to nazwa serwera LDAPS. Jeśli chcesz zaimportować wiele certyfikatów dla łańcucha certyfikatów, każdy certyfikat musi mieć inną nazwę ALIAS i zostać zaimportowany oddzielnie. Łańcuch certyfikatów musi być również zaimportowany w kolejności od sposobu, w jaki został przedstawiony w kroku 3, a (od góry do do góry).
- Zastąp JAVA_PATH ścieżką do instalacji języka JAVA, nazwa ścieżki różni się w zależności od zainstalowanej wersji języka JAVA.
- Zamień hasło na java storepass. Wartością domyślną jest changeit.
- Zamień PATH_TO\CERT_FILE na lokalizację pliku certyfikatu utworzonego w kroku 3 c.
- Zostanie wyświetlony monit o zaimportowanie certyfikatu, wpisanie "tak" i naciśnięcie klawisza Enter.
[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) Potwierdź, że certyfikat jest wyświetlany w keystore:
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
UWAGA: Przeprowadź (|) polecenie "grep " lub "findstr" systemu operacyjnego do powyższych poleceń, aby zawęzić wyniki.
[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) Uruchom ponownie usługi serwera NetWorker.
Linux:
nsr_shutdown
Uruchomienie
service networkerWindows: net stop nsrd
net start nsrd
UWAGA: Jeśli usługi serwera NetWorker nie zostaną uruchomione ponownie, authc nie odczyta pliku cacerts i nie wykryje zaimportowanych certyfikatów wymaganych do ustanowienia komunikacji SSL z serwerem LDAP.
7,a) Zaktualizuj skrypt authc-create-ad-config (Active Directory) LUB authc-create-ldap-config (LDAP), aby użyć LDAPS:
Lokalizacja:
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
UWAGA: W przypadku dodawania nowej konfiguracji "-e add-config" należy użyć w przypadku aktualizacji istniejącej konfiguracji "-e update-config". W wierszu adresu config-server określ protokół "ldaps" (musi być małe litery) i port "636".
7,b) Uruchom skrypt z wiersza poleceń. Powinien zgłaszać, że konfiguracja została zaktualizowana/dodana pomyślnie.
8) Potwierdź, że konfiguracja została zaktualizowana:
authc_config -u Administrator -e find-all-configs
authc_config -u Administrator -e find-config -D config-id=CONFIG_ID
- Zostanie wyświetlony monit o wprowadzenie hasła administratora NetWorker przy każdym poleceniu. Polecenie można uruchomić z flagą "-p password", ale może to zakończyć się niepowodzeniem w niektórych systemach operacyjnych ze względu na używane hasło czyszczenia tekstu.
- Zastąp CONFIG_ID identyfikatorem konfiguracji zebranym przy użyciu pierwszego polecenia:
[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
Serwer uwierzytelnia się teraz przy użyciu AD/LDAP przez LDAPS.
Jeśli podczas przeprowadzania tej procedury wystąpią jakiekolwiek błędy lub problemy, należy skontaktować się z administratorem urzędu certyfikacji, aby upewnić się, że używane/pobierane są prawidłowe certyfikaty.
Niezależnie od tego, czy korzystasz z usługi Windows Active Directory, czy Linux LDAP (np. OpenLDAP) protokół LDAP jest używany do uwierzytelniania. LDAP (Lightweight Directory Application Protocol) i Secure LDAP (LDAPS) to protokoły połączeń używane między aplikacją a katalogiem sieciowym lub kontrolerem domeny w ramach infrastruktury.
Protokół LDAP przesyła komunikację w czystym tekście, a komunikacja LDAPS jest szyfrowana i bezpieczna.