ECS: Så här konfigurerar och godkänner du certifikat via LDAPS på ECS
Summary: Så här konfigurerar och godkänner du certifikat via LDAPS (Lightweight Directory Access Protocol Secure) på ECS.
Instructions
LDAPS, även kallat Lightweight Directory Access Protocol (LDAP) över SSL (Secure Socket Layer) eller TLS (Transport Layer Security), är en krypterad trafikform av LDAP-användning för en Active Directory (AD) eller LDAP-server.
LDAPS är beroende av en fungerande LDAP-anslutning. Läs ECS-administrationsmanualen och den här kunskapsbasartikeln ECS: Så här konfigurerar du en AD- eller LDAP-serveranslutning i användargränssnittet
En viktig komponent med SSL- eller TLS-kommunikation är certifikaten. Kontrollera att de certifikat som används inte har upphört att gälla eller är ogiltiga. Detta är viktigt för att alla certifikat i den fullständiga certifikatkedjan ska vara korrekta.
Kontakta ditt nätverksteam i det avseendet.
Observera följande steg för att ladda upp LDAPS-certifikatkedjan och aktivera LDAPS.
1. En IP-adress för nodhantering är ett måste för att ladda upp LDAPS-certifikatkedjan.
2. Användargränssnittets rotanvändare måste ladda upp LDAPS-certifikatkedjan till CLI-gränssnittet för nodhantering.
3A. LDAPS-certifikatkedjan i en XML-nyttolast till IP-adressen
3B för nodhantering. LDAPS aktiverar parameterinställning i en XML-nyttolast till IP-adressen
för nodhantering 4. Använd LDAPS på sidan ECS-autentiseringsprovider med ett fullständigt kvalificerat domännamn (FQDN) i stället för en IP-adress.
5. Testa domänanvändarinloggningen.
För steg 3
krävs ett FQDN i stället för en IP-adress som:
"Med SSL-certifikat måste certifikatet ha ett alternativt SAN-namn (Subject Alternate Name) i certifikatet för att matcha för anslutningen som ansluts till, SAN visas bara med ett DNS-namn för att matcha konfigurationen på ECS."
Kontrollera därför att sidan ECS-autentiseringsprovider, dialogrutan server-URL, använder en FQDN i stället för en IP-adress.
Exempel: ldaps://ad-or-ldap-fqdn-domain.com
Stegen ovan:
- En IP-adress för nodhantering är ett måste för att ladda upp LDAPS-certifikatkedjan.
Om du vill undersöka ECS-inställningarna för LDAPS-certifikatinställningarna måste du först skaffa en IP-adress för nodhantering som du kan använda.
Om det finns nätverksseparation för användargränssnittshanteringen visar "getrackinfo -n" "MGMT"-värden.
Använd nodernas MGMT-IP-adress. Replikeringen och datanätverksseparationen är inte relaterade till följande steg:
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
Om det inte finns någon nätverks-MGMT-separation på VDC använder du nodens offentliga IP-adress i stället.
I följande exempel finns ingen MGMT i "getrackinfo -n"; Använd därför den offentliga IP-adressen i getrackinfo som IP-adress för hantering för nästa steg.
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. UI-rotanvändaren krävs för att ladda upp LDAPS-certifikatkedjan till CLI-gränssnittet för nodhantering.
Använd den IP-adress för hantering som hämtats för att hämta rotanvändartoken. Rotanvändarlösenord krävs (eller en gränssnittsanvändare med administratörsbehörighet för användargränssnittet):
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>
Om utdata inte är "HTTP/1.1 200 OK" kontrollerar du lösenordet och IP-adressen, det vill säga om nätverksseparation för UI-hantering finns från kommandot "getrackinfo -n." .
Med rotanvändartoken skapar du en tokenvariabel.
# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Om du vill testa tokenvärdet kör du en curl Kommando för att kontrollera kapaciteten:
# 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. LDAPS-certifikatkedjan i en XML-nyttolast till IP-adressen
3B för nodhantering. Parameterinställningen LDAPS aktiveras. Acceptera LDAPS-parametern i en XML-nyttolast till IP-adressen för nodhantering.
Ovanstående använder rotanvändartoken för att få curl-åtkomst till ECS UI-förtroendearkivet där LDAPS-certifikatet kan laddas upp.
Mer information om hur du lägger till anpassat LDAP-certifikat finns i ECS-administratörshandboken.
Hämta truststore-inställningarna med en curl GET befallning:
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>
I exemplet ovan är truststore "accept_all_certificates" är inställt på false. Det innebär att inga LDAPS-certifikat är betrodda.
Den "accept_all_certificates" Termen kan vara tvetydig, men det är en flagga som fortsätter att användas för ECS för att avgöra om LDAPS-certifikat ska användas.
En användare kanske vill att detta ska anges till sant eller falskt, beroende på deras behov. Om du vill testa LDAPS-anslutningen kan LDAPS-anslutningen valideras genom att ställa in den på true och testa användarens inloggning.
"accept_all_certificates" Vänder tillbaka till falskt. Så om du redigerar truststore måste du ställa in "accept_all_certificates" tillbaka till sant efteråt.
Skapa en xml-fil Så här ändrar du inställningarna för truststore med hjälp av ett curl-kommando med en XML-nyttolast:
# 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>
Om du vill ställa in accept_all_certificates på false redigerar du nyttolastfilen till false i stället för true och kör kommandot PUT med hjälp av nyttolastfilen.
Kör ett curl-kommando med en xml-fil som nyttolast med ett curl PUT-kommando:
# 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
Kontrollera att "accept_all_certificates" är uppdaterat genom att köra curl GET-kommandot:
# 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>
Så här undersöker du truststore, inte bara truststore-inställningen:
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -
Ett exempel på ett tomt förtroendearkiv för LDAP-certifikat:
# 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/>
Flera certifikat kan behövas eftersom ECS kräver hela certifikatkedjan, rotcertifikatet, CA-certifikatet, värdcertifikatet och så vidare.
Om du vill lägga till ett certifikat i truststore skapar du en XML-fil av det certifikat som användaren har. Ett certifikat kan vara filtyper av .pem, .crt, .cer och så vidare.
Om du vill ladda upp certifikaten till ECS bör de vara i xml-format för att fungera som en xml-nyttolast.
Icke-xml-formatfil för certifikatet:
# cat cert.crt -----BEGIN CERTIFICATE----- MIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HhrV5ezjYHY= -----END CERTIFICATE-----
XML-formatet för ett curl add-kommando:
# 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>
Överför xml-format för certifikatnyttolasten:
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
Kontrollera att certifikatet har laddats upp genom att köra kommandot GET. Sluttecknet i ECS-förtroendearkivet är " ."
# 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>
Om du vill kontrollera att LDAPS-inställningarna inte har återställts kör du curl GET-kommandot:
# 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>
Om den återställs till false, ställ tillbaka den till true,som
när det finns en ändring i truststore, kan inställningen ställa in sig själv till "false".
Kör ett curl-kommando med en xml-fil som nyttolast med ett curl PUT-kommando:
# 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
Kontrollera LDAPS-inställningarna så här:
# 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. Använd LDAPS på sidan ECS-autentiseringsprovider, med FQDN i stället för en IP-adress.
LDAPS-certifikatkedjan har överförts till ECS-förtroendearkivet och accept_all_certificates Flaggan är inställd på true, gå till sidan ECS-UI-autentiseringsprovider och ändra server-URL:en från.
< ldap://IP för domänkontrollant eller FQDN>
Till
ldaps://< FQDN>
för domänkontrollant Det vill säga:
FQDN med LDAPS-protokollet
Det måste vara ett FQDN för LDAPS-användning.
Ett FQDN behövs i stället för en IP-adress som:
"Med SSL-certifikat måste certifikatet ha ett alternativt ämnesnamn (SAN) i certifikatet för att matcha för anslutningen som ansluts till, SAN visas endast med ett DNS-namn för att matcha konfigurationen på ECS."
Bekräfta därför att sidan ECS-autentiseringsprovider, dialogrutan server-URL, använder ett FQDN i stället för en IP-adress.
Det är:
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com
Portar:
Standardporten för LDAP är 389.
Standardporten för LDAPS är 636.
URL-format om icke-standardport:
< ldap://IP för domänkontrollant eller FQDN:<>port> eller ldaps:// FQDN:>port för domänkontrollant<:<port>
5. Testa domänanvändarinloggningen.
Testa sedan domänanvändarens inloggning medan LDAPS-protokollet om domänanvändarna kan logga in med LDAPS.
Det innebär att ECS-LDAPS-protokollanslutningen fungerar.
Övrig information:
Vid behov:
Om du vill ta bort ett certifikat från truststore skapar du en XML-fil som matchar certifikatet som ska tas bort, men i stället för
"add" Som nyttolast använder du "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>
Om du vill använda nyttolastfilen, det vill säga add eller remove, använder du det här kommandot:
# 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 du vill kontrollera om nyttolasten lyckades kör du GET-kommandot:
# 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/>
Om du är osäker på om LDAPS-servern inte matchar det angivna certifikatet kör du följande kommando för att kontrollera det förväntade svaret från LDAPS-serverns begäran om ett matchande certifikat.
"verify error:num=21:unable to verify the first certificate".
I det här exemplet är LDAPS-servern ett självsignerat certifikat i stället för ett tredjepartscertifikat, så den kan generera en extra varning om att den är självsignerad:
# 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
Kontrollera certifikatfilen som ansluter till LDAPS-servern och se om det finns ett matchande certifikat som ska användas, d.v.s. Verifiera returkoden: 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 du vill kontrollera detta använder du det här kommandot:
# 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-version av kommandoexemplet.
Om du inte använder ovanstående XML-kommandon (observera att XML är att föredra):
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}
Så här skapar du en JSON-fil för att ändra truststore-inställningarna med hjälp av ett curl-kommando med en JSON-nyttolast:
# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}
Modulen json.tool på python kan verifiera ett JSON-filformat. Om det uppstår ett felmeddelande om att filen kanske inte är en JSON-fil. I det här exemplet finns det inga fel och matar ut filen, så det är en formaterad JSON-fil:
# python -m json.tool truststoresettings.json
{
"accept_all_certificates": "true"
}
Kör ett curl-kommando med en JSON-fil som nyttolast med ett curl PUT-kommando:
# 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-nyttolasten PUT använder --data-binary i curl-kommandot medan JSON-nyttolasten PUT använder
-d I curl-kommandot:
--data-binary
(HTTP) Detta publicerar data exakt som specificerat utan extra bearbetning:--data-ascii aka -d
(HTTP) Det här är ett alias för -d, --data. – Herr talman,
Kontrollera att den är uppdaterad genom att köra curl GET-kommandot:
# 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}
Testa domänanvändarens inloggning i ECS-gränssnittet med LDAPS-certifikaten som nu tillåts.
Så här undersöker du truststore:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore
Exempel på ett tomt förtroendearkiv för LDAP-certifikat:
# 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-formatet för ett curl add-kommando, en enradsfil med radradstecken som ersatts med \n och \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-----"]}
Se ECS-administrationsmanualen "Lägg till anpassat LDAP-certifikat". Använd det här kommandot för att lägga till eller ta bort:
# 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
Så här kontrollerar du uppladdningen:
# 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-----"]}
Om du vill kontrollera att LDAPS-inställningarna inte har återställts kör du curl GET-kommandot:
# 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}
Om den återgår till falskt ställer du tillbaka den till sant. När det sker en ändring i truststore kan inställningen ställas in på "false".
Kör ett curl-kommando med en JSON-fil som nyttolast med ett curl PUT-kommando:
# 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
Kontrollera LDAPS-inställningarna så här:
# 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 du vill ta bort ett certifikat från truststore skapar du en JSON-fil som matchar certifikatet som ska tas bort, men i stället för "add" som nyttolast använder du "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 du vill lägga till eller ta bort använder du det här kommandot:
# 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
Så här kontrollerar du uppladdningen:
# 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":[]}