-
Notifications
You must be signed in to change notification settings - Fork 10.4k
[SSL] Cipher suites - add UI steps and clarify SaaS availability #20739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
RebeccaTamachiro
merged 10 commits into
production
from
rebecca/ssl-cipher-suites-ui-and-scope
Mar 13, 2025
Merged
Changes from 8 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
4edb887
Unbundle cipher restiction on SaaS provider own zone vs CHs
RebeccaTamachiro e0d8411
Separate API steps and make customize-cipher-suites a folder
RebeccaTamachiro a67e626
Create page for UI steps and add SaaS callout as partial
RebeccaTamachiro b0b2fe4
Adjust intro to separate guides and fill in UI requirements
RebeccaTamachiro d120639
Fill in dashboard instructions and frame conditions
RebeccaTamachiro 2e96a04
Adjust recommendations page title to match UI
RebeccaTamachiro b89cd15
Use Render and Details, and link out to restrict arrays to api.mdx
RebeccaTamachiro 6634451
Optimize dashboard.mdx for docs-in-dash
RebeccaTamachiro 56a5cef
Apply suggestions from code review
RebeccaTamachiro a601eb7
Better separate different names for different selection modes
RebeccaTamachiro File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
...ificates/additional-options/cipher-suites/customize-cipher-suites/dashboard.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| --- | ||
| title: Customize cipher suites via dashboard | ||
| pcx_content_type: how-to | ||
| sidebar: | ||
| order: 1 | ||
| label: Use the dashboard | ||
| --- | ||
|
|
||
| import { Render, Details } from "~/components"; | ||
|
|
||
| <Render file="cipher-suites-definition" /> | ||
|
|
||
| When configuring cipher suites via dashboard, you can use three different selection modes: | ||
|
|
||
| - **By security level**: allows you to select between the predefined [Cloudflare recommendations](/ssl/edge-certificates/additional-options/cipher-suites/recommendations/) (Modern, Compatible, or Legacy). | ||
| - **By compliance standard**: allows you to select cipher suites grouped according to [industry standards](/ssl/edge-certificates/additional-options/cipher-suites/compliance-status/) (PCI DSS or FIPS-140-2). | ||
| - **Custom**: allows you to individually select the cipher suites you would like to support. | ||
|
|
||
| For any of the modes, you should keep in mind the following configuration conditions. If choosing by security level or compliance standard, some actions may be blocked and explained referencing these conditions. | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| <Details header="Configuration conditions"> | ||
| * Cipher suites are used in combination with other [SSL/TLS settings](/ssl/edge-certificates/additional-options/cipher-suites/#related-ssltls-settings). | ||
| * You cannot set specific TLS 1.3 ciphers. Instead, you can [enable TLS 1.3](/ssl/edge-certificates/additional-options/tls-13/#enable-tls-13) for your entire zone and Cloudflare will use all applicable [TLS 1.3 cipher suites](/ssl/edge-certificates/additional-options/cipher-suites/supported-cipher-suites/). | ||
| * Each cipher suite also supports a specific algorithm (RSA or ECDSA) so you should consider the algorithms in use by your edge certificates when making your ciphers selection. You can find this information under each certificate listed in [**SSL/TLS** > **Edge Certificates**](https://dash.cloudflare.com/?to=/:account/:zone/ssl-tls/edge-certificates). | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| * It is not possible to configure minimum TLS version nor cipher suites for [Cloudflare Pages](/pages/) hostnames. | ||
| </ Details> | ||
|
|
||
| ## Steps | ||
|
|
||
| 1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/login) and select your account and domain. | ||
| 2. Go to **SSL/TLS** > **Edge Certificates**. | ||
| 3. For the **Cipher suites** setting select **Configure**. | ||
| 4. Choose a mode to select your cipher suites and select **Next**. | ||
| 5. Select a predefined set of cipher suites or, if you opted for **Custom**, specify which cipher suites you want to allow. Make sure you are aware of how your selection will interact with Minimum TLS version, TLS 1.3, and the certificate algorithm (ECDSA or RSA). | ||
| 6. Select **Save** to confirm. | ||
49 changes: 49 additions & 0 deletions
49
...certificates/additional-options/cipher-suites/customize-cipher-suites/index.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| --- | ||
| title: Customize cipher suites | ||
| pcx_content_type: how-to | ||
| sidebar: | ||
| order: 1 | ||
| head: | ||
| - tag: title | ||
| content: Customize cipher suites | ||
|
|
||
| --- | ||
|
|
||
| import { Render, TabItem, Tabs, DirectoryListing } from "~/components"; | ||
|
|
||
| With an [Advanced Certificate Manager](/ssl/edge-certificates/advanced-certificate-manager/) subscription, you can restrict connections between Cloudflare and clients — such as your visitor's browser — to specific [cipher suites](/ssl/edge-certificates/additional-options/cipher-suites/). | ||
|
|
||
| You may want to do this to follow specific [recommendations](/ssl/edge-certificates/additional-options/cipher-suites/recommendations/), to [disable weak cipher suites](/ssl/edge-certificates/additional-options/cipher-suites/troubleshooting/#ssl-labs-weak-ciphers-report), or to comply with [industry standards](/ssl/edge-certificates/additional-options/cipher-suites/compliance-status/). | ||
|
|
||
| Customizing cipher suites will not lead to any downtime in your SSL/TLS protection. | ||
|
|
||
| :::note | ||
| This documentation only refers to connections [between clients and the Cloudflare network](/ssl/concepts/#edge-certificate). For connections between Cloudflare and your origin server, refer to [Origin server > Cipher suites](/ssl/origin-configuration/cipher-suites/). | ||
| ::: | ||
|
|
||
| ## How it works | ||
|
|
||
| Custom cipher suites is a hostname-level setting, which implies that: | ||
|
|
||
| * When you customize cipher suites for a zone, this will affect all hostnames within that zone. If you are not familiar with what a Cloudflare zone is, refer to [Fundamentals](/fundamentals/setup/accounts-and-zones/#zones). | ||
| * The configuration is applicable to all edge certificates used to connect to the hostname(s), regardless of [certificate type](/ssl/edge-certificates/) (universal, advanced, or custom). | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| * If you need to use a per-hostname cipher suite customization, you must ensure that the hostname is specified on the certificate. | ||
|
|
||
| ## Scope | ||
|
|
||
| Currently, you have the following options: | ||
|
|
||
| - Set custom cipher suites for a zone: either [via API](/ssl/edge-certificates/additional-options/cipher-suites/customize-cipher-suites/api/) or [on the dashboard](/ssl/edge-certificates/additional-options/cipher-suites/customize-cipher-suites/dashboard/). | ||
| - Set custom cipher suites per-hostname: only available [via API](/api/resources/hostnames/subresources/settings/subresources/tls/methods/update/). Refer to the [how-to](/ssl/edge-certificates/additional-options/cipher-suites/customize-cipher-suites/api/) for details. | ||
|
|
||
| ### Cloudflare for SaaS | ||
|
|
||
| If you are a SaaS provider looking to restrict cipher suites in connections to your custom hostnames, refer to [TLS settings - Cloudflare for SaaS](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/enforce-mtls/#cipher-suites). | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| To restrict cipher suites in connections to your own zone, continue on this guide. In this case, you must also have purchased [Advanced Certificate Manager](/ssl/edge-certificates/advanced-certificate-manager/). | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## Settings priority and ciphers order | ||
|
|
||
| Cloudflare uses the [hostname priority logic](/ssl/reference/certificate-and-hostname-priority/) to determine which setting to apply. | ||
|
|
||
| ECDSA cipher suites are prioritized over RSA, and Cloudflare preserves the specified cipher suites in the order they are set. This means that, if both ECDSA and RSA are used, Cloudflare presents the ECDSA ciphers first - in the order they were set - and then the RSA ciphers, also in the order they were set. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.