ECS:ECSでLDAPS経由で証明書を設定して受け入れる方法
Summary: ECSでLightweight Directory Access Protocol Secure (LDAPS)を介して証明書をセットアップして受け入れる方法。
Instructions
LDAPSは、Lightweight Directory Access Protocol (LDAP) over Secure Socket Layer (SSL)またはTransport Layer Security (TLS)とも呼ばれ、Active Directory (AD)またはLDAPサーバーのLDAP使用の暗号化トラフィック形式です
LDAPSは、正常に動作しているLDAP接続に依存しています。『ECS管理ガイド』とナレッジベース記事「 ECS: UIでADまたはLDAPサーバー接続を設定する方法
SSLまたはTLS通信の重要なコンポーネントは証明書です。使用されている証明書の有効期限が切れていないこと、無効であることを確認します。これは、完全な証明書チェーン内のすべての証明書が正しいために重要です。
この点については、ネットワーク チームに確認してください
LDAPS証明書チェーンをアップロードしてLDAPSを有効にするには、次の手順に注意してください
1.LDAPS証明書チェーンをアップロードするには、ノード管理IPアドレスが必須です。
2.UIルート ユーザーは、LDAPS証明書チェーンをノード管理CLIインターフェイスにアップロードする必要があります。
図3Aです。XMLペイロードのLDAPS証明書チェーンからノード管理IPアドレス
3Bへ。LDAPS有効化パラメーターは、ノード管理IPアドレス
4に対するXMLペイロードの設定です。IPアドレスの代わりに完全修飾ドメイン名(FQDN)を使用して、ECS認証プロバイダー ページでLDAPSを使用します
5.ドメイン ユーザーのログインをテストします。
ステップ3
では、次のようにIPアドレスの代わりにFQDNが必要です。
SSL証明書では、証明書には、接続先の接続と一致するサブジェクト代替名(SAN)が含まれている必要があります。SANには、ECSの構成に一致するDNS名のみが提示されます。"
そのため、ECS認証プロバイダー ページのサーバーURLダイアログ ボックスで、IPアドレスではなくFQDNが使用されていることを確認してください
例: ldaps://ad-or-ldap-fqdn-domain.com
上記の手順は次のとおりです。
- LDAPS証明書チェーンをアップロードするには、ノード管理IPアドレスが必須です。
LDAPS証明書の設定に関してECSの設定を確認するには、まず使用するノード管理IPを取得します
UI管理でネットワークが分離されている場合、「getrackinfo -n」を実行すると「MGMT」の値が表示されます。
ノードのMGMT IPアドレスを使用します。レプリケーションとデータ ネットワークの分離は、次の手順には関連していません。
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にネットワーク管理の分離がない場合は、代わりにノードのパブリックIPアドレスを使用します。
次の例では、MGMTはに存在しません。 "getrackinfo -n";そのため、パブリックIPアドレスを getrackinfo を、次の手順で管理IPアドレスとして使用します。
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証明書チェーンをノード管理CLIインターフェイスにアップロードするには、UIルート ユーザーが必要です。
取得した管理IPアドレスを使用して、rootユーザー トークンを取得します。rootユーザーのパスワードが必要です(またはUI管理者権限を持つUIユーザー)。
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>
出力が「HTTP/1.1 200 OK」でない場合は、「getrackinfo -n.」コマンドからUI管理ネットワーク分離が存在する場合は、パスワードとIPアドレスを確認します。
rootユーザー トークンを使用して、トークン変数を作成します。
# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
トークン値をテストするには、 curl 容量を確認するコマンド:
# 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です。ノード管理IPアドレス
3BへのXMLペイロードのLDAPS証明書チェーン。LDAPS有効化パラメーターの設定。XMLペイロードのLDAPSパラメーターをノード管理IPアドレスに受け入れます。
上記では、rootユーザー トークンを使用して、LDAPS証明書をアップロードできるECS UIトラストストアへのcurlアクセスを取得します。
「カスタムLDAP証明書の追加」の詳細については、『ECS管理者ガイド』を参照してください
を使用してトラストストア設定を取得します。 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>
上記の例では、トラストストア "accept_all_certificates" は false に設定されています。これは、LDAPS証明書が信頼されていないことを意味します
ザ "accept_all_certificates" 用語は曖昧かもしれませんが、LDAPS証明書を使用するかどうかを判断するためにECSで引き続き使用されるフラグです
ユーザーは、必要に応じて、これをtrueまたはfalseに設定することができます。LDAPS接続をテストするには、trueに設定してユーザーのログインをテストすることで、LDAPS接続を検証できます。
"accept_all_certificates" は false に戻ります。そのため、トラストストアを編集する場合は、 "accept_all_certificates" その後、trueに戻ります。
xmlファイルを作成し、xmlペイロードでcurlコマンドを使用してトラストストアの設定を変更します。
# 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に設定するには、ペイロード ファイルをtrueではなくfalseに編集し、ペイロード ファイルを使用してPUTコマンドを実行します
curl PUTコマンドを使用して、ペイロードとしてxmlファイルを指定してcurlコマンドを実行します。
# 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」がアップデートされたことを確認するには、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>
トラストストアの設定だけでなく、トラストストアを調べるには、次のようにします。
# curl -s -k -X GET -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://<NodeManagementIP>:4443/vdc/truststore | xmllint --format -
空の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/>
ECSには証明書チェーン全体、ルート証明書、CA証明書、ホスト証明書などが必要なため、複数の証明書が必要になる場合があります
トラストストアに証明書を追加するには、ユーザーが持っている証明書のxmlファイルを作成します。証明書には、.pem、.crt、.cerなどのファイル タイプがあります
証明書をECSにアップロードするには、xmlペイロードとして機能するxml形式である必要があります
証明書の非xml形式ファイル:
# cat cert.crt -----BEGIN CERTIFICATE----- MIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HhrV5ezjYHY= -----END CERTIFICATE-----
curl addコマンドのxml形式は次のとおりです。
# 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>
証明書ペイロードのxml形式をアップロードします。
curl -i -s -k -X PUT -H Content-Type:application/xml -H "$TOKEN" -H ACCEPT:application/xml https://10.xxx.xxx.21:4443/vdc/truststore --data-binary @cert.xml
証明書がアップロードされたことを確認するには、GETコマンドを実行します。ECSトラストストアの終了行文字は「.」です。
# 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設定が元に戻っていないことを確認するには、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>
falseに戻った場合はtrueに戻します
トラストストアに変更があった場合と同様に、設定自体が「false」に設定される場合があります
curl PUTコマンドを使用して、ペイロードとしてxmlファイルを指定してcurlコマンドを実行します。
# 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設定を確認するには、次の手順を実行します。
# 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認証プロバイダー ページで、IPアドレスの代わりにFQDNでLDAPSを使用します
LDAPS証明書チェーンをECSトラストストアにアップロードし、 accept_all_certificates フラグをtrueに設定した場合は、ECS UI認証プロバイダー ページに移動して、サーバーのURLを.
に変更します。ldap://<ドメイン コントローラーIPまたは>
To
ldaps://<Domain controller FQDN>
つまり、LDAPSプロトコルを使用する
FQDN
LDAPSを使用する場合はFQDNである必要があります。
IPアドレスの代わりにFQDNが必要です。
SSL証明書では、証明書には、接続先の接続と一致するサブジェクト代替名(SAN)が証明書に含まれている必要があります。SANには、ECSの構成に一致するDNS名のみが提示されます
したがって、ECS認証プロバイダー ページのサーバーURLダイアログ ボックスで、IPアドレスではなくFQDNが使用されていることを確認してください
つまり、
ldaps://fqdn-domain-of-the-ad-or-ldap-server.com
ポート:
LDAPのデフォルト ポートは389です。
LDAPSのデフォルト ポートは636.
ですデフォルト以外のポートの場合のURL形式:
ldap://<ドメイン コントローラーIPまたはFQDN>:<port>または ldaps://<ドメイン コントローラーFQDN>:<port>
5。ドメイン ユーザーのログインをテストします。
次に、ドメイン ユーザーがLDAPSによって正常にログインできる場合は、LDAPSプロトコルでドメイン ユーザー ログインをテストします
したがって、ECS-LDAPSプロトコル接続は機能しています
その他の情報:
必要な場合:
トラストストアから証明書を削除するには、削除する証明書と一致するが
"add" ペイロードとして、 "remove"が使用するJava Runtime Environmentへのパスを定義します。
# 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>
ペイロード ファイル(追加または削除)を使用するには、次のコマンドを使用します。
# 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
ペイロードが成功したかどうかを確認するには、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/>
LDAPSサーバーが指定された証明書と一致していないことが不明な場合は、次のコマンドを実行して、一致する証明書に対するLDAPSサーバー リクエストからの予想される応答を確認します。
"verify error:num=21:unable to verify the first certificate"の詳細を確認してください。
この例では、LDAPSサーバーはサード パーティー証明書ではなく自己署名証明書であるため、自己署名されていることを示す追加の警告が生成される場合があります。
# 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サーバーに接続している証明書ファイルを確認し、使用する一致する証明書があるかどうかを確認します。つまり、リターン コードを確認します。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)
---
これを確認するには、次のコマンドを使用します。
# 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バージョンの例.
上記のXMLコマンドを使用しない場合(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}
JSONファイルを作成し、JSONペイロードでcurlコマンドを使用してトラストストアの設定を変更するには、次の手順を実行します。
# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}
Python の json.tool モジュールでは、JSON ファイル形式を検証できます。エラーが発生した場合は、ファイルがJSONファイルではない可能性があります。この例では、エラーはなく、ファイルが出力されるため、フォーマットされたJSONファイルになります。
# python -m json.tool truststoresettings.json
{
"accept_all_certificates": "true"
}
curl PUTコマンドを使用して、ペイロードとしてJSONファイルを使用してcurlコマンドを実行します。
# 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 ペイロード PUT は curl コマンドで --data-binary を使用し、JSON ペイロード PUT は
-d curlコマンドでは、次の手順を実行します。
--data-binary
(HTTPの)これにより、追加の処理を行わずに、指定されたとおりにデータが転記されます。--data-ascii aka -d
(HTTPの)これは -d、 --data.
アップデートされていることを確認するには、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}
LDAPS証明書が許可されている状態で、ECS UIでドメイン ユーザーのログインをテストします。
トラストストアを調べるには、次の手順を実行します。
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore
空の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":[]}
curl addコマンドのJSON形式。改行文字を\nと\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-----"]}
ECS管理ガイドの「Add custom LDAP certificate」を参照してください。次のコマンドを使用して、以下を追加または削除します。
# 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
アップロードを確認するには、次のコマンドを実行します。
# 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設定が元に戻っていないことを確認するには、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}
false に戻った場合は、true に戻します。トラストストアに変更があった場合、設定自体が「false」に設定されることがあります
curl PUTコマンドを使用して、ペイロードとしてJSONファイルを使用してcurlコマンドを実行します。
# 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設定を確認するには、次の手順を実行します。
# 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}
トラストストアから証明書を削除するには、削除する証明書と一致するJSONファイルを作成しますが、ペイロードとして「追加」するのではなく、 "remove"が使用するJava Runtime Environmentへのパスを定義します。
# cat cert.json
{"remove":["-----BEGIN CERTIFICATE-----\nMIIF1DCCA7ygAwIBAgIUdK2Ao2/45jYdQP0q6Dr1/ULmnc8wDQYJKoZIhvcNAQEL\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\nHhrV5ezjYHY=\r\n---END CERTIFICATE-----"]}
追加または削除するには、次のコマンドを使用します。
# 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
アップロードを確認するには、次のコマンドを実行します。
# 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":[]}