文档首页/ Web应用防火墙 WAF/ 用户指南(巴黎)/ 最佳实践/ 通过配置TLS最低版本和加密套件提升客户端访问域名的通道安全
更新时间:2024-03-11 GMT+08:00

通过配置TLS最低版本和加密套件提升客户端访问域名的通道安全

HTTPS协议是由TLS(Transport Layer Security,传输层安全性协议)+HTTP协议构建的可进行加密传输、身份认证的网络协议。当添加防护域名时,如果客户端采用HTTPS协议请求访问服务器,即防护域名的“对外协议”配置为“HTTPS”时,您可以通过为域名配置最低TLS版本和加密套件来确保网站安全,详细说明如下:

  • 最低TLS版本

    最低TLS版本是客户端通过TLS访问网站时,被允许访问网站的最低TLS版本。配置最低TLS版本后,只有满足最低TLS版本的请求,才能正常访问网站,可以满足行业网站的安全需求。

    • 截止目前,TLS已发布了三个版本(TLS v1.0、TLS v1.1、TLS v1.2),TLS v1.0和TLS v1.1版本由于发布时间久远,某些加密算法(如SHA1、RC4算法)很容易被黑客攻击,且在性能上,TLS v1.0和TLS v1.1已经无法满足呈几何级增长的数据传输加密,存在安全隐患。同时,为了保障通信协议的安全,满足支付卡行业数据安全标准(PCI DSS),支付卡行业安全标准委员会(PCI SSC)规定,TLS v1.0安全通信协议于2018年6月30日不再生效。火狐、Safari、Chrome、Edge等主流浏览器厂商也声明将于2020年全面停止支持TLS v1.0和TLS v1.1。
    • 您可以通过查看网站TLS版本,检测网站支持的TLS版本。
  • 加密套件

    加密套件是多种加密算法的集合。配置安全性更高的加密套件,可以保障网站的保密性和数据完整性。

推荐配置的最低TLS版本说明

为了确保网站安全,建议您根据业务实际需求进行配置,推荐配置的最低TLS版本如表1所示。

表1 推荐配置的最低TLS版本说明

场景

最低TLS版本(推荐)

防护效果

网站安全性能要求很高(例如,银行金融、证券、电子商务等有重要商业信息和重要数据的行业)

TLS v1.2

WAF将自动拦截TLS v1.0和TLS v1.1协议的访问请求。

网站安全性能要求一般(例如,中小企业门户网站)

TLS v1.1

WAF将自动拦截TLS1.0协议的访问请求。

推荐配置的加密套件说明

WAF默认配置的加密套件为“加密套件1”,可以满足浏览器兼容性和安全性,各加密套件相关说明如表2所示。

加密套件配置值中,带“!”的表示不支持。例如,!MD5表示不支持MD5算法。

表2 加密套件说明

加密套件名称

加密算法

说明

默认加密套件

ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM

  • 兼容性:较好,支持的客户端较为广泛
  • 安全性:一般

加密套件1

ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH

推荐配置。

  • 兼容性:较好,支持的客户端较为广泛
  • 安全性:较高

加密套件2

EECDH+AESGCM:EDH+AESGCM

  • 兼容性:一般,严格符合PCI DSS的FS要求,较低版本浏览器可能无法访问。
  • 安全性:高

加密套件3

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH

  • 兼容性:一般,较低版本浏览器可能无法访问。
  • 安全性:高,支持ECDHE、DHE-GCM、RSA-AES-GCM,不支持CBC算法。

加密套件4

ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH

  • 兼容性:较好,支持的客户端较为广泛
  • 安全性:一般,新增支持GCM算法。

加密套件5

AES128-SHA:AES256-SHA:AES128-SHA256:AES256-SHA256:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!DHE:@STRENGTH

仅支持RSA-AES-CBC算法。

加密套件6

ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256

  • 兼容性:一般
  • 安全性:较好

WAF提供的加密套件对于高版本的浏览器及客户端都可以兼容,不能兼容部分老版本的浏览器。TLS版本不同,加密套件的浏览器或客户端兼容情况也不同。以TLS v1.0协议为例,加密套件的浏览器及客户端兼容性说明如表3所示。

建议您以实际客户端环境测试的兼容情况为准,避免影响现网业务。

表3 加密套件不兼容的浏览器/客户端参考说明(TLS v1.0)

浏览器/客户端

默认加密套件

加密套件1

加密套件2

加密套件3

加密套件4

Google Chrome 63 /macOS High Sierra 10.13.2

×

×

Google Chrome 49/ Windows XP SP3

×

×

×

×

×

Internet Explorer

6/Windows XP

×

×

×

×

×

Internet Explorer

8/Windows XP

×

×

×

×

×

Safari 6/iOS 6.0.1

×

Safari 7/iOS 7.1

×

Safari 7/OS X 10.9

×

Safari 8/iOS 8.4

×

Safari 8/OS X 10.10

×

Internet Explorer

7/Windows Vista

×

Internet Explorer

8~10/Windows 7

×

Internet Explorer

10/Windows Phone 8.0

×

Java 7u25

×

OpenSSL 0.9.8y

×

×

×

×

×

Safari 5.1.9/OS X 10.6.8

×

Safari 6.0.4/OS X 10.8.4

×

配置TLS最低版本和加密套件

以独享WAF介绍如何配置TLS最低版本为“TLS v1.2”,加密套件为“加密套件1”,以及如何验证配置效果。

  1. 登录管理控制台。
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择安全 > Web应用防火墙 (独享)
  4. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
  5. 在目标网站所在行的“域名”列中,单击目标网站,进入网站基本信息页面。
  6. “TLS配置”所在行,单击

    WAF支持一键开启PCI DSS和PCI 3DS合规认证功能,开启合规认证后,可以满足PCI DSS和PCI 3DS合规认证要求。

    • PCI DSS
      • 开启PCI DSS合规认证后,不能修改TLS最低版本和加密套件,且最低TLS版本将设置为“TLS v1.2”,加密套件设置为EECDH+AESGCM:EDH+AESGCM。
      • 开启PCI DSS合规认证后,如果您需要修改TLS最低版本和加密套件,请关闭该认证。
    • PCI 3DS
      • 开启PCI 3DS合规认证后,不能修改TLS最低版本,且最低TLS版本将设置为“TLS v1.2”
      • 开启PCI 3DS合规认证后,您将不能关闭该认证,请根据业务实际需求进行操作。

  7. 在弹出的“TLS配置”对话框中,选择最低TLS版本“TLS v1.2”“加密套件1”
  8. 单击“确认”,TLS配置完成。

效果验证

假定“最低TLS版本”配置为“TLS v1.2”,验证TLS v1.2协议可以正常访问网站,验证TLS v1.1及以下协议不能正常访问网站。

您可以在本地通过命令行方式,验证TLS是否配置成功。在验证前,请确保您本地已安装openssl

  1. 复制防护域名的CNAME值,用于获取WAF的回源IP。

    1. 登录管理控制台。
    2. 单击管理控制台左上角的,选择区域或项目。
    3. 单击页面左上方的,选择安全 > Web应用防火墙 (独享)
    4. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
    5. 在目标网站所在行的“域名”列中,单击目标网站,进入域名基本信息页面。
    6. “CNAME”信息行,单击,复制“CNAME”值。

  2. 获取WAF的回源IP。

    • 云模式

      在Windows操作系统的命令行窗口,执行以下命令,获取WAF的回源IP。

      ping CNAME值

      在界面回显信息中获取WAF回源IP,如图1所示。
      图1 ping cname
    • 独享模式
      1. 在左侧导航树中,选择系统管理 > 独享引擎,进入独享引擎实例列表页面。
      2. 在独享引擎列表的“IP地址”栏,获取所有创建的独享引擎对应的子网IP地址,即独享引擎实例对应的回源IP。

  3. 执行以下命令,验证“TLS v1.2”协议可以访问目标网站。

    openssl s_client -connect WAF回源IP -servername "防护域名" -tls1_2

    界面返回证书相关信息,如图2所示,说明“TLS v1.2”协议可以访问目标网站。
    图2 验证TLS v1.2

  4. 执行以下命令,验证“TLS v1.1”协议不能访问目标网站。

    openssl s_client -connect WAF回源IP -servername "防护域名" -tls1_1

    界面未返回证书相关信息,如图3所示,说明WAF拦截了“TLS v1.1”的访问。
    图3 验证TLS v1.1