ECS: Certificaten via LDAPS instellen en accepteren op ECS
Summary: Certificaten instellen en accepteren via LDAPS (Lightweight Directory Access Protocol Secure) op ECS.
Instructions
LDAPS, ook bekend als Lightweight Directory Access Protocol (LDAP) over Secure Socket Layer (SSL) of Transport Layer Security (TLS), is een versleutelde verkeersvorm van LDAP-gebruik voor een Active Directory (AD)- of LDAP-server.
LDAPS is afhankelijk van een werkende LDAP-verbinding. Raadpleeg de ECS beheerhandleiding en dit kennisartikel ECS: Een AD- of LDAP-serververbinding instellen in de gebruikersinterface
Een essentieel onderdeel bij SSL- of TLS-communicatie zijn de certificaten. Zorg ervoor dat de gebruikte certificaten niet verlopen en ongeldig zijn. Dit is belangrijk om alle certificaten in de volledige certificaatketen correct te laten zijn.
Neem hierover contact op met uw netwerkteam.
Volg de volgende stappen om de LDAPS-certificaatketen te uploaden en LDAPS in te schakelen.
1. Een IP-adres voor knooppuntbeheer is een must om de LDAPS-certificaatketen te uploaden.
2. De hoofdgebruiker van de gebruikersinterface moet de LDAPS-certificaatketen uploaden naar de CLI-interface voor knooppuntbeheer.
3 bis. De LDAPS-certificaatketen in een XML-payload naar het IP-adres
voor knooppuntbeheer 3B. De LDAPS schakelt parameterinstelling in een XML-payload in naar het IP-adres
voor knooppuntbeheer 4. Gebruik LDAPS op de pagina ECS-authenticatieprovider, met een volledig gekwalificeerde domeinnaam (FQDN) in plaats van een IP-adres.
5. Test de aanmelding bij de domeingebruiker.
Voor stap 3
is een FQDN nodig in plaats van een IP-adres als:
"Met SSL-certificaten moet het certificaat een Subject Alternate Name (SAN) in het certificaat hebben om overeen te komen met de verbinding waarmee verbinding wordt gemaakt, het SAN krijgt alleen een DNS-naam te zien die overeenkomt met de configuratie op het ECS."
Controleer daarom of de pagina van de ECS-authenticatieprovider, het dialoogvenster URL van de server, een FQDN gebruikt in plaats van een IP-adres.
Voorbeeld: ldaps://ad-or-ldap-fqdn-domain.com
De bovenstaande stappen:
- Een IP-adres voor knooppuntbeheer is een must om de LDAPS-certificaatketen te uploaden.
Als u de ECS-instellingen met betrekking tot de LDAPS-certificaatinstellingen wilt onderzoeken, moet u eerst een IP-adres voor knooppuntbeheer aanschaffen om te gebruiken.
Als er een netwerkscheiding is voor het UI-beheer, geeft de "getrackinfo -n" de waarden "MGMT" weer.
Gebruik het MGMT-IP-adres van de knooppunten. De scheiding van de replicatie en het datanetwerk is niet gerelateerd aan deze stappen:
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
Als er geen netwerk-MGMT-scheiding op de VDC is, gebruikt u in plaats daarvan het openbare IP-adres van het knooppunt.
In het volgende voorbeeld bestaat er geen MGMT in "getrackinfo -n"; Gebruik daarom het openbare IP-adres in getrackinfo als het IP-adres van het beheer voor de volgende stappen.
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. De hoofdgebruiker van de gebruikersinterface moet de LDAPS-certificaatketen uploaden naar de CLI-interface voor knooppuntbeheer.
Gebruik het beheer-IP-adres dat is verkregen om het root-gebruikerstoken op te halen. Het rootgebruikerswachtwoord is vereist (of een UI-gebruiker met UI-administratorbevoegdheden):
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>
Als de uitvoer niet "HTTP/1.1 200 OK" is, controleert u het wachtwoord en het IP-adres, dat wil zeggen als er een UI-beheernetwerkscheiding bestaat van de opdracht "getrackinfo -n.".
Maak met het root-gebruikerstoken een tokenvariabele.
# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Als u de tokenwaarde wilt testen, voert u een curl Opdracht om de capaciteit te controleren:
# 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 bis. De LDAPS-certificaatketen in een XML-payload naar het IP-adres
voor knooppuntbeheer 3B. De LDAPS maken parameterinstelling mogelijk. Accepteer de LDAPS-parameter in een XML-payload naar het IP-adres voor knooppuntbeheer.
Bij het bovenstaande wordt het root-gebruikerstoken gebruikt om curl-toegang te krijgen tot de ECS UI truststore waar het LDAPS-certificaat kan worden geüpload.
Raadpleeg de ECS beheerdershandleiding voor meer informatie over Add custom LDAP certificate.
Verkrijg de truststore-instellingen met een curl GET bevelen:
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>
In het bovenstaande voorbeeld is de truststore "accept_all_certificates" is ingesteld op false. Dit betekent dat er geen LDAPS-certificaten worden vertrouwd.
De "accept_all_certificates" term misschien dubbelzinnig, maar het is een vlag die nog steeds wordt gebruikt voor ECS om te bepalen of LDAPS-certificaten moeten worden gebruikt.
Een gebruiker wil dit mogelijk instellen op waar of onwaar, afhankelijk van zijn behoeften. De LDAPS-verbinding testen door deze in te stellen op true en de aanmelding van de gebruiker te testen kan de LDAPS-verbinding valideren.
"accept_all_certificates" keert terug naar onwaar. Dus als je de truststore bewerkt, moet je de "accept_all_certificates" Achteraf terug naar de waarheid.
Maak een xml-bestand aan om de truststore-instellingen te wijzigen met behulp van een curl-opdracht met een xml-payload:
# 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>
Als u accept_all_certificates wilt instellen op false, wijzigt u het payload-bestand in false in plaats van true en voert u de PUT-opdracht uit met behulp van het payload-bestand.
Voer een curl-opdracht uit met een xml-bestand als de payload met een curl PUT-opdracht:
# 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
Om te controleren of "accept_all_certificates" is bijgewerkt, voert u de opdracht curl GET uit:
# 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>
Om de truststore te onderzoeken, niet alleen de truststore-instelling:
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -
Een voorbeeld van een lege LDAP-certificaattruststore:
# 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/>
Er kunnen meerdere certificaten nodig zijn, omdat ECS de hele certificaatketen, het basiscertificaat, het CA-certificaat, het hostcertificaat, enzovoort vereist.
Om een certificaat toe te voegen aan de truststore, maak je een xml-bestand van het certificaat dat de gebruiker heeft. Een certificaat kan bestandstypen .pem, .crt, .cer, enzovoort zijn.
Als u de certificaten wilt uploaden naar ECS, moeten ze een xml-indeling hebben om als xml-payload te kunnen fungeren.
Non xml format bestand van het certificaat:
# cat cert.crt -----BEGIN CERTIFICATE----- MIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HhrV5ezjYHY= -----END CERTIFICATE-----
Het xml-formaat voor een curl add-opdracht:
# 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>
Upload de xml-indeling van de cert payload:
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
Om te controleren of het certificaat is geüpload, voert u de GET-opdracht uit. Het eindregelteken in de ECS truststore is " .".
# 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>
Als u wilt controleren of de LDAPS-instellingen niet zijn teruggezet, voert u de curl GET-opdracht uit:
# 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>
Als het is teruggekeerd naar false, zet het dan terug naar true,Zoals
wanneer er een wijziging is in de truststore, kan de instelling zichzelf instellen op 'false'.
Voer een curl-opdracht uit met een xml-bestand als de payload met een curl PUT-opdracht:
# 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
De LDAPS-instellingen controleren:
# 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. Gebruik LDAPS op de pagina ECS-authenticatieprovider, met FQDN in plaats van een IP-adres.
Met de LDAPS-certificaatketen geüpload naar ECS truststore en de accept_all_certificates De markering is ingesteld op true, gaat u naar de pagina ECS UI Authentication Provider en wijzigt u de server-URL vanaf.
< ldap://IP of FQDN>van domeincontrollernaarldaps:// Domeincontroller FQDN>Dat wil zeggen:FQDN met het LDAPS-protocol Het moet een FQDN zijn voor LDAPS-gebruik<.

Er is een FQDN nodig in plaats van een IP-adres als:
"Met SSL-certificaten moet het certificaat een Subject Alternate Name (SAN) in het certificaat hebben dat overeenkomt met de verbinding waarmee verbinding wordt gemaakt, het SAN krijgt alleen een DNS-naam te zien die overeenkomt met de configuratie op het ECS."
Controleer daarom of de pagina van de ECS-authenticatieprovider, het dialoogvenster URL van de server, een FQDN gebruikt in plaats van een IP-adres.
Dat wil zeggen:
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com
Ports:
De standaardpoort voor LDAP is 389.
De standaardpoort voor LDAPS is 636.
URL-indeling indien niet-standaardpoort:
< ldap://Domeincontroller IP of FQDN>:<poort> of ldaps://< Domeincontroller FQDN>:<poort>
5. Test de aanmelding bij de domeingebruiker.
Test vervolgens de aanmelding van de domeingebruiker tijdens het LDAPS-protocol als de domeingebruikers zich met LDAPS kunnen aanmelden.
De verbinding tussen het ECS-LDAPS-protocol werkt.
Overige informatie:
Indien nodig:
Als u een certificaat uit de truststore wilt verwijderen, maakt u een xml-bestand dat overeenkomt met het certificaat dat u wilt verwijderen, maar in plaats van
"add" Gebruik als payload "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>
Als u het payload-bestand wilt gebruiken, dat wil zeggen toevoegen of verwijderen, gebruikt u deze opdracht:
# 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
Om te controleren of de payload is geslaagd, voert u de GET-opdracht uit:
# 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/>
Als u niet zeker weet of de LDAPS-server niet overeenkomt met het opgegeven certificaat, voert u de volgende opdracht uit om het verwachte antwoord van de LDAPS-serveraanvraag voor een overeenkomend certificaat te controleren.
"verify error:num=21:unable to verify the first certificate".
In dit voorbeeld is de LDAPS-server een zelfondertekend certificaat in plaats van een certificaat van derden, dus deze kan een extra waarschuwing genereren dat deze zelfondertekend is:
# 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
Controleer het certificaatbestand dat verbinding maakt met de LDAPS-server en controleer of er een overeenkomend certificaat moet worden gebruikt, namelijk Verifieer de retourcode: 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)
---
Om dit te controleren gebruikt u deze opdracht:
# 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
Voorbeeld van JSON-versie van de opdrachten.
Als u de bovenstaande XML-opdrachten niet gebruikt (let op, XML heeft de voorkeur):
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}
Een JSON-bestand maken om de truststore-instellingen te wijzigen met behulp van een curl-opdracht met een JSON-payload:
# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}
De json.tool-module op python kan een JSON-bestandsindeling valideren. Als er een fout optreedt, is het bestand mogelijk geen JSON-bestand. In dit voorbeeld zijn er geen fouten en wordt het bestand uitgevoerd, dus het is een geformatteerd JSON-bestand:
# python -m json.tool truststoresettings.json
{
"accept_all_certificates": "true"
}
Voer een curl-opdracht uit met een JSON-bestand als de payload met een curl PUT-opdracht:
# 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-payload PUT gebruikt --data-binary in de curl-opdracht, terwijl de JSON-payload PUT gebruikmaakt van
-d In de curl-opdracht:
--data-binary
(HTTP) Dit plaatst gegevens precies zoals opgegeven zonder extra verwerking:--data-ascii aka -d
(HTTP) Dit is een alias voor -d, --data.
Om te controleren of het is bijgewerkt, voert u de opdracht curl GET uit:
# 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}
Test de aanmelding van de domeingebruiker in de ECS-gebruikersinterface waarbij de LDAPS-certificaten nu zijn toegestaan.
Om de truststore te onderzoeken:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore
Voorbeeld van een lege LDAP-certificaattruststore:
# 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":[]}
De JSON-indeling voor een curl add-opdracht, een bestand van één regel met nieuwe regeltekens vervangen door \n en \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-----"]}
Raadpleeg de ECS beheerdershandleiding "Add custom LDAP certificate". Gebruik deze opdracht om het volgende toe te voegen of te verwijderen:
# 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
U kunt de upload als volgt controleren:
# 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-----"]}
Als u wilt controleren of de LDAPS-instellingen niet zijn teruggezet, voert u de curl GET-opdracht uit:
# 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}
Als het is teruggezet naar false, zet het dan terug naar true. Wanneer er een wijziging is in de truststore, kan de instelling zichzelf instellen op 'false'.
Voer een curl-opdracht uit met een JSON-bestand als de payload met een curl PUT-opdracht:
# 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
De LDAPS-instellingen controleren:
# 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}
Om een certificaat uit de truststore te verwijderen, maakt u een JSON-bestand dat overeenkomt met het certificaat dat u wilt verwijderen, maar in plaats van "add" als payload, gebruikt u "remove":
# cat cert.json
{"remove":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}
Om iets toe te voegen of te verwijderen, gebruikt u deze opdracht:
# 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
U kunt de upload als volgt controleren:
# 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":[]}