ECS: Jak nastavit a přijímat certifikáty prostřednictvím protokolu LDAPS v systému ECS
Summary: Jak nastavit a přijímat certifikáty přes protokol LDAPS (Lightweight Directory Access Protocol Standard) v systému ECS.
Instructions
Protokol LDAPS, označovaný také jako protokol LDAP (Lightweight Directory Access Protocol) přes protokol SSL (Secure Socket Layer) nebo TLS (Transport Layer Security), je šifrovaná forma provozu použití protokolu LDAP pro server služby Active Directory (AD) nebo LDAP.
Protokol LDAPS závisí na funkčním připojení LDAP. Přečtěte si průvodce správou ECS a tento článek znalostní databáze ECS: Jak nastavit připojení k serveru AD nebo LDAP v uživatelském rozhraní
Důležitou součástí komunikace SSL nebo TLS jsou certifikáty. Ujistěte se, že použité certifikáty nejsou prošlé a nejsou neplatné. To je důležité, aby byly všechny certifikáty v celém řetězci certifikátů správné.
Poraďte se v tomto ohledu se svým síťovým týmem.
Chcete-li nahrát řetěz certifikátů LDAPS a povolit protokol LDAPS, řiďte se následujícími kroky.
1. IP adresa pro správu uzlu je nezbytná pro nahrání řetězce certifikátů LDAPS.
2. Uživatel root uživatelského rozhraní musí nahrát řetěz certifikátů LDAPS do rozhraní příkazového řádku pro správu uzlů.
3A. Řetěz certifikátů LDAPS v datové části XML na IP adresu
3B pro správu uzlů. LDAPS umožňují nastavení parametrů v datové části XML na IP adresu
správy uzlů 4. Na stránce poskytovatele ověřování ECS použijte protokol LDAPS s plně kvalifikovaným názvem domény (FQDN) namísto IP adresy.
5. Otestujte přihlášení uživatele domény.
V kroku 3
je místo IP adresy potřeba plně kvalifikovaný název domény, například:
"U certifikátů SSL musí mít certifikát v certifikátu alternativní název subjektu (SAN), aby odpovídal připojení, ke kterému se připojujete, síť SAN se zobrazí pouze s názvem DNS, který odpovídá konfiguraci v systému ECS."
Proto ověřte, že stránka poskytovatele ověření ECS v dialogovém okně s adresou URL serveru používá namísto IP adresy plně kvalifikovaný název domény.
Příklad: ldaps://ad-or-ldap-fqdn-domain.com
Výše uvedené kroky:
- IP adresa pro správu uzlu je nezbytná pro nahrání řetězce certifikátů LDAPS.
Chcete-li zkontrolovat nastavení ECS týkající se nastavení certifikátu LDAPS, nejprve získejte IP adresu správy uzlů.
Pokud je pro správu uživatelského rozhraní oddělená síť, zobrazí se v příkazu "getrackinfo -n" hodnoty "MGMT".
Použijte IP adresu MGMT uzlu. Replikace a oddělení datové sítě nesouvisejí s těmito kroky:
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
Pokud ve VDC není žádné oddělení správce sítě, použijte místo toho veřejnou IP adresu uzlu.
V následujícím příkladu neexistuje žádný nástroj MGMT v "getrackinfo -n"; proto použijte veřejnou IP adresu v getrackinfo jako IP adresu pro správu pro další kroky.
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. K nahrání řetězu certifikátů LDAPS do rozhraní příkazového řádku pro správu uzlů je vyžadován uživatel root uživatelského rozhraní.
K získání tokenu uživatele root použijte získanou IP adresu pro správu. Je vyžadováno heslo uživatele root (nebo uživatel uživatelského rozhraní s oprávněními správce uživatelského rozhraní):
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>
Pokud výstup není "HTTP/1.1 200 OK", zkontrolujte heslo a IP adresu, tedy pokud existuje oddělení sítě pro správu uživatelského rozhraní, pomocí příkazu "getrackinfo -n.".
S tokenem kořenového uživatele vytvořte proměnnou tokenu.
# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Chcete-li otestovat hodnotu tokenu, spusťte curl Příkaz pro kontrolu kapacity:
# 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. Řetěz certifikátů LDAPS v datové části XML na IP adresu
3B pro správu uzlů. LDAPS umožňuje nastavení parametrů. Přijměte parametr LDAPS v datové části XML na IP adresu pro správu uzlů.
Výše uvedený používá token uživatele root k získání přístupu curl k úložišti důvěryhodných certifikátů rozhraní ECS, kam lze nahrát certifikát LDAPS.
Další informace o části "Přidání vlastního certifikátu LDAP" naleznete v příručce pro správce systému ECS.
Získejte nastavení úložiště důvěryhodnosti pomocí 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>
Ve výše uvedeném příkladu úložiště důvěryhodnosti "accept_all_certificates" je nastavena na hodnotu false. To znamená, že žádné certifikáty LDAPS nejsou důvěryhodné.
Ten "accept_all_certificates" Termín může být nejednoznačný, ale jedná se o příznak, který se nadále používá pro ECS k určení, zda se mají použít certifikáty LDAPS.
Uživatel může chtít, aby byla tato hodnota nastavena na hodnotu true nebo false, v závislosti na jeho potřebách. Chcete-li otestovat připojení LDAPS, jeho nastavením na hodnotu true a otestováním přihlášení uživatele můžete ověřit připojení LDAPS.
"accept_all_certificates" se vrátí zpět na false. Pokud tedy upravujete úložiště důvěryhodnosti, je nutné nastavit "accept_all_certificates" Poté zpět k pravdě.
Vytvořte soubor xml pro změnu nastavení truststore pomocí příkazu curl s datovou částí 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>
Pokud chcete nastavit accept_all_certificates na false, upravte soubor datové části na false místo true a spusťte příkaz PUT pomocí souboru datové části.
Spusťte příkaz curl se souborem xml jako datovou částí pomocí příkazu 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
Pokud chcete zkontrolovat, že je aktualizace accept_all_certificates, spusťte příkaz 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>
Chcete-li zkontrolovat úložiště důvěryhodných certifikátů, nejen nastavení úložiště důvěryhodných certifikátů:
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -
Příklad prázdného úložiště důvěryhodných certifikátů 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/>
Může být zapotřebí více certifikátů, protože systém ECS vyžaduje celý řetězec certifikátů, kořenový certifikát, certifikát certifikační autority, certifikát hostitele atd.
Chcete-li přidat certifikát do úložiště důvěryhodných certifikátů, vytvořte soubor XML certifikátu, který uživatel má. Certifikát může být typu souboru .pem, .crt, .cer atd.
Chcete-li certifikáty nahrát do systému ECS, měly by být ve formátu xml, aby fungovaly jako datová část xml.
Soubor certifikátu, který není ve formátu xml:
# cat cert.crt -----BEGIN CERTIFICATE----- MIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HhrV5ezjYHY= -----END CERTIFICATE-----
Formát xml pro příkaz 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>
Nahrajte formát xml datové části certifikátu:
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
Chcete-li zkontrolovat, zda byl certifikát odeslán, spusťte příkaz GET. Znak koncového řádku v úložišti důvěryhodných certifikátů ECS je " ."
# 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>
Chcete-li zkontrolovat, zda se nastavení LDAPS nevrátilo, spusťte příkaz 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>
Pokud se vrátila k false, nastavte ji zpět na true,Stejně
jako když dojde ke změně úložiště důvěryhodnosti, nastavení se může nastavit na "false".
Spusťte příkaz curl se souborem xml jako datovou částí pomocí příkazu 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
Kontrola nastavení 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. Na stránce poskytovatele ověření ECS použijte protokol LDAPS a místo IP adresy použijte název FQDN.
S řetězem certifikátů LDAPS nahraným do úložiště důvěryhodných certifikátů ECS a accept_all_certificates nastaven na hodnotu true, přejděte na stránku poskytovatele ověřování v uživatelském rozhraní systému ECS a změňte adresu URL serveru z.
< ldap://IP adresa řadiče domény nebo název FQDN>
Do
ldaps://< plně kvalifikovaný název domény>
řadiče To znamená: 
plně kvalifikovaný název domény s protokolem
LDAPSMusí se jednat o plně kvalifikovaný název domény, aby bylo možné protokol LDAPS používat.
Místo IP adresy je potřeba název FQDN jako:
"U certifikátů SSL musí mít certifikát v certifikátu alternativní název subjektu (SAN), aby odpovídal připojení, ke kterému se připojujete, síť SAN se zobrazí pouze s názvem DNS, který odpovídá konfiguraci v systému ECS."
Proto ověřte, že stránka poskytovatele ověření ECS v dialogovém okně s adresou URL serveru používá namísto IP adresy plně kvalifikovaný název domény.
To znamená:
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com
Přístavy:
Výchozí port pro LDAP je 389.
Výchozí port pro LDAPS je 636.
Formát adresy URL, pokud není výchozí port:
< ldap://IP adresa řadiče domény nebo název FQDN:port nebo ldaps://< plně kvalifikovaný název domény řadiče domény:<> port>5.><>
Otestujte přihlášení uživatele domény.
Poté otestujte přihlášení uživatele domény při použití protokolu LDAPS, zda se uživatelé domény mohou úspěšně přihlásit pomocí LDAPS.
Připojení protokolu ECS-LDAPS tedy funguje.
Doplňující informace:
V případě potřeby:
Chcete-li odebrat certifikát z důvěryhodného úložiště, vytvořte soubor XML, který odpovídá certifikátu, který chcete odebrat, ale namísto
"add" Jako datovou část použijte "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>
Chcete-li použít soubor datové části, tedy přidat nebo odebrat, použijte tento příkaz:
# 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
Pokud chcete zkontrolovat, jestli datová část proběhla úspěšně, spusťte příkaz 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/>
Pokud si nejste jisti, zda server LDAPS neodpovídá zadanému certifikátu, spusťte následující příkaz a zkontrolujte očekávanou odpověď serveru LDAPS na odpovídající certifikát.
"verify error:num=21:unable to verify the first certificate".
V tomto příkladu je server LDAPS certifikát podepsaný svým držitelem, nikoli certifikát třetí strany, takže může vygenerovat další upozornění, že je podepsaný svým držitelem:
# 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
Zkontrolujte soubor certifikátu, který se připojuje k serveru LDAPS, a pokud existuje odpovídající certifikát, který se má použít, to znamená Ověřte návratový kód: 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)
---
Chcete-li to zkontrolovat, použijte tento příkaz:
# 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
Verze JSON příkladu příkazů.
Pokud nepoužíváte výše uvedené příkazy XML (upozorňujeme, že je upřednostňováno 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}
Vytvoření souboru JSON pro změnu nastavení úložiště důvěryhodnosti pomocí příkazu curl s datovou částí JSON:
# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}
Modul json.tool v Pythonu může ověřit formát souboru JSON. Pokud dojde k chybě, soubor nemusí být soubor JSON. V tomto příkladu nejsou žádné chyby a výstup souboru, takže se jedná o formátovaný soubor JSON:
# python -m json.tool truststoresettings.json
{
"accept_all_certificates": "true"
}
Spusťte příkaz curl se souborem JSON jako datovou částí pomocí příkazu 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
Datová část XML PUT používá --data-binary v příkazu curl, zatímco datová část PUT, kterou používá PUT, používá --data-binary
-d V příkazu curl:
--data-binary
(HTTP) Tím se data zveřejní přesně tak, jak jsou uvedena, bez dalšího zpracování:--data-ascii aka -d
(HTTP) Jedná se o alias pro -d, --data.
Pokud chcete zkontrolovat, jestli je aktualizovaný, spusťte příkaz 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}
Otestujte přihlášení uživatele domény v rozhraní ECS s nyní povolenými certifikáty LDAPS.
Kontrola úložiště důvěryhodnosti:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore
Příklad prázdného úložiště důvěryhodnosti certifikátu 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":[]}
Formát JSON pro příkaz curl add, jednořádkový soubor se znaky nového řádku nahrazenými \n a \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-----"]}
Další informace naleznete v příručce pro správu systému ECS "Přidání vlastního certifikátu LDAP". Pomocí tohoto příkazu můžete přidat nebo odebrat:
# 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
Kontrola nahrání:
# 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-----"]}
Chcete-li zkontrolovat, zda se nastavení LDAPS nevrátilo, spusťte příkaz 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}
Pokud se vrátila k false, nastavte ji zpět na true. Pokud dojde ke změně úložiště důvěryhodnosti, nastavení se může nastavit na hodnotu "false".
Spusťte příkaz curl se souborem JSON jako datovou částí pomocí příkazu 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
Kontrola nastavení 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}
Pokud chcete odebrat certifikát z úložiště důvěryhodnosti, vytvořte soubor JSON, který odpovídá certifikátu, který chcete odebrat, ale místo "add" jako datové části použijte "remove":
# cat cert.json
{"remove":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}
K přidání nebo odebrání použijte tento příkaz:
# 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
Kontrola nahrání:
# 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":[]}