文档首页/ Web应用防火墙 WAF/ 最佳实践/ 源站安全配置/ 使用WAF提升客户端访问域名的通道安全
更新时间:2024-10-28 GMT+08:00

使用WAF提升客户端访问域名的通道安全

应用场景

HTTPS协议是由TLS(Transport Layer Security,传输层安全性协议)+HTTP协议构建的可进行加密传输、身份认证的网络协议。当域名接入WAF时,如果客户端采用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版本。
  • 加密套件

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

资源与成本规划

表1 资源和成本规划

资源

资源说明

每月费用

Web应用防火墙

云模式-标准版:

  • 计费模式:包年/包月
  • 域名数量:10个防护域名(最多支持1个一级域名)
  • QPS配额:2,000QPS业务请求
  • 支持带宽峰值:云内100Mbps/云外30Mbps

具体的计费方式及标准请参考计费说明

支持配置的最低TLS版本说明

WAF默认配置的最低TLS版本为“TLS v1.0”,为了确保网站安全,建议您根据业务实际需求进行配置,支持配置的最低TLS版本如表2所示。

表2 支持配置的最低TLS版本说明

场景

最低TLS版本(推荐)

防护效果

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

TLS v1.2

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

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

TLS v1.1

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

客户端APP无安全性要求,可以正常访问网站

TLS v1.0

所有的TLS协议都可以访问网站。

支持配置的加密套件说明

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

表3 加密套件说明

加密套件名称

支持的加密算法

不支持的加密算法

说明

默认加密套件

说明:

WAF默认给网站配置的是“加密套件1”,但是如果请求信息不携带sni信息,WAF就会选择缺省的“默认加密套件”

  • 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
  • 3DES
  • DSS
  • EXP
  • CAMELLIA

推荐配置。

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

加密套件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多种算法。

加密套件4

  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES256-SHA384
  • AES256-SHA256
  • RC4
  • 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

仅支持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协议为例,加密套件的浏览器及客户端兼容性说明如表4所示。

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

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

浏览器/客户端

默认加密套件

加密套件1

加密套件2

加密套件3

加密套件4

加密套件5

加密套件6

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最低版本和加密套件

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

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

    图1 修改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”

    图2 “TLS配置”对话框

  8. 单击“确认”,TLS配置完成。

效果验证

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

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

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

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

  2. 获取WAF的接入IP。

    • 云模式

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

      ping CNAME值

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

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

    openssl s_client -connect WAF接入IP -servername "防护域名" -tls1_2

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

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

    openssl s_client -connect WAF接入IP -servername "防护域名" -tls1_1

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