В этой статье базы знаний основное внимание акцентируется на том, что необходимо для настройки LDAPS. Более подробное описание того, что необходимо для интеграции AD/LDAP с NetWorker, см. в следующих статьях:
NetWorker. Настройка аутентификации AD/LDAP
ПРИМЕЧАНИЕ. Внешние полномочия можно настроить с помощью консоли управления NetWorker и веб-интерфейса пользователя NetWorker (NWUI). Однако, как правило, для настройки Active Directory через LDAPS рекомендуется использовать сценарий authc_config NWUI (19.7 и более поздние версии). Параметр конфигурации NMC предлагает только «LDAP over SSL»; Если используется этот параметр, будет установлено значение «Active Directory: false». Этот параметр предполагает, что сервер аутентификации будет LDAP вместо Microsoft Active Directory. Это приведет к сбою входа в систему. Процесс, описанный в этой статье базы знаний, подробно описывает, как настроить LDAPS с помощью authc_configure протокола. NWUI (19.7 и более поздние версии) предлагает параметр «AD over SSL».
NetWorker. Как настроить «AD over SSL» (LDAPS) в веб-интерфейсе NetWorker (NWUI)
Рекомендуется сначала настроить конфигурацию AD/LDAP через LDAP, а затем преобразовать ее в LDAPS, чтобы исключить возможные проблемы конфигурации.
Чтобы использовать LDAPS, необходимо импортировать сертификат центра сертификации (или цепочку сертификатов) с сервера LDAPS в хранилище ключей доверия JAVA. Это можно сделать, выполнив следующую процедуру:
1) Откройте командную строку администратора/пользователя root.
2,a) Отображение списка текущих доверенных сертификатов в хранилище доверия.
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- Как правило, двоичное расположение JAVA является частью переменной среды ПУТИ ОС , поэтому «keytool» можно запустить из любой точки. Если ОС не может найти двоичный файл keytool. Выполните команды keytool из каталога JAVA \bin на сервере NetWorker.
- Замените JAVA_PATH путь к установке JAVA, имя пути различается в зависимости от установленной версии JAVA.
- В системах с установленной средой netWorker Runtime Environment (NRE) обычно это выполняется следующим образом:
- Linux: /opt/nre/java/latest/
- Windows: C:\Program Files\NRE\java\jre-###
- Замените пароль на JAVA storepass. Значение по умолчанию: 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) Просмотрите список на наличие псевдонима, соответствующего вашему серверу LDAPS (возможно, он не существует). Чтобы сузить поиск, можно использовать команды os grep/findstr с помощью указанной выше команды. Если на сервере LDAPS имеется устаревший или существующий сертификат ЦС, удалите его с помощью следующей команды:
keytool -delete -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- Замените ALIAS_NAME псевдонимом сервера LDAPS, собранным из выходных данных в 2,a.
3,a) Используйте инструмент OpenSSL, чтобы получить копию сертификата ЦС с сервера LDAPS.
openssl s_client -showcerts -connect LDAPS_SERVER:636
- По умолчанию хосты Windows не включают программу openssl. Если установить OpenSSL на сервере NetWorker невозможно, сертификаты можно экспортировать непосредственно с сервера LDAPS. однако настоятельно рекомендуется использовать утилиту OpenSSL.
- Если путь к двоичному каталогу OpenSSL не является частью переменной среды ПУТИ ОС, необходимо выполнить команды OpenSSL из их двоичного местоположения.
- Если у вас нет OpenSSL и его нельзя установить, администратор AD предоставит сертификаты, экспортируйте их в формат x.509, закодированный в Base-64.
- Замените LDAPS_SERVER на имя хоста или IP-адрес сервера LDAPS.
3,b) Приведенная выше команда выводит сертификат ЦС или цепочку сертификатов в формате PEM, например:
-----BEGIN CERTIFICATE-----
MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF
ADBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZFgZlbWNs
...
7NZfi9DiEBhpFmbF8xP96qB/kTJC+29t/0VE8Fvlg87fRhs5BceIoX8nUnetNCdm
m4mGyefXz4TBTwD06opJf4NQIDo=
-----END CERTIFICATE-----
ПРИМЕЧАНИЕ. При наличии цепочки сертификатов последний сертификат — это сертификат ЦС. Необходимо импортировать каждый сертификат в цепочке, чтобы он завершился сертификатом ЦС (сверху вниз).
3,c) Скопируйте сертификат, начиная с
---BEGIN CERTIFICATE--- и заканчивающийся на
---END CERTIFICATE--- и вставьте его в новый файл. При наличии цепочки сертификатов необходимо сделать это с каждым сертификатом.
4) Импортируйте сертификаты, созданные в 3,c, в хранилище ключей доверия JAVA:
keytool -import -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD -file PATH_TO\CERT_FILE
- Замените ALIAS_NAME псевдонимом для импорт доступного сертификата. Обычно это имя сервера LDAPS. Если необходимо импортировать несколько сертификатов для цепочки сертификатов, каждый сертификат должен иметь другое имя ALIAS и импортироваться отдельно. Цепочку сертификатов также необходимо импортировать в том порядке, в котором она была представлена на шаге 3,a (сверху вниз).
- Замените JAVA_PATH путь к установке JAVA, имя пути различается в зависимости от установленной версии JAVA.
- Замените пароль на JAVA storepass. Значение по умолчанию: changeit.
- Замените PATH_TO\CERT_FILE местоположением cert-файла, созданного на шаге 3,c.
- Появится запрос на импорт сертификата, введите yes и нажмите 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) Убедитесь, что сертификат отображается в хранилище ключей:
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
ПРИМЕЧАНИЕ. Переведите командуgrep или findstr операционной системы на вышеуказанную строку, чтобы сузить рамки результатов.
[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) Перезапустите службы сервера NetWorker.
Linux:
nsr_shutdown
Запуск service Networker
Windows: net stop nsrd
net start nsrd
ПРИМЕЧАНИЕ. Если серверные службы NetWorker не перезапущены, authc не считывает файл «cacerts» и не обнаруживает импортированные сертификаты, необходимые для установления связи SSL с сервером LDAP.
7,a) Обновите скрипт authc-create-ad-config (Active Directory) ИЛИ authc-create-ldap-config (LDAP) для использования LDAPS:
Location:
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
ПРИМЕЧАНИЕ. Если вы добавляете новую конфигурацию «-e add-config», следует использовать существующую конфигурацию «-e update-config». В строке адреса адреса сервера config-server укажите протокол «ldaps» (должен быть нижнего регистра) и порт «636».
7,b) Запустите сценарий из командной строки. В отчете должно быть сообщение об успешном обновлении или добавлении конфигурации.
8) Убедитесь, что конфигурация обновлена:
authc_config -u Administrator -e find-all-configs
authc_config -u Administrator -e find-config -D config-id=CONFIG_ID
- Вам будет предложено ввести пароль администратора NetWorker с каждой командой. Команду можно выполнить с флагом «-p password», но в некоторых ОС это может привести к сбою из-за использования текстового пароля.
- Замените CONFIG_ID на идентификатор конфигурации, собранный с помощью первой команды:
[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
Теперь сервер выполняет аутентификацию с использованием AD/LDAP через LDAPS.
Если при выполнении этой процедуры возникают какие-либо ошибки или проблемы, обратитесь к администратору центра сертификации, чтобы убедиться, что используются/извлечены правильные сертификаты.
Независимо от того, используете ли вы Windows Active Directory или Linux LDAP (например, OpenLDAP) протокол LDAP используется для аутентификации. LDAP (Lightweight Directory Application Protocol) и Secure LDAP (LDAPS) — это протоколы подключения, используемые между приложением и Network Directory или контроллером домена в инфраструктуре.
Протокол LDAP передает сообщения в формате Clear Text, а обмен данными по протоколу LDAPS шифруется и защищен.