NetWorker: Не вдається інтегрувати LDAPS з повідомленням «Під час спроби з'єднатися з сервером LDAPS сталася помилка рукостискання SSL: Не вдається знайти дійсний шлях сертифікації до запитуваної цілі"
Summary: Ви намагаєтеся запустити команду/скрипт authc_config для додавання зовнішньої автентифікації AD/LDAPS за допомогою NetWorker. Ваш сертифікат ЦС LDAPS було імпортовано до сховища ключів JAVA cacerts, але ви отримуєте повідомлення про помилку «Під час спроби з'єднатися з сервером LDAPS сталася помилка SSL-рукостискання: не вдалося знайти дійсний шлях сертифікації до запитуваної цілі» ...
Symptoms
не вдалося знайти дійсний шлях сертифікації до запитуваної цілі"
- Ви намагаєтеся запустити команду/скрипт authc_config для додавання зовнішньої автентифікації AD/LDAPS за допомогою NetWorker
- Ви можете успішно інтегрувати AD/LDAP (без SSL) з NetWorker; Проблема виникає лише під час інтеграції SSL (LDAPS)
- Ваш сертифікат ЦС LDAPS було імпортовано до сховища ключів JAVA cacerts.
- Ви використовуєте "ланцюжок сертифікатів" у своєму середовищі.
Cause
Ця проблема виникає через те, що до сховища довірчих ключів Java було імпортовано лише сертифікат ланцюжка. Для ланцюжка сертифікатів усі сертифікати в ланцюжку мають бути належним чином імпортовані до сховища ключів Java у належному порядку ланцюжка (нижній ланцюг до кореневого сертифіката). Будь-яка проблема з імпортом сертифіката може призвести до помилки перевірки сертифіката.
Це виявляється, коли ви запускаєте команду openssl з вашого сервера NetWorker на сервер LDAPS:
OPENSSL_INSTALL_PATH\bin> openssl s_client -showcerts -connect ldaps-server.lab.emc.local:636 CONNECTED(00000124) depth=1 DC = LOCAL, DC = EMC, DC = LAB, CN = LDAPS-SERVER --- Certificate chain 0 s:/CN=LDAPS-SERVER.LAB.EMC.LOCAL i:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER -----BEGIN CERTIFICATE----- << removed for brevity >> -----END CERTIFICATE----- 1 s:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER i:/CN=ROOTCA-SERVER -----BEGIN CERTIFICATE----- << removed for brevity >> -----END CERTIFICATE-----
Resolution
Щоб усунути помилку сертифіката, виконайте наведену нижче процедуру.
1. Видаліть усі раніше імпортовані сертифікати зі сховища довірених ключів Java cacerts.
Процеси в цій базі знань використовують команду keytool Java. Можливо, доведеться змінити каталог (cd) на каталог Java bin. Залежно від інсталяції Java та операційної системи це може відрізнятися. Команду keytool можна знайти в каталозі Java installs bin. Більшість реалізацій NetWorker використовують середовище виконання NetWorker (NRE) для Java.
- Linux: /opt/nre/java/latest/bin
- Вікна: C:\Program Files\NRE\java\jre#.#.#_##\bin
JAVA_INSTALL_PATH\bin> keytool -list -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit | findstr LDAPS-SERVER
ldaps-server, DATE-IMPORTED, trustedCertEntry,
JAVA_INSTALL_PATH\bin> keytool -list -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit | findstr ROOTCA-SERVER
rootca-server, DATE-IMPORTED, trustedCertEntry,
- LDAPS-SERVER і ROOTCA-SERVER є лише прикладами, вам слід замінити ці значення альтернативними назвами, які відповідають вашому серверу LDAPS і кореневому серверу ЦС (типово, використовується назва вузла).
- Навіть якщо сертифікати не відображаються під час використання findstr/grep. Перегляньтевиведені дані, не звужуючи результати, щоб переконатися, що немає альтернативних назв для вашого сервера LDAPS І/АБО вашого кореневого сервера ЦС. findstr було використано для стислості у наведеному вище прикладі.
- Типовим сховищем для сховища довіри Java cacerts є "changeit".
- Замініть JAVA_INSTALL_PATH повним шляхом до вашої інсталяції Java.
- Щоб видалити сертифікати з authc.truststore і/або authc.keystore, вкажіть повний шлях до цих файлів для -keystore і пароль authc NetWorker для -storepass. Пароль сховища ключів authc NetWorker налаштовується під час встановлення NetWorker.
- Linux:
- /opt/nsr/authc-server/conf/authc.truststore
- /nsr/authc/conf/authc.keystore
- Вікна:
- C:\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- Linux:
Якщо сертифікат з'явився, його необхідно видалити (в іншому випадку переходимо до наступного кроку):
keytool -delete -alias ALIAS_NAME -keystore "PATH_TO_CACERTS_FILE" -storepass PASSWORD
Приклад:
JAVA_INSTALL_PATH\bin> keytool -delete -alias LDAPS-SERVER -keystore ..\lib\security\cacerts -storepass changeit
JAVA_INSTALL_PATH\bin> keytool -delete -alias ROOTCA-SERVER -keystore ..\lib\security\cacerts" -storepass changeit
2. З'єднайтеся з сервером LDAPS за допомогою openssl:
openssl s_client -showcerts -connect LDAPS_SERVER:636
Приклад:
OPENSSL_INSTALL_PATH\bin> openssl s_client -showcerts -connect ldaps-server.lab.emc.local:636
CONNECTED(00000124)
depth=1 DC = LOCAL, DC = EMC, DC = LAB, CN = LDAPS-SERVER
---
Certificate chain
0 s:/CN=LDAPS-SERVER.LAB.EMC.LOCAL
i:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER
-----BEGIN CERTIFICATE-----
<< removed for brevity >>
-----END CERTIFICATE-----
1 s:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER
i:/CN=ROOTCA-SERVER
-----BEGIN CERTIFICATE-----
<< removed for brevity >>
-----END CERTIFICATE-----
3, a. Скопіюйте сертифікат ланцюжка, включно із заголовком -----BEGIN CERTIFICATE----- і нижнім колонтитулом -----END CERTIFICATE----- у текстовий файл, наприклад: chain.cer 3, b. Скопіюйте кореневий сертифікат, включно із заголовком -----BEGIN CERTIFICATE----- і нижнім колонтитулом -----END CERTIFICATE-----, у текстовий файл, наприклад: root .cer
4. Імпортуйте сертифікат ланцюжка до сховища ключів довіри Java cacerts, а потім імпортуйте всі сертифікати, що ведуть до кореневого сертифіката:
Приклад:
JAVA_INSTALL_PATH\bin> keytool -import -alias LDAPS-SERVER -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit -file "PATH_TO\chain.cer"
<< removed for brevity >>
Trust this certificate? [no]: y
Certificate was added to keystore
JAVA_INSTALL_PATH\bin> keytool -import -alias ROOTCA-SERVER -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit -file "PATH_TO\root.cer"
<< removed for brevity >>
Trust this certificate? [no]: y
Certificate was added to keystore
- Замініть значення псевдонімів альтернативними назвами, які відповідають вашому середовищу, наприклад, Hostname сервера LDAPS і CA.
- Замініть PATH_TO повним шляхом до розташування файлів, які ви створили для ланцюжка.cer і root.cer.
- Переконайтеся, що під час імпорту не виводиться жодних додаткових помилок.
5. Перезапустіть сервіси NetWorker. Служба authc зчитує сховище ключів cacerts під час запуску:
Linux: nsr_shutdown
systemctl start networker
Windows: net stop nsrd /y && net start nsrd
6. Завершіть інтеграцію з LDAPS:
NetWorker: Як налаштувати "AD over SSL" (LDAPS) з веб-інтерфейсу користувача NetWorker (NWUI)
NetWorker: Як налаштувати розпізнавання LDAPS.