如何设置证书的TLS协议版本?

更新时间:
复制 MD 格式

TLS协议版本包括TLS v1.0(已禁用)、TLS v1.1、TLS v1.2TLS v1.3。TLS协议版本越高,HTTPS通信的安全性越高,但高版本TLS协议对浏览器的兼容性较差。本文介绍如何在阿里云产品或自建Web服务器上设置TLS协议版本,以平衡安全性与兼容性。

证书部署在阿里云产品

证书部署在以下阿里云产品时,可通过控制台设置TLS协议版本。以下为简要操作步骤,完整操作请单击对应文档链接查看详情。

DDoS高防

操作步骤

  1. 登录DDoS高防控制台

  2. 在顶部菜单栏左上角处,根据DDoS高防产品选择地域。

    • DDoS高防(中国内地):选择中国内地地域。

    • DDoS高防(非中国内地):选择非中国内地地域。

  3. 在左侧导航栏,选择接入管理 > 域名接入

  4. 域名接入页面定位到目标域名,在操作列下单击编辑

  5. 编辑网站页签,修改国际标准HTTPS证书的TLS安全策略。更多说明,请参见自定义服务器HTTPS证书的TLS安全策略

Web应用防火墙

操作步骤

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,单击接入管理

  3. CNAME接入页签,在接入列表上方,单击默认SSL/TLS设置

  4. 默认SSL/TLS设置对话框,设置WAF中默认TLS协议版本,完成如下配置后,单击确定

    配置项

    说明

    HTTPS证书上传方式

    上传SSL证书。具体操作与域名证书上传方式相同,请参见上传证书

    TLS协议版本

    选择要启用的TLS协议版本。可选项:

    • 支持TLS1.0及以上版本,兼容性最高,安全性较低(默认)

    • 支持TLS1.1及以上版本,兼容性较好,安全性较好

    • 支持TLS1.2及以上版本,兼容性较好,安全性最高

    如果要启用TLS 1.3协议,选中开启支持TLS1.3

    加密套件

    选择要启用的加密套件。可选项:

    • 全部加密套件,兼容性较高,安全性较低(默认)

    • 协议版本的自定义加密套件、请谨慎选择,避免影响业务

      关于支持自定义的加密套件,请参见WAF支持的加密套件

更多内容,请参见通过CNAME接入为网站开启WAF防护

SLB 负载均衡

操作步骤

性能保障型负载均衡实例在创建和配置HTTPS监听时,支持选择TLS安全策略。在添加或配置HTTPS监听时,可在SSL证书引导页,单击高级配置后面的修改,在展开项中选择TLS安全策略。下面以传统型负载均衡CLB为例介绍如何设置TLS协议版本。

说明

负载均衡SLB产品家族包括应用型负载均衡ALB(Application Load Balancer)、网络型负载均衡NLB(Network Load Balancer)和传统型负载均衡CLB(Classic Load Balancer),可根据实际需求选择合适的负载均衡产品。

  1. 登录 传统型负载均衡CLB控制台

  2. 在顶部菜单栏处,选择实例所属的地域。

  3. 实例管理页面,找到目标实例,在操作列单击监听配置向导

  4. 协议&监听引导页,将配置项中的选择监听协议选择为HTTPS选项。完成其他参数配置后单击下一步。如何配置其他参数,请参见添加HTTPS监听

  5. SSL证书配置向导,选择已上传的服务器证书,或者在选择服务器证书时单击新建服务器证书上传一个服务器证书。证书相关信息,请参见CLB证书管理

  6. 单击高级配置后面的编辑,选择TLS安全策略

    说明
    • 仅性能保障型实例支持选择使用的TLS安全策略。

    • TLS安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件,具体说明,请参见TLS安全策略

  7. 完成后续其他配置向导页面的配置后,单击下一步。其他配置向导的详细操作,请参见CLB实例添加HTTPS监听

更多内容,请参见添加HTTPS监听

CDN

操作步骤

执行操作前,请确保已成功配置HTTPS证书,操作方法请参见配置HTTPS证书

说明

默认开启TLSv1.0、TLSv1.1、TLSv1.2TLSv1.3版本。

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,找到目标域名,单击操作列的管理

  4. 在指定域名的左侧导航栏,单击HTTPS配置

  5. TLS加密套件与协议版本配置区域,根据需要选择加密套件和开启对应的TLS版本。

    例如,将 TLSv1.0TLSv1.1 设置为未开启,将 TLSv1.2TLSv1.3 设置为已开启。

    支持如下加密套件,请根据需求选择:

    • 全部加密算法套件组(默认):安全性较低,兼容性较高,支持的加密算法,请参见CDN默认支持的TLS加密算法

    • 强加密算法套件:安全性较高,兼容性较低,支持的加密算法:

      • TLS_AES_256_GCM_SHA384

      • TLS_AES_128_GCM_SHA256

      • TLS_CHACHA20_POLY1305_SHA256

      • ECDHE-ECDSA-CHACHA20-POLY1305

      • ECDHE-RSA-CHACHA20-POLY1305

      • ECDHE-ECDSA-AES128-GCM-SHA256

      • ECDHE-RSA-AES128-GCM-SHA256

      • ECDHE-ECDSA-AES128-CCM8

      • ECDHE-ECDSA-AES128-CCM

      • ECDHE-ECDSA-AES256-GCM-SHA384

      • ECDHE-RSA-AES256-GCM-SHA384

      • ECDHE-ECDSA-AES256-CCM8

      • ECDHE-ECDSA-AES256-CCM

      • ECDHE-ECDSA-ARIA256-GCM-SHA384

      • ECDHE-ARIA256-GCM-SHA384

      • ECDHE-ECDSA-ARIA128-GCM-SHA256

      • ECDHE-ARIA128-GCM-SHA256

    • 自定义加密算法套件:请根据需要选择加密套件。

    TLS协议版本说明请参见背景信息

更多内容,请参见配置TLS版本与加密套件

DCDN

操作步骤

执行操作前,请确保已成功配置HTTPS证书,操作方法请参见配置HTTPS证书

说明

默认开启TLSv1.0、TLSv1.1、TLSv1.2TLSv1.3版本。

  1. 登录DCDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,单击目标域名对应的配置

  4. 在指定域名的左侧导航栏,单击HTTPS配置

  5. TLS加密套件与协议版本配置区域,根据需要选择加密套件和开启对应的TLS版本。

    默认情况下,TLSv1.0TLSv1.1TLSv1.2TLSv1.3 已开启。单击修改配置可进行调整。

    支持如下加密套件,请根据需求选择:

    • 全部加密算法套件组(默认):安全性较低,兼容性较高,支持的加密算法,请参见DCDN默认支持的TLS加密算法

    • 强加密算法套件:安全性较高,兼容性较低,支持的加密算法:

      • TLS_AES_256_GCM_SHA384

      • TLS_AES_128_GCM_SHA256

      • TLS_CHACHA20_POLY1305_SHA256

      • ECDHE-ECDSA-CHACHA20-POLY1305

      • ECDHE-RSA-CHACHA20-POLY1305

      • ECDHE-ECDSA-AES128-GCM-SHA256

      • ECDHE-RSA-AES128-GCM-SHA256

      • ECDHE-ECDSA-AES128-CCM8

      • ECDHE-ECDSA-AES128-CCM

      • ECDHE-ECDSA-AES256-GCM-SHA384

      • ECDHE-RSA-AES256-GCM-SHA384

      • ECDHE-ECDSA-AES256-CCM8

      • ECDHE-ECDSA-AES256-CCM

      • ECDHE-ECDSA-ARIA256-GCM-SHA384

      • ECDHE-ARIA256-GCM-SHA384

      • ECDHE-ECDSA-ARIA128-GCM-SHA256

      • ECDHE-ARIA128-GCM-SHA256

    • 自定义加密算法套件:请根据需要选择加密套件。

更多内容,请参见配置TLS版本控制

说明

配置过程中如有疑问,请咨询对应产品的商务经理。

证书部署在自建Web服务器

证书部署在自建Web服务器时,需修改服务器配置文件中的ssl_protocols参数,以启用或禁用特定的TLS协议版本。例如,仅支持TLS v1.1TLS v1.2时,将ssl_protocols配置为TLSv1.1 TLSv1.2;需要启用TLS v1.3时,将ssl_protocols配置为TLSv1.1 TLSv1.2 TLSv1.3

下面以Nginx为例,介绍如何修改Nginx支持的TLS协议版本。

打开Nginx配置文件

Nginx配置文件通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/目录下的某个.conf文件中。使用以下命令打开配置文件:

sudo nano /etc/nginx/nginx.conf

如果使用独立的站点配置文件,路径可能如下:

sudo nano /etc/nginx/sites-available/default

修改server块中的SSL设置

找到与HTTPS相关的server块,添加或修改ssl_protocols行来指定支持的TLS协议版本。以下示例启用TLS 1.2TLS 1.3版本。请确保客户端支持已配置的TLS协议版本,否则可能出现连接失败。

server {
    listen 443 ssl;
    server_name yourdomain.com;
    # SSL证书和密钥路径
    ssl_certificate /path/to/your_certificate.crt;
    ssl_certificate_key /path/to/your_private.key;
    # 设置支持的SSL/TLS协议版本
    ssl_protocols TLSv1.2 TLSv1.3;
    # 可选:设置更安全的加密套件
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

重启Nginx服务

保存更改后,执行以下命令重启Nginx服务使配置生效:

sudo systemctl reload nginx

或使用:

sudo service nginx restart

完成以上步骤后,Nginx服务器的TLS协议版本即修改成功。

验证TLS协议版本是否设置成功

  1. 运行以下命令测试服务器的TLS配置(将your_ip替换为实际IP地址):

    sudo openssl s_client -connect your_ip:443
  2. 观察输出中的协议版本和证书信息,确认TLS配置已生效。如果输出中显示预期的TLS协议版本信息,则表示设置成功。

    Post-Handshake New Session Ticket arrived:
    SSL-Session:
        Protocol  : TLSv1.3
        Cipher    : xxx
        Session-ID: xxx
        Session-ID-ctx:
        Resumption PSK: xxx
        PSK identity: None
        PSK identity hint: None
        SRP username: None
        TLS session ticket lifetime hint: 7200 (seconds)
        TLS session ticket:
说明

随着安全标准的演进,建议定期审查和更新加密配置,以确保网站安全。