ECS: Cómo configurar y aceptar certificados a través de LDAPS en ECS

Summary: Cómo configurar y aceptar certificados a través del protocolo ligero de acceso a directorios seguro (LDAPS) en ECS.

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

Instructions

LDAPS, también conocido como protocolo ligero de acceso a directorios (LDAP) mediante capa de conexión segura (SSL) o seguridad de capa de transporte (TLS), es una forma de tráfico cifrado de uso de LDAP para un servidor de Active Directory (AD) o LDAP.

LDAPS depende de una conexión LDAP en funcionamiento. Revise la Guía de administración de ECS y este artículo de la base de conocimientos ECS: Cómo configurar una conexión de servidor AD o LDAP en la UI

deUn componente crítico con comunicación SSL o TLS son los certificados. Asegúrese de que los certificados utilizados no estén vencidos ni sean válidos. Esto es importante para que todos los certificados de la cadena de certificados completa sean correctos.
Consulte con su equipo de red al respecto.

Para cargar la cadena de certificados LDAPS y habilitar LDAPS, tenga en cuenta los siguientes pasos.
1. Una dirección IP de administración de nodos es imprescindible para cargar la cadena de certificados LDAPS.
2. El usuario raíz de la interfaz de usuario debe cargar la cadena de certificados LDAPS en la interfaz de la CLI de administración de nodos.
3A. La cadena de certificados LDAPS en una carga útil XML a la dirección
IP de administración de nodos 3B. La configuración del parámetro de habilitación de LDAPS en una carga útil XML a la dirección
IP de administración de nodos 4. Utilice LDAPS en la página del proveedor de autenticación de ECS, con un nombre de dominio calificado (FQDN) en lugar de una dirección IP.
5. Pruebe el inicio de sesión del usuario del dominio.

Para el paso 3,
se necesita un FQDN en lugar de una dirección IP, ya que:
"Con los certificados SSL, el certificado debe tener un nombre alternativo del sujeto (SAN) en el certificado que coincida con la conexión a la que se está conectando, la SAN se presenta solo con un nombre DNS para que coincida con la configuración en ECS".

Por lo tanto, confirme que la página del proveedor de autenticación de ECS y el cuadro de diálogo URL del servidor utilicen un FQDN en lugar de una dirección IP.
Ejemplo: ldaps://ad-or-ldap-fqdn-domain.com

Los pasos anteriores:

  1. Una dirección IP de administración de nodos es imprescindible para cargar la cadena de certificados LDAPS.

Para examinar la configuración de ECS con respecto a la configuración del certificado LDAPS, primero obtenga una IP de administración de nodos para utilizar.
Si hay una separación de red para la administración de la interfaz del usuario, "getrackinfo -n" muestra los valores "MGMT". 

Utilice la dirección IP de MGMT de los nodos. La replicación y la separación de la red de datos no están relacionadas con estos pasos:       

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


Si no hay una separación de administración de red en el VDC, utilice la dirección IP pública del nodo en su lugar. 
 

NOTA: La separación de red tiene prioridad si la red de administración existe.

En el siguiente ejemplo, no existe ningún MGMT en "getrackinfo -n"; por lo tanto, utilice la dirección IP pública en getrackinfo como la dirección IP de administración para los próximos pasos.

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. Se requiere un usuario raíz de la interfaz de usuario para cargar la cadena de certificados LDAPS en la interfaz de la CLI de administración de nodos.

Utilice la dirección IP de administración adquirida para obtener el token de usuario raíz. Se requiere una contraseña de usuario raíz (o un usuario de la interfaz de usuario con privilegios de administrador de la interfaz de usuario):

curl -s -k -v -u <user> https://<NodeManagementIP>:4443/login 2>&1
Ejemplo:
# 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>


Si el resultado no es "HTTP/1.1 200 OK", compruebe la contraseña y la dirección IP, es decir, si existe separación de la red de administración de la interfaz de usuario mediante el comando "getrackinfo -n.".

Con el token de usuario raíz, cree una variable de token. 

NOTA: Es posible que sea necesario actualizar un token válido si se encuentra en una nueva sesión de la CLI:

# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Para probar el valor del token, ejecute un curl Comando para comprobar la capacidad: 

# 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>

3A. La cadena de certificados LDAPS en una carga útil XML a la dirección

IP de administración de nodos 3B. La configuración del parámetro de habilitación de LDAPS. Acepte el parámetro LDAPS en una carga útil XML en la dirección IP de administración del nodo.

Lo anterior utiliza el token de usuario raíz para obtener acceso curl al almacén de confianza de la interfaz del usuario de ECS, donde se puede cargar el certificado LDAPS.
Consulte la guía de administración de ECS para obtener más información sobre "Add custom LDAP certificate".

Obtener la configuración de TrustStore con un curl GET el comando:

curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings | xmllint --format -
Ejemplo: 
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>

En el ejemplo anterior, el truststore "accept_all_certificates" está configurado en false. Esto significa que ningún certificado LDAPS es de confianza.

El "accept_all_certificates" El término puede ser ambiguo, pero es una marca que se sigue utilizando para que ECS determine si se deben utilizar certificados LDAPS.
Es posible que un usuario desee que esta configuración se configure en verdadero o falso, según sus necesidades. Para probar la conexión LDAPS, configurarla en verdadero y probar el inicio de sesión del usuario puede validar la conexión LDAPS.
 

NOTA: Cada vez que se carga o se elimina un certificado LDAPS del almacén de confianza, el "accept_all_certificates" Vuelve a False. Por lo tanto, si edita el truststore, debe establecer el "accept_all_certificates" De vuelta a la verdad después.


Cree un archivo xml para cambiar la configuración del almacén de confianza mediante un comando curl con una carga útil 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>

Para configurar accept_all_certificates en false, edite el archivo de carga a falso en lugar de verdadero y ejecute el comando PUT mediante el archivo de carga.

Ejecute un comando curl con un archivo xml como carga útil con un comando 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


Para comprobar que "accept_all_certificates" esté actualizado, ejecute el comando 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>


Para examinar el valor de TrustStore, no solo la configuración de TrustStore:

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


Un ejemplo de un truststore de certificados LDAP vacío:

# 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/>


Es posible que se necesiten varios certificados, ya que ECS requiere toda la cadena de certificados, el certificado raíz, el certificado de CA, el certificado de host, etc.
Para agregar un certificado al truststore, cree un archivo xml con el certificado que tiene el usuario. Un certificado puede ser de tipos de archivo .pem, .crt, .cer, etc.

Para cargar los certificados en ECS, deben estar en formato xml a fin de que actúen como una carga útil xml.

Archivo en formato no xml del certificado:

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


El formato xml para un comando 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>


Cargue la carga útil del certificado en formato 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


Para comprobar que el certificado se cargó, ejecute el comando GET. El carácter de la línea final en el almacén de confianza de ECS es "".

# 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>


Para comprobar que los ajustes de LDAPS no se hayan revertido, ejecute el comando 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>


Si se revirtió a false, vuelva a establecerlo en verdadero.
Como cuando hay un cambio en el almacén de confianza, la configuración puede establecerse en "false".

Ejecute un comando curl con un archivo xml como carga útil con un comando 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


Para comprobar la configuración de 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>

 

NOTA: Es posible que haya varios certificados en el almacén de confianza. Recuerde que es posible que se requiera toda la cadena de certificados.
 

4. Utilice LDAPS en la página del proveedor de autenticación de ECS, con FQDN en lugar de una dirección IP.

Con la cadena de certificados LDAPS cargada en el truststore de ECS y el accept_all_certificates establecida en true, vaya a la página del proveedor de autenticación de la interfaz del usuario de ECS y cambie la URL del servidor.
< ldap://IP o FQDN>de la controladoradedominio a ldaps://< FQDN>

de la controladora
de dominio, es decir: Página del proveedor de autenticación de la interfaz del usuario de ECS
FQDN con el protocolo
Página del proveedor de autenticación de la interfaz del usuario de ECS y cambie el FQDN de la URL del servidor con el protocolo ldapsLDAPS
Debe ser un FQDN para el uso de LDAPS.




Se necesita un FQDN en lugar de una dirección IP como:
"Con los certificados SSL, el certificado debe tener un nombre alternativo del sujeto (SAN) en el certificado que coincida con la conexión a la que se está conectando, la SAN se presenta solo con un nombre DNS para que coincida con la configuración en ECS".

Por lo tanto, confirme que la página del proveedor de autenticación de ECS y el cuadro de diálogo URL del servidor utilicen un FQDN en lugar de una dirección IP.
Es decir ldaps://fqdn-domain-of-the-ad-or-ldap-server.com

NOTA: El puerto se puede omitir si se utiliza el puerto predeterminado.
 
Puertos:
El puerto predeterminado para LDAP es 389. 
El puerto predeterminado para LDAPS es 636.

Formato de URL si es un puerto no predeterminado:
< ldap://IP o FQDN> de la controladora de dominio:< puerto> o ldaps://< FQDN> de la controladora de dominio:< puerto>

5. Pruebe el inicio de sesión del usuario del dominio.

A continuación, pruebe el inicio de sesión del usuario del dominio con el protocolo LDAPS para ver si los usuarios del dominio pueden iniciar sesión correctamente mediante LDAPS.

Por lo tanto, la conexión del protocolo ECS-LDAPS está funcionando.


Información adicional:

Si es necesario: 
Para eliminar un certificado del truststore, cree un archivo xml que coincida con el certificado que desea eliminar, pero en lugar de "add" Como carga útil, utilice "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>


Para utilizar el archivo de carga útil, es decir, agregar o eliminar, utilice este comando:

# 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

Para comprobar si la carga útil se realizó correctamente, ejecute el comando 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/>


Si no está seguro de que el servidor LDAPS no coincida con el certificado proporcionado, ejecute el siguiente comando para comprobar la respuesta esperada de la solicitud del servidor LDAPS de un certificado coincidente. 

NOTA: Pide toda la cadena "verify error:num=21:unable to verify the first certificate".


En este ejemplo, el servidor LDAPS es un certificado autofirmado, en lugar de un certificado de terceros, por lo que puede generar una advertencia adicional de que está autofirmado:

# 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


Compruebe el archivo de certificado que se conecta al servidor LDAPS y si hay un certificado coincidente para utilizar, es decir, Verifique el código de retorno: 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)
---


 

NOTA: Los certificados pueden vencer y pueden afectar la conexión si no se actualizan.

Para comprobarlo, utilice este comando:

# 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



Versión JSON del ejemplo de comandos.
Si no utiliza los comandos XML anteriores (tenga en cuenta que se recomienda XML):

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

 

Ejemplo: 
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}


Para crear un archivo JSON para cambiar la configuración del truststore mediante un comando curl con una carga útil JSON:

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


El módulo json.tool en python puede validar un formato de archivo JSON. Si se produce un error, es posible que el archivo no sea un archivo JSON. En este ejemplo, no hay errores y genera el archivo, por lo que es un archivo JSON con formato:     

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


Ejecute un comando curl con un archivo JSON como carga útil mediante un comando 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
NOTA:
PUT de carga útil XML utiliza --data-binary en el comando curl, mientras que PUT de carga útil JSON utiliza -d En el comando curl:
--data-binary


(HTTP) Esto publica los datos exactamente como se especifica sin procesamiento adicional:
--data-ascii aka -d
(HTTP) Este es un alias para -d, --data.

Para comprobar que esté actualizado, ejecute el comando 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}

Pruebe el inicio de sesión del usuario del dominio en la interfaz del usuario de ECS con los certificados LDAPS que ahora se permiten.

Para examinar el truststore:

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


Ejemplo de un truststore de certificados LDAP vacío:

# 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":[]}


El formato JSON para un comando curl add, un archivo de una sola línea con caracteres de nueva línea reemplazados por \n y \r\n:

Ejemplo: {"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-----"]}


Consulte la Guía de administración de ECS "Add custom LDAP certificate". Utilice este comando para agregar o quitar:

# 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


Para comprobar la carga:

# 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-----"]}


Para comprobar que los ajustes de LDAPS no se hayan revertido, ejecute el comando 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}

Si se revirtió a false, vuelva a establecerlo en verdadero. Cuando hay un cambio en el almacén de confianza, la configuración puede establecerse en "false".

Ejecute un comando curl con un archivo JSON como carga útil mediante un comando 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

Para comprobar la configuración de 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}

 

NOTA: Es posible que haya varios certificados en el almacén de confianza. Recuerde que es posible que se requiera toda la cadena de certificados.


Para eliminar un certificado del almacén de confianza, cree un archivo JSON que coincida con el certificado que desea eliminar, pero en lugar de "agregar" como carga útil, utilice "remove":

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

Para agregar o quitar, utilice este comando:

# 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

Para comprobar la carga:

# 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":[]}

Επηρεαζόμενα προϊόντα

ECS Appliance
Ιδιότητες άρθρου
Article Number: 000183654
Article Type: How To
Τελευταία τροποποίηση: 04 Νοε 2025
Version:  11
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.