暗号スイートのカスタマイズ
Advanced Certificate Manager または Cloudflare for SaaS 内で、Cloudflare とクライアント(訪問者のブラウザなど)との接続を特定の cipher suites に制限することができます。
特定の recommendations に従ったり、弱い暗号スイートを無効にしたり、業界標準に準拠するため にこれを行いたい場合があります。
暗号スイートをカスタマイズしても、SSL/TLS 保護にダウンタイムは発生しません。
カスタム暗号スイートはホスト名レベルの設定であり、以下を意味します:
- zone の暗号スイートをカスタマイズすると、そのゾーン内のすべてのホスト名に影響します。
- 設定は、certificate type(ユニバーサル、アドバンスド、またはカスタム)に関係なく、ホスト名に接続するために使用されるすべてのエッジ証明書に適用されます。
- ホスト名ごとの暗号スイートのカスタマイズが必要な場合は、証明書にホスト名が指定されていることを確認する必要があります。
現在、API を使用している場合にのみ暗号スイートをカスタマイズできます:
- Zone(URI パスで設定名に
ciphersを使用) - Per-hostname(通常のゾーンのみ)
- Custom hostname(Cloudflare for SaaS ゾーンのみ)
Cloudflare は、どの設定を適用するかを決定するために hostname priority logic を使用します。
ECDSA 暗号スイートは RSA よりも優先され、Cloudflare は指定された暗号スイートを設定された順序で保持します。これは、ECDSA と RSA の両方が使用されている場合、Cloudflare が最初に設定された順序で ECDSA 暗号を提示し、その後に RSA 暗号を提示することを意味します。
以下に注意してください:
- 暗号スイートは、他の SSL/TLS settings と組み合わせて使用されます。
- 特定の TLS 1.3 暗号を設定することはできません。代わりに、ゾーン全体で TLS 1.3 を有効にすると、Cloudflare はすべての適用可能な TLS 1.3 cipher suites を使用します。
- 各暗号スイートは特定のアルゴリズム(RSA または ECDSA)をサポートしているため、暗号の選択を行う際には、エッジ証明書で使用されているアルゴリズムを考慮する必要があります。この情報は、SSL/TLS > Edge Certificates ↗ にリストされている各証明書の下にあります。
- Cloudflare Pages ホスト名の最小 TLS バージョンや暗号スイートを構成することはできません。
-
指定したい暗号スイートと無効にしたい暗号スイート(選択に含まれないことを意味します)を決定します。
以下に、推奨される暗号のサンプルを security level および compliance standards に基づいて示しますが、full list のサポートされている暗号を参照して、選択をカスタマイズすることもできます。
-
Cloudflare ダッシュボードにログインし、My Profile > API Tokens ↗ でグローバル API キーを取得します。
-
暗号スイートを指定したいドメインの Overview page ↗ からゾーン ID を取得します。
-
Edit zone setting エンドポイントまたは Edit TLS setting for hostname エンドポイントに API コールを行い、URL に
ciphersを指定します。選択した暗号スイートの配列をvalueフィールドにリストします。
Make the following API call with the appropriate {zone_id}, <EMAIL>, and <API_KEY>.
If you choose to use a token, you will not need an email nor an API key. You will instead replace the X-Auth-Email and X-Auth-Key headers by --header "Authorization: Bearer <API_TOKEN>" \.
# ホスト名ごとに暗号スイートを構成するには、最初の2行を以下のように置き換えます# curl --request PUT \# "https://api.cloudflare.com/client/v4/zones/{zone_id}/hostnames/settings/ciphers/{hostname}" \
curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/settings/ciphers" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{"value": ["ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-CHACHA20-POLY1305", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-GCM-SHA384"]}'Make the following API call with the appropriate {zone_id}, <EMAIL>, and <API_KEY>.
If you choose to use a token, you will not need an email nor an API key. You will instead replace the X-Auth-Email and X-Auth-Key headers by --header "Authorization: Bearer <API_TOKEN>" \.
# ホスト名ごとに暗号スイートを構成するには、最初の2行を以下のように置き換えます# curl --request PUT \# "https://api.cloudflare.com/client/v4/zones/{zone_id}/hostnames/settings/ciphers/{hostname}" \
curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/settings/ciphers" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{"value": ["ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-CHACHA20-POLY1305", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-GCM-SHA384", "ECDHE-ECDSA-AES128-SHA256", "ECDHE-RSA-AES128-SHA256", "ECDHE-ECDSA-AES256-SHA384", "ECDHE-RSA-AES256-SHA384"]}'Make the following API call with the appropriate {zone_id}, <EMAIL>, and <API_KEY>.
If you choose to use a token, you will not need an email nor an API key. You will instead replace the X-Auth-Email and X-Auth-Key headers by --header "Authorization: Bearer <API_TOKEN>" \.
# ホスト名ごとに暗号スイートを構成するには、最初の2行を以下のように置き換えます# curl --request PUT \# "https://api.cloudflare.com/client/v4/zones/{zone_id}/hostnames/settings/ciphers/{hostname}" \
curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/settings/ciphers" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{"value": ["ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-GCM-SHA384", "ECDHE-ECDSA-CHACHA20-POLY1305", "ECDHE-RSA-CHACHA20-POLY1305"]}'Make the following API call with the appropriate {zone_id}, <EMAIL>, and <API_KEY>.
If you choose to use a token, you will not need an email nor an API key. You will instead replace the X-Auth-Email and X-Auth-Key headers by --header "Authorization: Bearer <API_TOKEN>" \.
# ホスト名ごとに暗号スイートを構成するには、最初の2行を以下のように置き換えます# curl --request PUT \# "https://api.cloudflare.com/client/v4/zones/{zone_id}/hostnames/settings/ciphers/{hostname}" \
curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/settings/ciphers" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{"value":["AES128-GCM-SHA256", "AES128-SHA", "AES128-SHA256", "AES256-SHA", "AES256-SHA256", "DES-CBC3-SHA", "ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-ECDSA-AES128-SHA", "ECDHE-ECDSA-AES128-SHA256", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-ECDSA-AES256-SHA384", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-AES128-SHA", "ECDHE-RSA-AES128-SHA256", "ECDHE-RSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-SHA", "ECDHE-RSA-AES256-SHA384"]}'ゾーンレベルでデフォルトの暗号スイートにリセットするには、Edit zone setting エンドポイントを使用し、URL で設定名に ciphers を指定し、value フィールドに空の配列を送信します。
curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/settings/ciphers" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{"value": []}'特定のホスト名の設定については、Delete TLS setting for hostname エンドポイントを使用します。
curl --request DELETE \"https://api.cloudflare.com/client/v4/zones/{zone_id}/hostnames/settings/ciphers/{hostname}" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header 'Content-Type: application/json' \カスタムホスト名に関するガイダンスについては、TLS settings - Cloudflare for SaaS を参照してください。