Using WAF to Improve Connection Security
Application Scenarios
HTTPS is a network protocol constructed based on Transport Layer Security (TLS) and HTTP for encrypted transmission and identity authentication. When you add a domain name to WAF, set Client Protocol to HTTPS. Then, you can configure the minimum TLS version and cipher suite to harden website security. The details are as follows:
- Minimum TLS version
The minimum TLS version that can be used by a client to access the website. After you configure the minimum TLS version, only the requests over the connections secured with the minimum TLS version or the later version can access your website. This helps you meet security requirements for industrial websites.
- Up to now, three TLS versions (TLS v1.0, TLS v1.1, and TLS v1.2) have been released, among which TLS v1.0 and TLS v1.1 have been released for a long time. Some encryption algorithms (such as SHA1 and RC4) used by TLS v1.0 and TLS v1.1 are vulnerable to attacks. TLS v1.0 and TLS v1.1 cannot meet the geometric growth of data transmission encryption requirements, which might bring potential security risks. To secure the communication and meet the Payment Card Industry Data Security Standard (PCI DSS), PCI Security Standards Council (PCI SSC) stated that it no longer accepted TLS v1.0 as of June 30, 2018. Vendors of mainstream browsers, such as Mozilla Firefox, Apple Safari, Google Chrome, and Microsoft Edge, also declared that they would stop supporting TLS v1.0 and TLS v1.1 by 2020.
- You can query the TLS version supported by the website through other tools.
- Cipher suites
A cipher suite is a set of algorithms that help secure a network connection through TLS. A more secure cipher suite can better secure the confidentiality and data integrity of websites.
Resource and Cost Planning
Resource |
Description |
Monthly Fee |
---|---|---|
Web Application Firewall |
Cloud - Standard edition
|
For details about pricing rules, see Billing Description. |
Minimum TLS Versions Supported
The default minimum TLS version configured in WAF is TLS v1.0. To better secure your website, configure an appropriate TLS version. Table 2 lists the minimum TLS versions supported for different scenarios.
Scenario |
Minimum TLS Version (Recommended) |
Protection Effect |
---|---|---|
Websites that handle critical business data, such as sites used in banking, finance, securities, and e-commerce. |
TLS v1.2 |
WAF automatically blocks website access requests that use TLS v1.0 or TLS v1.1. |
Websites with basic security requirements, for example, small- and medium-sized enterprise websites. |
TLS v1.1 |
WAF automatically blocks website access requests that use TLS v1.0. |
Client applications with no special security requirements |
TLS v1.0 |
Requests using any TLS protocols can access the website. |
Cipher Suites Supported
The default cipher suite in WAF is Cipher suite 1. Cipher suite 1 offers a good mix of browser compatibility and security. For details about each cipher suite, see Table 3.
Cipher Suite Name |
Cryptographic Algorithm Supported |
Cryptographic Algorithm Not Supported |
Description |
---|---|---|---|
Default cipher suite
NOTE:
By default, Cipher suite 1 is configured for websites. However, if the request does not carry the server name indication (SNI), WAF uses the Default cipher suite. |
|
|
|
Cipher suite 1 |
|
|
Recommended configuration. |
Cipher suite 2 |
|
- |
|
Cipher suite 3 |
|
|
|
Cipher suite 4 |
|
|
|
Cipher suite 5 |
|
|
Supported algorithms: RSA-AES-CBC only |
Cipher suite 6 |
|
- |
|
The cipher suites provided by WAF are compatible with the latest browsers and clients, but are incompatible with some browsers of earlier versions. Compatible browsers or clients of a certain cipher suite may vary depending on the TLS version configured. Using TLS v1.0 as an example, Table 4 describes the browser and client compatibility.
It is recommended that compatibility tests should be carried out on the service environment to ensure service stability.
Browser/Client |
Default Cipher Suite |
Cipher Suite 1 |
Cipher Suite 2 |
Cipher Suite 3 |
Cipher Suite 4 |
Cipher suite 5 |
Cipher suite 6 |
---|---|---|---|---|---|---|---|
Google Chrome 63 /macOS High Sierra 10.13.2 |
Not compatible |
Compatible |
Compatible |
Compatible |
Not compatible |
Compatible |
√ |
Google Chrome 49/ Windows XP SP3 |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Compatible |
Compatible |
Internet Explorer 6 /Windows XP |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Internet Explorer 8 /Windows XP |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Safari 6/iOS 6.0.1 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Compatible |
Compatible |
Safari 7/iOS 7.1 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Compatible |
Compatible |
Safari 7/OS X 10.9 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Compatible |
Compatible |
Safari 8/iOS 8.4 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Compatible |
Compatible |
Safari 8/OS X 10.10 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Compatible |
Compatible |
Internet Explorer 7/Windows Vista |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Not compatible |
√ |
Internet Explorer 8, 9, or 10 /Windows 7 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Not compatible |
√ |
Internet Explorer 10 /Windows Phone 8.0 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Not compatible |
√ |
Java 7u25 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Not compatible |
√ |
OpenSSL 0.9.8y |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Not compatible |
Safari 5.1.9/OS X 10.6.8 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Not compatible |
√ |
Safari 6.0.4/OS X 10.8.4 |
Compatible |
Compatible |
Not compatible |
Compatible |
Compatible |
Not compatible |
√ |
Configuring the Minimum TLS Version and Cipher Suite
The following describes how to configure TLS v1.2 and cipher suite 1 as the minimum TLS version and how to verify that the configuration takes effect.
- Log in to the management console.
- Click in the upper left corner of the management console and select a region or project.
- Choose Security > Web Application Firewall to go to the Dashboard page.
- In the navigation pane on the left, choose Website Settings.
- In the Domain Name column, click the website domain name to go to the basic information page.
- Click in the TLS Configuration row.
Figure 1 TLS configuration modification
WAF allows you to enable PCI DSS and PCI 3-Domain Secure (3DS) compliance certification checks with just a few clicks. After they are enabled, WAF will configure the minimum TLS version in accordance with the PCI DSS and PCI 3DS compliance certification requirements.
- If you enable the PCI DSS certification check:
- The minimum TLS version and cypher suite are automatically set to TLS v1.2 and EECDH+AESGCM:EDH+AESGCM, respectively, and cannot be changed.
- To change the minimum TLS version and cipher suite, disable the check.
- If you enable the PCI 3DS certification check:
- The minimum TLS version is automatically set to TLS v1.2 and cannot be changed.
- The check cannot be disabled.
- If you enable the PCI DSS certification check:
- In the displayed TLS Configuration dialog box, select TLS v1.2 as the minimum TLS version and Cipher suite 1.
Figure 2 TLS Configuration
- Click Confirm.
Verification
If the Minimum TLS Version is set to TLS v1.2, verify that the website can be accessed over connections secured by TLS v1.2 or later but cannot be accessed over connections secured by TLS v1.1 or earlier.
You can run commands on the local PC to check whether the TLS is configured successfully. Before the verification, ensure that OpenSSL has been installed on your local PC.
- Copy the CNAME record of the protected domain name and use the CNAME record to obtain WAF access IP addresses.
- Log in to the management console.
- Click in the upper left corner of the management console and select a region or project.
- Choose Security > Web Application Firewall to go to the Dashboard page.
- In the navigation pane on the left, choose Website Settings.
- In the Domain Name column, click the domain name of the website to go to the basic information page.
- In the CNAME row, click to copy the CNAME record.
Figure 3 Copying the CNAME record
- Obtain the WAF access IP addresses.
- Cloud mode
In the command line interface (CLI) of Windows OSs, run the following command to obtain WAF access IP addresses:
ping CNAME record
The command output displays WAF access IP addresses. Figure 4 shows an example. - Dedicated mode
- In the navigation pane on the left, choose Instances Management > Dedicated Engine to go to the dedicated WAF instance page.
- In the IP Address column, obtain the subnet IP addresses of all dedicated WAF instances. Those subnet IP addresses are access IP addresses of dedicated WAF instances.
- Cloud mode
- Run the following command to verify that the protected website can be accessed using TLS v1.2.
openssl s_client -connect WAF access IP address -servername "Domain name of the protected website" -tls1_2
If the certificate information similar to the one shown in Figure 5 is displayed, the website can be accessed using TLS v1.2. - Run the following command to verify that the protected website cannot be accessed using TLS v1.1.
openssl s_client -connect WAF access IP address -servername "Protected domain name" -tls1_1
If no certificate information is displayed, as shown in Figure 6, WAF has blocked the access that used TLS v1.1.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.