【公测】TLS检查

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

隐藏在HTTPS等加密流量中的高级攻击因无法解密难以被检测,云防火墙的TLS检查功能可防护出向加密流量,通过私有根CA替换TLS证书,实现解密流量获得IPS防护能力和私有证书加密安全通讯的双重需求。

为什么需要TLS检查

HTTPS等加密协议已经成为互联网中常用的通讯协议,但因其请求载荷均为密文,云防火墙IPS引擎无法知晓其内容,也就无法分析流量进行防护。

TLS检查可配置检查策略,防护指定出向流量,通过指定的私有证书,在客户端和云防火墙之间替换其原有的TLS证书。

云防火墙获得服务端证书后可解密流量,使得IPS引擎得以检测和防护高级攻击和敏感数据泄露等风险。

功能限制

  • TLS检查功能当前为公测阶段,不代表最终上线形态,如有问题和建议请通过工单或商务经理与我们联系。

  • TLS检查功能当前只支持云防火墙包年包月版。

  • 当前版本只支持上海Region

  • TLS检查功能当前只支持TLS 1.0、1.1、1.2版本,TLS 1.3版本未开启ECH(Encrypted Client Hello)的可以正常转发流量但不支持解密防护。

    警告

    早期SSL版本开启ECHTLS 1.3版本不支持TLS检查,会导致流量不通。

  • TCP请求(如基于UDPQUIC协议)仅支持转发,不支持TLS检查功能。

  • 开启TLS检查后,TCP MTR(My Traceroute)无法正常探测源站链路。

  • 不支持双向TLS(Mutual TLS Authentication,简称mTLS),仅支持单向TLS(即客户端验证服务端)的场景。

  • TLS SNI(Server Name Identifier)必须与配置的证书匹配,才支持TLS检查。

功能入口

登录云防火墙控制台在左侧导航栏,选择防护配置 > TLS检查,进入TLS检查功能页面。

操作步骤

完整的TLS检查配置可分为TLS检测策略配置TLS证书安装开启检查和查询流量日志等三个步骤。

TLS检测策略配置

TLS检查功能页列表上方单击创建TLS检查策略按钮,右侧弹出创建TLS检查策略抽屉窗口。

  1. 创建策略。

    配置项

    操作图

    策略名称:TLS检查策略名称,长度2-256个字节,且不能包括!@#$%^&*()+=~`{}[]|\/:'"<>?;等特殊符号,首尾不能包含空格。

    image

    关联TLS证书:选择一个已经创建好的证书。

    image

    说明
    • 首次创建策略时,证书选择下拉框下会显示申请试用证书,点击可自动创建测试证书,以快速体验TLS检查功能。

      试用证书只能试用一次,生产环境使用时建议购买并启用私有的证书。

    • 目前仅支持PCA证书,限制如下:

      • PCA证书用途请选择企业对内使用。

      • 不支持国密算法证书。

      • RSA私钥算法长度需要大于等于2048。

      • ECC私钥算法请选择256。

    • 如没有可选择证书,可单击购买证书直接跳转至证书管理控制台进行购买,注意PCA证书用途请选择企业对内使用,有关证书的详细信息,请参见PCA证书管理

    证书有效期:选择证书后会显示证书有效期,且在有效期少于一年时会强提醒。建议定时检查证书,确保有效期在一年以上。

    描述:策略描述,长度0-256个字符且不能包括!@#$%^&*()+=~`{}[]|\/:'"<>?;等特殊字符,首尾不能包含空格。

    此项非必填可以为空。

    填写所有配置项后单击下一步可进入配置检查范围步骤,注意此步骤完成后策略已经创建并保存。

  2. 配置检查范围。

    重要
    • 所有检查范围规格上限数为20000。

    • 单条TLS检查策略占用规格数:该条策略中所有检查范围所占规格之和。

    • 单条检查范围占用规格数 = 源IP个数 * 源端口段个数 * 目的IP个数 * 目的端口段个数。

    配置和操作项

    操作图

    协议类型:需要检测的加密流量协议。

    目前仅支持TCP协议。

    image

    IP:需要检查的出向流量主机的IP,单击选择按钮可在弹出对话框中选择对应资产。

    说明

    目前支持的资产类型:ECS EIPECS 公网IPNAT EIPEIPENI EIP

    image

    如上图所示,已经配置检查策略的资产不能被选中,资产可以多选,最多选择1000个。

    选中需要检查的资产单击确定即可。

    源端口:选中资产的检查端口,格式为开始端口/结束端口,端口取值0-65535,多个端口范围之间用英文逗号分割,最多支持100个范围对象。

    说明
    • 所有端口均以范围形式表示,即使只有一个端口。比如:8080/8080,表示仅检查8080端口。

    • 检查所有端口请使用0/65535

    目的IP:源IP资产访问目的服务的IP。

    说明
    • 需使用标准掩码格式的IPv4地址或地址段,如:192.0.2.0/24,8.8.8.8/32

    • 可输入多个IP地址段,每个IP地址对象用英文逗号隔开, 最多可以支持100IP对象。

    • 如需表示所有地址,请使用0.0.0.0/0

    目的端口:源IP资产访问目的服务的端口,格式为开始端口/结束端口,端口取值范围0-65535。多个端口范围之间用英文逗号分割,最多支持100个范围对象。

    说明
    • 所有端口均以范围形式表示,即使只有一个端口。比如:8080/8080,表示仅检查8080端口。

    • 检查所有端口请使用0/65535

    描述:检查范围描述,长度0-256个字节且不能包括!@#$%^&*()+=~`{}[]|\/:'"<>?;等特殊字符,首尾不能包含空格。

    此项非必填可以为空。

    检查范围操作:

    • 保存:单击加密流量检查范围折叠框下方的保存按钮,可直接保存检查范围,不需要点击下一步。保存成功后,折叠框右上方会提示已保存

    • 增加:单击增加一组检查范围,可新增检查范围,一条策略中最多增加10组检查范围。

    • 删除:单击加密流量检查范围折叠框右上角的image,确认后可删除当前检查范围。删除与保存相同,确认后直接删除,不需要点击下一步,请谨慎操作数据。

    填写所有配置项后单击下一步完成策略配置。

  3. 检查策略信息。

    策略配置完成后会显示配置的策略和检查范围的详细信息。

    信息中展示的策略ID会展示在日志中。

    image

TLS证书安装

创建TLS检查策略后需要将关联的证书安装到对应检查的资产主机上。

重要

如果检查资产为NAT EIP类型,则所有通过该公网NAT网关访问互联网的所有云服务器ECS都需要安装证书,否则可能会造成流量中断。

  1. 下载证书。

    image

    TLS检查策略配置列表中,找到创建好的策略,在右侧操作列中单击证书下载,将证书下载到本地并解压得到证书文件(.crt后缀)。

  2. 登录选择的源IP主机。

    登录创建加密流量检查范围时选择的IP主机。并将证书上传至主机任意目录。

  3. 安装证书。

    切换到证书上传的目录,将证书拷贝到对应系统的信任目录,并执行更新命令,不同操作系统步骤如下:

    说明
    • 如果TLS策略中关联了子CA证书,需要根CA和子CA同时安装。

    • 以下示例只是针对信任目录为系统信任目录的场景,如果业务的证书信任目录是其他的场景,需要根据实际情况安装到信任库中。

    Ubuntu

    1. 拷贝证书文件:cp <证书文件名> /usr/local/share/ca-certificates/

    2. 更新证书:sudo update-ca-certificates

    3. 查看更新后的证书:cat /etc/ssl/certs/ca-certificates.crt

      出现证书内容即代表证书安装成功。

      image

    CentOS/Alibaba Cloud Linux/Anolis/Redhat

    1. 拷贝证书文件:cp <证书文件名> /etc/pki/ca-trust/source/anchors/

    2. 更新证书:sudo update-ca-trust

    3. 查看更新后的证书:cat /etc/ssl/certs/ca-bundle.crt

      出现证书内容即代表证书安装成功。

      image

    SUSE

    1. 拷贝证书文件:cp <证书文件名> /etc/pki/trust/anchors

    2. 更新证书:sudo c_rehash .

    3. 查看更新后的证书:sudo trust list --filter=ca-anchors |grep -C 2 <证书CN>

      出现证书信息即代表证书安装成功。

      image

    Fedora /Fedora CoreOS

    1. 拷贝证书文件:sudo cp <证书文件名> /etc/pki/ca-trust/source/anchors/

    2. 更新证书:sudo update-ca-trust extract

    3. 查看更新后的证书:sudo trust list --filter=ca-anchors |grep -C 2 <证书CN>

      出现证书信息即代表证书安装成功。

      image

    Windows

    重要
    • 对于引用的是子CA(中间CA)的场景,Window原生的证书管理器安装的时候,不会将一个文件中包含多个CA证书链的内容一次性安装,只会安装第一个CA内容。对于此种场景,需要手动将每个CA内容(-----BEGIN CERTIFICATE----- 块)拆分成多个文件,然后逐个安装。

    • 拆分证书,将下载解压后的证书文件使用文本编辑器打开,将证书中的-----BEGIN CERTIFICATE-----~-----END CERTIFICATE-----块内容,剪切到新建文件中,并将文件更名为.crt结尾即可。

      image

      拆分后:image

    1. 安装证书:右键单击证书文件,在弹出菜单中单击安装证书,按下列步骤安装:

      1

      2

      3

      image

      image

      image

      完成上述步骤后点击下一步完成证书导入。

    2. 查看证书:cmd命令行中输入certmgr.msc打开证书管理器。

      image

浏览器信任数据库

某些浏览器(例如Firefox)不使用系统的 CA 信任库,而是维护自己的证书信任数据库,即使通过update-ca-certificates更新了系统证书,浏览器仍可能提示证书不受信任。此种情况可参照以下步骤将证书导入至浏览器的信任数据库中。

说明

LinuxWindows中这类浏览器的证书导入操作没有差别。

1

2

image

image

开启检查和查询流量日志

  1. 开启策略检查。

    重要

    开启TLS检查时,新建连接约1分钟后开始生效保护,存量长连接不会生效且不会保护。

    对已开启保护且开启TLS检查的EIP,当关闭TLS检查时,长连接会中断,中断时间取决于业务重连时长。

    image

    TLS检查功能页可以查看已经创建成功的策略列表,单击启用状态开关即可启用TLS检查策略。开启后云防火墙可根据配置检测出向流量的加密内容。

    说明

    策略只有未启用状态才能删除。

  2. 查询流量日志。

    检查主机产生流量后,云防火墙控制台在左侧导航栏,选择日志分析 > 日志分析

    流量日志 > 互联网边界防火墙页签可查询到对应主机产生的流量,其中包含了命中的TLS检查策略和范围。

    日志中会显示策略和检查范围的ID。

    image