CloudflareのCDN/WAFでSSL/TLSの機能をご利用の場合、特定のホストのみ異なるTLSバージョンを選択したいというご要望があがることがあります。
これまではTLS最小バージョンや暗号スイートの設定はドメイン全体に適用されていましたが、2023年8月からこれらのTLS設定がホストごとに指定できるようになりましたので、ご紹介します。
ホストごとのTLS設定では以下の設定ができます。
またホストごとのTLS設定にはいくつか利用条件があります。
※1 Advanced Certificate Manager
https://www.cloudflare.com/ja-jp/advanced-certificate-manager/
ドメイン全体での最小TLSバージョンが1.2の環境で、特定ホストの最小TLSバージョンを1.0へ変更してみました。
curl では、以下のコマンドで設定確認と変更ができます。
特定ホストの最小TLSバージョン設定確認コマンド例:
curl --request GET --header 'X-Auth-Key:<API key>' --header "X-Auth-Email:<アカウントEmail>" --url https://api.cloudflare.com/client/v4/zones/<zoneid>/hostnames/settings/min_tls_version | jq .
特定ホストの最小TLSバージョン設定変更コマンド例:
curl --request PUT --header 'X-Auth-Key:<API key>' --header "X-Auth-Email:<アカウントEmail>" --url "https://api.cloudflare.com/client/v4/zones/<zoneid>/hostnames/settings/min_tls_version/<FQDN>" --data '{ "value": "<TLSver>"}' | jq .
設定変更が成功すると、valueが指定した値 “1.0” になり、status は"pending_deployment"と表示されます。一方、設定変更が失敗した場合にはエラーメッセージが表示されます。
特定ホストの最小TLSバージョン設定変更成功例:
設定変更後のステータス確認では、status が "active" になっていることがわかります。これで設定変更と確認は終了です。
設定変更後の確認例:
設定変更後に接続確認を行いました。設定変更前はTLS1.0では接続できませんでしたが、設定変更後には接続することができました。
curlコマンドでの接続確認(設定変更前):
curlコマンドでの接続確認(設定変更後):
同様に特定ホストの暗号スイート、およびHTTP/2 の設定が問題なく変更できることを確認しました。
暗号スイートの設定を変更する際は、1つの暗号スイートを指定する場合でも配列[]で指定する必要があります。最小TLSバージョンやHTTP/2設定とは異なりますので注意が必要です。
特定ホストの暗号スイートの設定変更コマンド例:
curl --request PUT --header 'X-Auth-Key:<API key>' --header "X-Auth-Email:<アカウントEmail>" --url "https://api.cloudflare.com/client/v4/zones/<zoneid>/hostnames/settings/ciphers/<FQDN>" --data '{ "value": ["<CipherSuite>",<CipherSuite>] }' | jq .
特定ホストのHTTP/2の設定変更コマンド例:
curl --request PUT --header 'X-Auth-Key:<API key>' --header "X-Auth-Email:<アカウントEmail>" --url "https://api.cloudflare.com/client/v4/zones/<zoneid>/hostnames/settings/http2/<FQDN>" --data '{ "value": "<http2>" }' | jq .
最小TLSバージョンの変更と同様に設定変更を実施後、valueが指定した値になり、status は"pending_deployment"と表示され、変更されたことを確認できました。
特定ホストの暗号スイート設定変更成功例:
特定ホストのHTTP/2 設定変更成功例:
今回は、ホストごとのTLS関連設定についてご紹介しました。この設定変更はGUIダッシュボードからは行えないため、気が付きにくいですがAPIで設定可能ですので是非試してみてください。
動作を試す際には、ホスト単位でTLS設定を変更するAPIドキュメントやデフォルトでサポートされている暗号スイートもご確認ください。
執筆者:
三井情報株式会社
ソリューション技術グループ ソリューション第二技術本部 次世代基盤技術部 第二技術室