ECS: ECS'de LDAPS üzerinden sertifika ayarlama ve kabul etme
Summary: ECS de Güvenli Basit Dizin Erişim Protokolü (LDAPS) üzerinden sertifika ayarlama ve kabul etme.
Instructions
Güvenli Yuva Katmanı (SSL) veya Aktarım Katmanı Güvenliği (TLS) üzerinden Basit Dizin Erişim Protokolü (LDAP) olarak da bilinen LDAPS, bir Active Directory (AD) veya LDAP sunucusu için LDAP kullanımının şifrelenmiş bir trafik biçimidir.
LDAPS, çalışan bir LDAP bağlantısına bağlıdır. ECS Yönetim Rehberi'ni ve ECS ile ilgili şu bilgi makalesini gözden geçirin: Kullanıcı arayüzünde
AD veya LDAP sunucu bağlantısı kurmaSSL veya TLS iletişiminin kritik bir bileşeni sertifikalardır. Kullanılan sertifikaların süresinin dolmadığından ve geçersiz olmadığından emin olun. Bu, eksiksiz sertifika zincirindeki tüm sertifikaların doğru olması için önemlidir.
Bu konuda ağ ekibinize danışın.
LDAPS sertifika zincirini yüklemek ve LDAPS'yi etkinleştirmek için aşağıdaki adımları not edin.
1. LDAPS sertifika zincirini yüklemek için düğüm yönetimi IP adresi zorunludur.
2. Kullanıcı arayüzü kök kullanıcısı, LDAPS sertifika zincirini düğüm yönetimi CLI arayüzüne yüklemelidir.
3A'dır. Düğüm yönetimi IP adresi
3B'ye giden bir XML yükündeki LDAPS sertifika zinciri. LDAPS, düğüm yönetimi IP adresi
4'e giden bir XML yükünde parametre ayarını etkinleştirir. ECS kimlik doğrulama sağlayıcısı sayfasında IP adresi yerine Tam Nitelikli Etki Alanı Adı (FQDN) ile LDAPS kullanın.
5. Etki alanı kullanıcı oturum açma işlemini test edin.
3
. adım için şu şekilde bir IP adresi yerine bir FQDN gereklidir:
"SSL sertifikalarında, sertifikanın bağlı olunan bağlantıyla eşleşmesi için sertifikada bir Konu Alternatif Adı (SAN) olmalıdır, SAN yalnızca ECS'deki yapılandırmayla eşleşecek bir DNS adıyla sunulur."
Bu nedenle, ECS kimlik doğrulama sağlayıcısı sayfasında, sunucu URL'si iletişim kutusunda IP adresi yerine FQDN kullanıldığından emin olun.
Örnek: ldaps://ad-or-ldap-fqdn-domain.com
Yukarıdaki adımlar:
- LDAPS sertifika zincirini yüklemek için düğüm yönetimi IP adresi zorunludur.
LDAPS sertifika ayarlarıyla ilgili ECS ayarlarını incelemek için önce kullanılacak bir Düğüm Yönetimi IP'si edinin.
Kullanıcı arayüzü yönetimi için ağ ayrımı varsa "getrackinfo -n", "MGMT" değerlerini görüntüler.
Düğümlerin MGMT IP adresini kullanın. Çoğaltma ve veri ağı ayrımı şu adımlarla ilişkili değildir:
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
VDC'de ağ MGMT ayrımı yoksa bunun yerine düğümün genel IP adresini kullanın.
Aşağıdaki örnekte, içinde YÖNETİM yoktur. "getrackinfo -n"; bu nedenle, içinde genel IP adresini kullanın getrackinfo sonraki adımlar için yönetim IP adresi olarak.
admin@node1:~> getrackinfo -n Named networks ============== Node ID Network Ip Address Netmask Gateway VLAN Interface admin@node1:~> admin@node1:~> getrackinfo Node private Node Public BMC Ip Address Id Status Mac Ip Address Mac Ip Address Node Name =============== ====== ====== ================= ================= ================= ================= ========= 192.1XX.2XX.1 1 MA a4:bf:xx:xx:xx:74 10.xx.xx.1 a4:bf:xx:xx:xx 192.1XX.2XX.101 provo-red 192.1XX.2XX.2 2 SA a4:bf:xx:xx:xx:c8 10.xx.xx.2 a4:bf:xx:xx:xx 192.1XX.2XX.102 sandy-red 192.1XX.2XX.3 3 SA a4:bf:xx:xx:xx:e0 10.xx.xx.3 a4:bf:xx:xx:xx 192.1XX.2XX.103 orem-red 192.1XX.2XX.4 4 SA a4:bf:xx:xx:xx:56 10.xx.xx.4 a4:bf:xx:xx:xx 192.168.219.104 ogden-red
2. LDAPS sertifika zincirini düğüm yönetimi CLI arayüzüne yüklemek için kullanıcı arayüzü kök kullanıcısı gereklidir.
Kök kullanıcı belirtecini almak için alınan yönetim IP adresini kullanın. Kök kullanıcı parolası gereklidir (veya kullanıcı arayüzü yönetici ayrıcalıklarına sahip bir kullanıcı arayüzü kullanıcısı):
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>
Çıktı "HTTP/1.1 200 OK" değilse, parolayı ve IP adresini, yani kullanıcı arayüzü yönetim ağ ayrımının mevcut olup olmadığını "getrackinfo -n." komutundan kontrol edin.
Kök kullanıcı belirteciyle bir belirteç değişkeni oluşturun.
# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Belirteç değerini test etmek için bir curl Kapasiteyi kontrol etme komutu:
# 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'dır. Düğüm yönetimi IP adresi
3B'ye giden bir XML yükündeki LDAPS sertifika zinciri. LDAPS etkinleştirme parametresi ayarı. Düğüm yönetimi IP adresine giden bir XML yükünde LDAPS parametresini kabul edin.
Yukarıdakiler, LDAPS sertifikasının yüklenebileceği ECS UI güven deposuna curl erişimi elde etmek için kök kullanıcı belirtecini kullanır.
Özel LDAP sertifikası ekleme" hakkında daha fazla bilgi için ECS Yönetici kılavuzuna bakın.
Truststore ayarlarını bir curl GET komuttan:
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>
Yukarıdaki örnekte, truststore "accept_all_certificates" false olarak ayarlanır. Bu, hiçbir LDAPS sertifikasına güvenilmediği anlamına gelir.
bu "accept_all_certificates" terimi belirsiz olabilir ancak ECS'nin LDAPS sertifikalarının kullanılıp kullanılmayacağını belirlemesi için kullanılmaya devam eden bir bayraktır.
Kullanıcı, gereksinimlerine bağlı olarak bunun doğru veya yanlış olarak ayarlanmasını isteyebilir. LDAPS bağlantısını test etmek için true olarak ayarlamak ve kullanıcının oturum açma bilgilerini test etmek LDAPS bağlantısını doğrulayabilir.
"accept_all_certificates" yanlışa döner. Bu nedenle, truststore'u düzenlerseniz "accept_all_certificates" daha sonra gerçeğe geri dönelim.
XML yüküyle curl komutu kullanarak truststore ayarlarını değiştirmek için bir xml dosyası oluşturun:
# sudo vi truststoresettings.xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <truststore_settings_changes> <accept_all_certificates>true</accept_all_certificates> </truststore_settings_changes> # cat truststoresettings.xml | xmllint --format - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <truststore_settings_changes> <accept_all_certificates>true</accept_all_certificates> </truststore_settings_changes>
accept_all_certificates false olarak ayarlamak için yük dosyasını true yerine false olarak düzenleyin ve yük dosyasını kullanarak PUT komutunu çalıştırın.
curl PUT komutuyla yük olarak xml dosyasıyla bir curl komutu çalıştırın:
# curl -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings --data-binary @truststoresettings.xml
"accept_all_certificates" öğesinin güncelleştirildiğinden emin olmak için curl GET komutunu çalıştırın:
# 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>
Yalnızca truststore ayarını değil truststore'u da incelemek için:
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -
Boş LDAP sertifikası güven deposu örneği:
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <trusted_certificates/>
ECS tüm sertifika zincirini, kök sertifikayı, CA sertifikasını, ana bilgisayar sertifikasını vb. gerektirdiği için birden çok sertifika gerekebilir.
Güvenilir depoya sertifika eklemek için kullanıcının sahip olduğu sertifikanın bir xml dosyasını oluşturun. Sertifika; .pem, .crt, .cer vb. dosya türlerinde olabilir.
ECS'ye sertifika yüklemek için xml yükü görevi görecek şekilde xml biçiminde olmalıdır.
Sertifikanın xml biçimli olmayan dosyası:
# cat cert.crt -----BEGIN CERTIFICATE----- MIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HhrV5ezjYHY= -----END CERTIFICATE-----
curl add komutunun xml biçimi:
# 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>
Cert yükü xml biçimini yükleyin:
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
Sertifikanın yüklenip yüklenmediğini kontrol etmek için GET komutunu çalıştırın; ECS truststore'daki son satır karakteri " şeklindedir.
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore | xmllint --format - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <trusted_certificates> <certificate>-----BEGIN CERTIFICATE----- MIIG2TCCBMGgAwIBAgITMQAAAATxxxxxxxxxxxxxxxxxxxxxxxxxhkiG9w0BAQsF ADBbMRIwEAYKCZImiZPyLGQBGRYxxxxxxxxxxxxxxxxxxxxxxxxxFgR2aXRjMRMw ....................... pkHgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxhlGh2TaTC xqz4T/sO4ggWs0Yz5nBmCZMDn6nxxxxxxrjX+ahXI= -----END CERTIFICATE-----</certificate> <certificate>-----BEGIN CERTIFICATE----- MIIG2TCCBMGgAwIBAgxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqhkiG9w0BAQsF ADBbMRIwEAYKCZImiZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZFgR2aXRjMRMw EQYKCZImiZPyLGQBGRxxxxxxxxxxxxxxxxxxxxxxxxxxRW50ZXJwcmlzZS1DQTAe Fw0yMDA2MDgwNzQwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxIiMA0GCSqGSIb3DQEB .......................... 8wYIKWr2AqSKKxcBHxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3ykeRMZJk7VpQDQDLN feFI4rHZ4JOqDWttiHxxxxxxxxxxxxxxxxxxxxxxxxxxxhpXsxyjQIRvrtaCZVXz GR7Na7Ah1o+9MWenMExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGQlsQ47nZE2YgV -----END CERTIFICATE-----</certificate> </trusted_certificates>
LDAPS ayarlarının geri döndürülmediğinden emin olmak için curl GET komutunu çalıştırın:
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore/settings | xmllint --format - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <truststore_settings> <accept_all_certificates>false</accept_all_certificates> </truststore_settings>
False değerine geri dönerse, tekrar true olarak ayarlayın ve
truststore'da bir değişiklik olduğunda ayar kendisini "false" olarak ayarlayabilir.
curl PUT komutuyla yük olarak xml dosyasıyla bir curl komutu çalıştırın:
# curl -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore/settings --data-binary @truststoresettings.xml
LDAPS ayarlarını kontrol etmek için:
# 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. ECS kimlik doğrulama sağlayıcısı sayfasında IP adresi yerine FQDN ile LDAPS kullanın.
LDAPS sertifika zinciri ECS truststore'a yüklendiğinde ve accept_all_certificates bayrağı true olarak ayarlanmışsa ECS UI kimlik doğrulama sağlayıcısı sayfasına gidin ve sunucu url'sini 'nden değiştirin.
< ldap://Etki alanı denetleyicisi IP'si veya FQDN'si>
ldaps://< etki alanı denetleyicisi FQDN'sine>
: 
LDAPS protokolüne
sahip FQDNLDAPS kullanımı için bir FQDN olmalıdır.
Şu şekilde bir IP adresi yerine bir FQDN gereklidir:
"SSL sertifikalarında, sertifikanın bağlı olduğu bağlantıyla eşleşmesi için sertifikada bir Konu Alternatif Adı (SAN) olmalıdır, SAN yalnızca ECS'deki yapılandırmayla eşleşecek bir DNS adıyla sunulur."
Bu nedenle, ECS kimlik doğrulama sağlayıcısı sayfasında, sunucu URL'si iletişim kutusunda IP adresi yerine FQDN kullandığını doğrulayın.
Yani:
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com
Bağlantı nokta -ları:
LDAP için varsayılan bağlantı noktası 389'dur.
LDAPS için varsayılan bağlantı noktası 636'dır.
Varsayılan bağlantı noktası değilse URL Biçimi:
< ldap://Etki alanı denetleyicisi IP'si veya FQDN:<>bağlantı noktası> veya etki alanı denetleyicisi FQDN ldaps://>< bağlantı< noktası>
5. Etki alanı kullanıcı oturum açma işlemini test edin.
Ardından, etki alanı kullanıcıları LDAPS ile başarılı bir şekilde oturum açabiliyorsa LDAPS protokolü kullanılırken etki alanı kullanıcı oturum açma işlemi sırasında test edin.
Bu nedenle, ECS-LDAPS protokol bağlantısı çalışıyor.
Diğer bilgiler:
Gerekirse:
Bir sertifikayı truststore'dan kaldırmak için bunun yerine kaldırılacak sertifikayla eşleşen bir xml dosyası oluşturun.
"add" Yük olarak şunu kullanın: "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>
Yük dosyasını kullanmak, yani eklemek veya kaldırmak için şu komutu kullanın:
# 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
Yükün başarılı olup olmadığını kontrol etmek için şu komutu çalıştırın:
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore | xmllint --format - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <trusted_certificates/>
LDAPS sunucusunun sağlanan sertifikayla eşleşmediğinden emin değilseniz eşleşen bir sertifika için LDAPS sunucusu isteğinden beklenen yanıtı kontrol etmek için aşağıdaki komutu çalıştırın.
"verify error:num=21:unable to verify the first certificate".
Bu örnekte LDAPS sunucusu üçüncü parti bir sertifika değil, kendinden imzalı bir sertifika olduğundan, sunucudan imzalı olduğuna dair ek bir uyarı oluşturabilir:
# sudo openssl s_client -connect LDAPS_server_IP:636 < /dev/null
CONNECTED(00000003)
depth=0 CN =
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN =
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
........
---
Server certificate
-----BEGIN CERTIFICATE-----
.......
A cert that it expects.
.......
-----END CERTIFICATE-----
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:ECDSA+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1
Peer signing digest: SHA1
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2223 bytes and written 487 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
.......................
SRP username: None
Start Time: 1610452553
Timeout : 300 (sec)
Verify return code: 21 (unable to verify the first certificate)
---
DONE
LDAPS sunucusuna bağlanan sertifika dosyasını kontrol edin ve kullanılacak sertifika eşleşiyorsa Verify return code ifadesine bakın: 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)
---
Bunu kontrol etmek için şu komutu kullanın:
# 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
Komutlar örneğinin JSON sürümü.
Yukarıdaki XML komutlarını kullanmıyorsanız (XML'in tercih edileceğine dikkat edin):
curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings
curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}
JSON yüküne sahip curl komutu kullanarak truststore ayarlarını değiştirmek üzere bir JSON dosyası oluşturmak için:
# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}
python üzerindeki json.tool modülü bir JSON dosya biçimini doğrulayabilir. Dosyanın bir JSON dosyası olmayabileceğine dair bir hata varsa. Bu örnekte hata yoktur ve dosyanın çıktısını biçimlendirilmiş bir JSON dosyası olması için verir:
# python -m json.tool truststoresettings.json
{
"accept_all_certificates": "true"
}
curl PUT komutuyla yük olarak JSON dosyasıyla bir curl komutu çalıştırın:
# 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 yükü PUT, curl komutunda --data-binary kullanırken, JSON yükü PUT kullanır
-d curl komutunda:
--data-binary
(HTTP) Bu, verileri ekstra işleme gerek kalmadan tam olarak belirtildiği şekilde gönderir:--data-ascii aka -d
(HTTP) Bu, şunun için bir takma addır: -d, --data'dir.
Güncelleştirildiğini denetlemek için curl GET komutunu çalıştırın:
# 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}
Etki alanı kullanıcısının ECS kullanıcı arayüzünde oturum açma bilgilerini, LDAPS sertifikalarına izin verilerek test edin.
Truststore'u incelemek için:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore
Boş LDAP sertifikası güven deposu örneği:
# 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":[]}
\n ve \r\n ile değiştirilen yeni satır karakterlerine sahip tek satırlık bir dosya olan curl add komutunun JSON biçimi:
{"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-----"]}
"Özel LDAP sertifikası ekleme" ECS Yönetim Rehberi'ne bakın. Aşağıdakileri eklemek veya kaldırmak için bu komutu kullanın:
# 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
Karşıya yüklemeyi kontrol etmek için:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.xxx.21:4443/vdc/truststore
{"certificate":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}
LDAPS ayarlarının geri döndürülmediğinden emin olmak için curl GET komutunu çalıştırın:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}
False değerine geri dönerse, tekrar true olarak ayarlayın. Truststore'da bir değişiklik olduğunda ayar kendisini "false" olarak ayarlayabilir.
curl PUT komutuyla yük olarak JSON dosyasıyla bir curl komutu çalıştırın:
# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings -d @truststoresettings.json
LDAPS ayarlarını kontrol etmek için:
# 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}
Bir sertifikayı truststore'dan kaldırmak için kaldırılacak sertifikayla eşleşen bir JSON dosyası oluşturun ancak yük olarak "add" yerine şunu kullanın: "remove":
# cat cert.json
{"remove":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}
Eklemek veya kaldırmak için şu komutu kullanın:
# 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
Karşıya yüklemeyi kontrol etmek için:
# 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":[]}