ECS. Настройка и принятие сертификатов по протоколу LDAPS в ECS

Summary: Настройка и принятие сертификатов по защищенному протоколу LDAPS (Lightweight Directory Access Protocol) в ECS.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

LDAPS, также известный как протокол Lightweight Directory Access Protocol (LDAP) over Secure Socket Layer (SSL) или Transport Layer Security (TLS), представляет собой зашифрованную форму трафика для использования LDAP сервером Active Directory (AD) или LDAP.

LDAPS зависит от рабочего подключения LDAP. См. Руководство по администрированию ECS и данную статью базы знаний ECS. Как настроить подключение к серверу AD или LDAP в пользовательском интерфейсе

Критически важным компонентом связи по протоколу SSL или TLS являются сертификаты. Убедитесь, что срок действия используемых сертификатов не истек и они не являются недействительными. Это важно, чтобы все сертификаты в полной цепочке были правильными.
По этому вопросу необходимо обратиться в вашу сетевую команду.

Чтобы загрузить цепочку сертификатов LDAPS и включить LDAPS, выполните следующие действия.
1. IP-адрес управления узлом является обязательным для загрузки цепочки сертификатов LDAPS.
2. Пользователь root пользовательского интерфейса должен загрузить цепочку сертификатов LDAPS в интерфейс командной строки управления узлом.
3А. Цепочка сертификатов LDAPS в полезных XML-данных с IP-адресом
управления узла 3B. Настройка параметра разрешения LDAPS в полезных данных XML для IP-адреса
управления узлом 4. Используйте LDAPS на странице поставщика проверки подлинности ECS с полным доменным именем (FQDN) вместо IP-адреса.
5. Проверьте логин пользователя домена.

Для шага 3
вместо IP-адреса требуется полное доменное имя, например:
«В случае сертификатов SSL сертификат должен иметь в сертификате альтернативное имя субъекта (SAN), чтобы соответствовать подключаемому подключению, SAN предоставляется только имя DNS, чтобы соответствовать конфигурации на ECS».

Поэтому убедитесь, что на странице поставщика проверки подлинности ECS и в диалоговом окне URL-адреса сервера вместо IP-адреса указано полное доменное имя.
Пример: ldaps://ad-or-ldap-fqdn-domain.com

Описанные выше шаги:

  1. IP-адрес управления узлом является обязательным для загрузки цепочки сертификатов LDAPS.

Чтобы проверить настройки ECS в отношении параметров сертификата LDAPS, сначала получите IP-адрес управления узлом для использования.
Если для управления пользовательским интерфейсом существует разделение сети, команда «getrackinfo -n» отображает значения «MGMT». 

Используйте IP-адрес управления узлами. Репликация и разделение сети данных не связаны со следующими шагами:       

admin@node1:~> getrackinfo -n
Named networks
==============
Node ID       Network          Ip Address        Netmask            Gateway            VLAN               Interface
1            repl              10.xxx.xxx.11     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
1            mgmt              10.xxx.xxx.21     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
1            data              10.xxx.xxx.31     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
2            repl              10.xxx.xxx.12     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
2            mgmt              10.xxx.xxx.22     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
2            data              10.xxx.xxx.32     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
3            repl              10.xxx.xxx.13     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
3            mgmt              10.xxx.xxx.23     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
3            data              10.xxx.xxx.33     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
4            repl              10.xxx.xxx.14     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
4            mgmt              10.xxx.xxx.24     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
4            data              10.xxx.xxx.34     255.255.254.0      xxx.xxx.xxx.xxx    15                 public


Если на виртуальном ЦОД нет разделения сетевых управлений, используйте вместо него общедоступный IP-адрес узла. 
 

ПРИМЕЧАНИЕ. Разделение сетей имеет приоритет, если сеть управления существует.

В следующем примере в не существует MGMT "getrackinfo -n"; поэтому используйте общедоступный IP-адрес в getrackinfo в качестве IP-адреса управления для выполнения последующих действий.

admin@node1:~> getrackinfo -n 
Named networks 
============== 
Node ID       Network          Ip Address        Netmask            Gateway            VLAN               Interface admin@node1:~>


admin@node1:~> getrackinfo
Node private      Node              Public                                  BMC
Ip Address        Id       Status   Mac                 Ip Address          Mac                 Ip Address          Node Name
===============   ======   ======   =================   =================   =================   =================   =========
192.1XX.2XX.1     1        MA       a4:bf:xx:xx:xx:74   10.xx.xx.1          a4:bf:xx:xx:xx      192.1XX.2XX.101     provo-red
192.1XX.2XX.2     2        SA       a4:bf:xx:xx:xx:c8   10.xx.xx.2          a4:bf:xx:xx:xx      192.1XX.2XX.102     sandy-red
192.1XX.2XX.3     3        SA       a4:bf:xx:xx:xx:e0   10.xx.xx.3          a4:bf:xx:xx:xx      192.1XX.2XX.103     orem-red
192.1XX.2XX.4     4        SA       a4:bf:xx:xx:xx:56   10.xx.xx.4          a4:bf:xx:xx:xx      192.168.219.104     ogden-red

2. Для загрузки цепочки сертификатов LDAPS в интерфейс командной строки управления узлом требуется пользователь root пользовательского интерфейса.

Используйте полученный IP-адрес управления, чтобы получить токен пользователя root. Требуется пароль пользователя root (или пользователь пользовательского интерфейса с правами администратора пользовательского интерфейса):

curl -s -k -v -u <user> https://<NodeManagementIP>:4443/login 2>&1
Пример.
# curl -s -k -v -u root https://10.xxx.xxx.21:4443/login 2>&1
Enter host password for user 'root':
......

< HTTP/1.1 200 OK
< Date: Thu, 14 Jan 2021 13:51:24 GMT
< Content-Type: application/xml
< Content-Length: 93
< Connection: keep-alive
< X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8=
< X-SDS-AUTH-USERNAME: root
< X-SDS-AUTH-MAX-AGE: 28800
<
* Connection #0 to host 10.xxx.xxx.21 left intact
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><loggedIn><user>root</user></loggedIn>


Если в выводе не отображается «HTTP/1.1 200 OK», проверьте пароль и IP-адрес, если существует разделение сети управления пользовательским интерфейсом с помощью команды

«getrackinfo -n.».С помощью токена пользователя root создайте переменную токена. 

ПРИМЕЧАНИЕ. Допустимый токен может потребовать обновления, если в новом сеансе интерфейса командной строки:

# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Чтобы проверить значение токена, запустите команду curl Команда для проверки емкости: 

# curl -k -X GET -H "$TOKEN" https://10.xxx.xxx.21:4443/object/capacity | xmllint --format -        
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
100   176  100   176    0     0    249      0 --:--:-- --:--:-- --:--:--   250

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cluster_capacity>
  <totalFree_gb>100657</totalFree_gb>
  <totalProvisioned_gb>447005</totalProvisioned_gb>
</cluster_capacity>

3А. Цепочка сертификатов LDAPS в полезных XML-данных с IP-адресом

управления узла 3B. Настройка параметра разрешения LDAPS. Примите параметр LDAPS в полезных данных XML для IP-адреса управления узлом.

В приведенном выше примере токен пользователя root используется для получения доступа curl к хранилищу доверенных сертификатов пользовательского интерфейса ECS, куда можно загрузить сертификат LDAPS.
Дополнительные сведения по разделу «Добавление пользовательского сертификата LDAP» см. в руководстве администратора ECS.

Получите параметры хранилища доверенных сертификатов с помощью метода curl GET :

curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings | xmllint --format -
Пример. 
curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings>
  <accept_all_certificates>false</accept_all_certificates>
</truststore_settings>

В приведенном выше примере доверенное хранилище "accept_all_certificates" имеет значение false. Это означает, что никакие сертификаты LDAPS не являются доверенными.

Тем "accept_all_certificates" термин может быть неоднозначным, но он по-прежнему используется в ECS для определения того, следует ли использовать сертификаты LDAPS.
Пользователь может захотеть, чтобы этот параметр имел значение «истина» или «ложь», в зависимости от его потребностей. Чтобы протестировать подключение LDAPS, установите для него значение true и проверьте имя входа пользователя в систему, чтобы проверить подключение LDAPS.
 

ПРИМЕЧАНИЕ. Каждый раз, когда сертификат LDAPS загружается или удаляется из хранилища доверенных сертификатов, "accept_all_certificates" возвращается к false. Таким образом, при редактировании хранилища доверенных сертификатов необходимо задать свойство "accept_all_certificates" После этого вернемся к истине.


Создайте XML-файл для изменения параметров хранилища доверенных сертификатов с помощью команды curl с полезными данными XML:

# sudo vi truststoresettings.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings_changes>
<accept_all_certificates>true</accept_all_certificates>
</truststore_settings_changes>


# cat truststoresettings.xml | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings_changes>
  <accept_all_certificates>true</accept_all_certificates>
</truststore_settings_changes>

Чтобы установить accept_all_certificates значение false, измените файл полезной нагрузки на false вместо true и выполните команду PUT с помощью файла полезных данных.

Выполните команду curl с xml-файлом в качестве полезных данных с помощью команды curl PUT:

# curl -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings --data-binary @truststoresettings.xml


Чтобы убедиться, что "accept_all_certificates" обновлен, выполните команду curl GET:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings  | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings_changes>
  <accept_all_certificates>true</accept_all_certificates>
</truststore_settings_changes>


Чтобы проверить хранилище доверенных сертификатов, а не только его настройку, выполните следующие действия.

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -


Пример пустого хранилища доверенных сертификатов LDAP:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificates/>


Может потребоваться несколько сертификатов, так как ECS требуется вся цепочка сертификатов, корневой сертификат, сертификат ЦС, сертификат хоста и т. д.
Чтобы добавить сертификат в хранилище доверенных сертификатов, создайте XML-файл сертификата пользователя. Сертификат может иметь файлы разных типов: .pem, .crt, .cer и т. д.

Чтобы можно было загрузить сертификаты в ECS, они должны быть в формате XML и выступать в качестве полезных данных XML.

Файл сертификата не в формате xml:

# cat cert.crt
-----BEGIN CERTIFICATE-----
MIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HhrV5ezjYHY=
-----END CERTIFICATE-----


Формат xml для команды curl add:

# cat cert.xml | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificate_changes>
  <add>
    <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgITMQAAAATxxxxxxxxxxxxxxxxxxxxxxxxxhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZPyLGQBGRYxxxxxxxxxxxxxxxxxxxxxxxxxFgR2aXRjMRMw
.......................
pkHgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxhlGh2TaTC
xqz4T/sO4ggWs0Yz5nBmCZMDn6nxxxxxxrjX+ahXI=
-----END CERTIFICATE-----</certificate>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZFgR2aXRjMRMw
EQYKCZImiZPyLGQBGRxxxxxxxxxxxxxxxxxxxxxxxxxxRW50ZXJwcmlzZS1DQTAe
Fw0yMDA2MDgwNzQwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxIiMA0GCSqGSIb3DQEB
..........................
8wYIKWr2AqSKKxcBHxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3ykeRMZJk7VpQDQDLN
feFI4rHZ4JOqDWttiHxxxxxxxxxxxxxxxxxxxxxxxxxxxhpXsxyjQIRvrtaCZVXz
GR7Na7Ah1o+9MWenMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGQlsQ47nZE2YgV
-----END CERTIFICATE-----</certificate>
  </add>
</trusted_certificate_changes>


Отправьте полезные данные сертификата в формате XML: 

curl -i -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore --data-binary @cert.xml


Чтобы проверить, загружен ли сертификат, выполните команду GET. Символ конечной строки в хранилище доверенных сертификатов ECS — «.».

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificates>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgITMQAAAATxxxxxxxxxxxxxxxxxxxxxxxxxhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZPyLGQBGRYxxxxxxxxxxxxxxxxxxxxxxxxxFgR2aXRjMRMw
.......................
pkHgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxhlGh2TaTC
xqz4T/sO4ggWs0Yz5nBmCZMDn6nxxxxxxrjX+ahXI=
-----END CERTIFICATE-----</certificate>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZFgR2aXRjMRMw
EQYKCZImiZPyLGQBGRxxxxxxxxxxxxxxxxxxxxxxxxxxRW50ZXJwcmlzZS1DQTAe
Fw0yMDA2MDgwNzQwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxIiMA0GCSqGSIb3DQEB
..........................
8wYIKWr2AqSKKxcBHxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3ykeRMZJk7VpQDQDLN
feFI4rHZ4JOqDWttiHxxxxxxxxxxxxxxxxxxxxxxxxxxxhpXsxyjQIRvrtaCZVXz
GR7Na7Ah1o+9MWenMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGQlsQ47nZE2YgV
-----END CERTIFICATE-----</certificate>
</trusted_certificates>


Чтобы убедиться, что настройки LDAPS не были отменены, выполните команду curl GET:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings>
  <accept_all_certificates>false</accept_all_certificates>
</truststore_settings>


Если он вернулся к false, установите его обратно в true.Как
при изменении в хранилище доверенных сертификатов, настройка может установить себя в значение «false».

Выполните команду curl с xml-файлом в качестве полезных данных с помощью команды curl PUT:

# curl -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings --data-binary @truststoresettings.xml


Чтобы проверить параметры LDAPS, выполните следующие действия.

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<truststore_settings>
  <accept_all_certificates>true</accept_all_certificates>
</truststore_settings>

 

ПРИМЕЧАНИЕ. В хранилище доверенных сертификатов может быть несколько сертификатов. Помните, что может потребоваться вся цепочка сертификатов.
 

4. Используйте LDAPS на странице поставщика проверки подлинности ECS с полным доменным именем вместо IP-адреса.

После загрузки цепочки сертификатов LDAPS в хранилище доверенных сертификатов ECS и accept_all_certificates установите значение true, перейдите на страницу поставщика аутентификации пользовательского интерфейса ECS и измените URL-адрес сервера с.
< ldap://IP-адрес или полное доменное имя>контроллера доменаTo
ldaps://< полностью определенное доменное имя>

контроллера домена, то есть:Страница поставщика аутентификации пользовательского интерфейса ECS
FQDN с протоколомСтраница поставщика аутентификации пользовательского интерфейса ECS и измените полностью определенное доменное имя url-адреса сервера с использованием протокола ldaps
LDAPS
Для использования LDAPS это должно быть полностью определенное доменное имя.




Полное доменное имя требуется вместо IP-адреса, например:
«В случае с сертификатами SSL в сертификате должно быть указано альтернативное имя субъекта (SAN), чтобы оно соответствовало подключению, к которому выполняется подключение, в SAN отображается только имя DNS, соответствующее конфигурации на ECS».

Поэтому убедитесь, что страница поставщика проверки подлинности ECS, диалоговое окно URL-адреса сервера, использует полностью определенное доменное имя вместо IP-адреса.
То есть:
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com

ПРИМЕЧАНИЕ. Порт можно опустить, если используется порт по умолчанию.
 
Порты:
По умолчанию для LDAP установлен порт 389. 
По умолчанию для LDAPS используется порт 636.

Формат URL-адреса, если порт не по умолчанию:
< ldap://IP-адрес или полное доменное имя>:<порт> контроллера домена или ldaps://< полное доменное имя>:<порт>

контроллера домена 5. Проверьте логин пользователя домена.

Затем проверьте вход пользователя домена по протоколу LDAPS, если пользователи домена могут войти в систему с помощью протокола LDAPS.

Поэтому подключение по протоколу ECS-LDAPS работает.


Дополнительная информация:

При необходимости: 
Чтобы удалить сертификат из хранилища доверенных сертификатов, создайте XML-файл, соответствующий удаляемому сертификату, но вместо "add" В качестве полезной нагрузки используйте "remove".
# cat cert_remove.xml | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificate_changes>
  <remove>
    <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgITMQAAAATxxxxxxxxxxxxxxxxxxxxxxxxxhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZPyLGQBGRYxxxxxxxxxxxxxxxxxxxxxxxxxFgR2aXRjMRMw
.......................
pkHgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxhlGh2TaTC
xqz4T/sO4ggWs0Yz5nBmCZMDn6nxxxxxxrjX+ahXI=
-----END CERTIFICATE-----</certificate>
  <certificate>-----BEGIN CERTIFICATE-----
MIIG2TCCBMGgAwIBAgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqhkiG9w0BAQsF
ADBbMRIwEAYKCZImiZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZFgR2aXRjMRMw
EQYKCZImiZPyLGQBGRxxxxxxxxxxxxxxxxxxxxxxxxxxRW50ZXJwcmlzZS1DQTAe
Fw0yMDA2MDgwNzQwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxIiMA0GCSqGSIb3DQEB
..........................
8wYIKWr2AqSKKxcBHxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3ykeRMZJk7VpQDQDLN
feFI4rHZ4JOqDWttiHxxxxxxxxxxxxxxxxxxxxxxxxxxxhpXsxyjQIRvrtaCZVXz
GR7Na7Ah1o+9MWenMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGQlsQ47nZE2YgV
-----END CERTIFICATE-----</certificate>
  </remove>
</trusted_certificate_changes>


Чтобы использовать файл полезной нагрузки, то есть добавить или удалить, используйте следующую команду:

# curl -s -k -X PUT -H Content-Type:application/xml-H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore --data-binary @cert_remove.xml

Чтобы проверить, успешно ли получена полезная нагрузка, выполните команду GET:

# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore | xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trusted_certificates/>


Если вы не уверены в том, что сервер LDAPS не соответствует указанному сертификату, выполните следующую команду, чтобы проверить ожидаемый ответ на запрос сервера LDAPS о предоставлении соответствующего сертификата. 

ПРИМЕЧАНИЕ. Он запрашивает всю цепочку "verify error:num=21:unable to verify the first certificate".


В данном примере сервер LDAPS является самозаверяющим сертификатом, а не сторонним сертификатом, поэтому может создать дополнительное предупреждение о том, что он самозаверяющий:

# sudo openssl s_client -connect LDAPS_server_IP:636 < /dev/null
CONNECTED(00000003)
depth=0 CN = 
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = 
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
........
---
Server certificate
-----BEGIN CERTIFICATE-----
.......
A cert that it expects.
.......
-----END CERTIFICATE-----
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Peer signing digest: SHA1
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2223 bytes and written 487 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
.......................
    SRP username: None
    Start Time: 1610452553
    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---
DONE


Проверьте файл сертификата, подключенного к серверу LDAPS. Если требуется использовать соответствующий сертификат, то есть проверьте код возврата: 0 (ok):

# openssl s_client -connect LDAPS_server_IP:636 -CAfile /home/admin/cert_file_to_be_used.crt
CONNECTED(00000003)
.......
---
Server certificate
-----BEGIN CERTIFICATE-----
.....
.....
-----END CERTIFICATE-----
.......
---
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Peer signing digest: SHA1
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2223 bytes and written 487 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
 .........
    Verify return code: 0 (ok)
---


 

ПРИМЕЧАНИЕ. Срок действия сертификатов может истечь, и если они не будут обновлены, это может повлиять на подключение.

Чтобы проверить это, используйте следующую команду:

# cat /home/admin/cert.crt | openssl x509 -dates -noout
notBefore=Jan 12 13:43:52 2021 GMT
notAfter=Jan 12 13:43:52 2022 GMT



Версия JSON примера команд.
Если не используются приведенные выше команды XML (обратите внимание, что предпочтительнее использовать XML):

curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings

 

Пример. 
curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}


Чтобы создать файл JSON для изменения параметров хранилища доверенных сертификатов с помощью команды curl с полезными данными JSON, выполните следующие действия.

# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}


Модуль json.tool на python может проверять формат файла JSON. Если возникает ошибка, возможно, файл не является файлом JSON. В этом примере ошибки отсутствуют, выводится файл в формате JSON:     

# python -m json.tool truststoresettings.json
{
    "accept_all_certificates": "true"
}


Выполните команду curl с файлом JSON в качестве полезных данных с помощью команды curl PUT:

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings -d @truststoresettings.json
ЗАМЕТКА:
Полезная нагрузка XML PUT использует --data-binary в команде curl, в то время как полезная нагрузка JSON PUT использует -d В команде curl:
--data-binary


(HTTP) При этом публикуются данные в точном соответствии с указанными данными без дополнительной обработки:
--data-ascii aka -d
(HTTP) Это псевдоним для -d, --data.

Чтобы убедиться, что он обновлен, выполните команду curl GET:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":true}

Проверьте вход пользователя домена в пользовательский интерфейс ECS с разрешенными сертификатами LDAPS.

Чтобы проверить хранилище доверенных сертификатов, выполните следующие действия.

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore


Пример пустого хранилища доверенных сертификатов LDAP:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.xxx.21:4443/vdc/truststore
{"certificate":[]}


Формат JSON для команды curl add, однострочный файл с символами новой строки, замененными на \n и \r\n:

Пример. {"add":["-----BEGIN CERTIFICATE-----\nxxxxx\r\n---END CERTIFICATE-----"]}
# cat cert.json
{"add":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}


См. руководство по администрированию ECS «Добавление пользовательского сертификата LDAP». Используйте эту команду, чтобы добавить или удалить:

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore -d @cert.json


Чтобы проверить загрузку, выполните следующую команду.

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.xxx.21:4443/vdc/truststore
{"certificate":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}


Чтобы убедиться, что настройки LDAPS не были отменены, выполните команду curl GET:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}

Если значение вернулось к значению false, верните его в значение true. При изменении хранилища доверенных сертификатов для этого параметра может быть установлено значение «false».

Выполните команду curl с файлом JSON в качестве полезных данных с помощью команды curl PUT:   

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings -d @truststoresettings.json

Чтобы проверить параметры LDAPS, выполните следующие действия.

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":true}

 

ПРИМЕЧАНИЕ. В хранилище доверенных сертификатов может быть несколько сертификатов. Помните, что может потребоваться вся цепочка сертификатов.


Чтобы удалить сертификат из хранилища доверенных сертификатов, создайте файл JSON, соответствующий удаляемому сертификату, но вместо добавления в качестве полезных данных используйте "remove".

# cat cert.json
{"remove":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}

Чтобы добавить или удалить сертификат, используйте следующую команду:

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore -d @cert.json

Чтобы проверить загрузку, выполните следующую команду.

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.xxx.21:4443/vdc/truststore
{"certificate":[]}

Affected Products

ECS Appliance
Article Properties
Article Number: 000183654
Article Type: How To
Last Modified: 04 Nov 2025
Version:  11
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.