TLS安全策略

更新时间:
复制为 MD 格式

ALB配置HTTPS监听时,TLS安全策略决定了ALB与客户端进行TLS协商时支持的TLS协议版本和加密算法套件。ALB预置了部分常用的系统默认策略供用户直接选择。对于有定制安全策略的特定需求场景,可以使用自定义TLS安全策略。

工作原理

TLS安全策略配置在ALB侧,用于定义其在TLS协商中支持的TLS协议版本和加密算法套件。在握手过程中,客户端通过Client Hello发送支持的协议版本和加密套件列表,ALB根据策略从列表中选择双方都支持的协议版本和加密套件组合并以Server Hello响应,后续步骤(如密钥交换、会话密钥生成)均基于此方案进行。

系统默认策略

各类信息安全标准可能对ALBTLS安全策略提出要求,用户可展开下表查看系统默认策略支持的TLS协议版本和加密算法套件,并按需配置。如系统默认策略无法满足需求,可创建自定义策略

策略详情

策略名称

tls_cipher_policy_1_0

tls_cipher_policy_1_1

tls_cipher_policy_1_2

tls_cipher_policy_1_2_strict

tls_cipher_policy_1_2_strict_with_1_3

tls_cipher_policy_1_0_to_1_3

TLS协议版本

v1.0

支持

不支持

不支持

不支持

不支持

支持

v1.1

支持

支持

不支持

不支持

不支持

支持

v1.2

支持

支持

支持

支持

支持

支持

v1.3

不支持

不支持

不支持

不支持

支持

支持

加密算法套件

ECDHE-ECDSA-AES128-GCM-SHA256

支持

支持

支持

支持

支持

支持

ECDHE-ECDSA-AES256-GCM-SHA384

支持

支持

支持

支持

支持

支持

ECDHE-ECDSA-AES128-SHA256

支持

支持

支持

支持

支持

不支持

ECDHE-ECDSA-AES256-SHA384

支持

支持

支持

支持

支持

不支持

ECDHE-RSA-AES128-GCM-SHA256

支持

支持

支持

支持

支持

支持

ECDHE-RSA-AES256-GCM-SHA384

支持

支持

支持

支持

支持

支持

ECDHE-RSA-AES128-SHA256

支持

支持

支持

支持

支持

不支持

ECDHE-RSA-AES256-SHA384

支持

支持

支持

支持

支持

不支持

AES128-GCM-SHA256

支持

支持

支持

不支持

不支持

不支持

AES256-GCM-SHA384

支持

支持

支持

不支持

不支持

不支持

AES128-SHA256

支持

支持

支持

不支持

不支持

不支持

AES256-SHA256

支持

支持

支持

不支持

不支持

不支持

ECDHE-ECDSA-AES128-SHA

支持

支持

支持

支持

支持

不支持

ECDHE-ECDSA-AES256-SHA

支持

支持

支持

支持

支持

不支持

ECDHE-RSA-AES128-SHA

支持

支持

支持

支持

支持

不支持

ECDHE-RSA-AES256-SHA

支持

支持

支持

支持

支持

不支持

AES128-SHA

支持

支持

支持

不支持

不支持

不支持

AES256-SHA

支持

支持

支持

不支持

不支持

不支持

DES-CBC3-SHA

支持

支持

支持

不支持

不支持

不支持

TLS_AES_128_GCM_SHA256

不支持

不支持

不支持

不支持

支持

支持

TLS_AES_256_GCM_SHA384

不支持

不支持

不支持

不支持

支持

支持

TLS_CHACHA20_POLY1305_SHA256

不支持

不支持

不支持

不支持

支持

支持

TLS_AES_128_CCM_SHA256

不支持

不支持

不支持

不支持

支持

支持

TLS_AES_128_CCM_8_SHA256

不支持

不支持

不支持

不支持

支持

支持

ECDHE-ECDSA-CHACHA20-POLY1305

不支持

不支持

不支持

不支持

不支持

不支持

ECDHE-RSA-CHACHA20-POLY1305

不支持

不支持

不支持

不支持

不支持

不支持

  • 扩展版ALB实例仅支持tls_cipher_policy_1_0_to_1_3,且其他版本实例不支持该策略。

  • 对于面向公网且无特殊兼容性要求的应用,建议使用 tls_cipher_policy_1_2 及以上策略。

控制台

前往ALB控制台的TLS安全策略页面,在系统默认策略页签查看策略的详细信息。

API

调用ListSystemSecurityPolicies接口查询系统默认策略。

自定义策略

仅标准版和WAF增强版ALB实例支持自定义策略;基础版和扩展版ALB实例不支持。

创建自定义策略

控制台

  1. 前往ALB控制台的TLS安全策略页面,选择ALB实例所在地域。

  2. 单击创建自定义策略,参考以下信息进行配置,配置完成后单击创建

    • 选择最低版本:如业务无特殊兼容性要求,建议选择TLS 1.2及以上保障安全性。

    • 启用TLS 1.3版本:为保障网络通信的安全性与效率,建议在业务兼容的前提下启用。

    • 选择加密算法套件:需要与TLS协议版本匹配。

  3. 创建完成后,即可在为监听配置TLS安全策略中选择该自定义策略。

API

调用CreateSecurityPolicy创建自定义策略。注意自定义策略的地域必须与ALB实例的地域保持一致。

如需使用国密证书实现HTTPS加密通信,请在创建自定义策略时选择国密加密套件(ECC-SM2-WITH-SM4-SM3),详见ALB配置国密HTTPS实现安全通信

更新自定义策略的TLS协议版本和加密算法套件

控制台

  1. 前往ALB控制台的TLS安全策略页面,选择自定义策略的地域。

  2. 找到目标自定义策略,单击操作列的编辑,在编辑TLS安全策略对话框更新TLS协议版本和加密算法套件。

API

调用UpdateSecurityPolicyAttribute更新自定义策略属性。

复制自定义策略到其他地域

控制台

  1. 前往ALB控制台的TLS安全策略页面,选择自定义策略的地域。

  2. 找到目标自定义策略,单击操作列的复制到其他地域,选择目标地域并确定

API

调用ListSecurityPolicies获取自定义策略的TLSVersionsCiphers等参数,在调用CreateSecurityPolicy创建自定义策略时传入。

删除自定义策略

若自定义策略已被监听使用,请先修改监听的TLS安全策略或删除监听,方可删除自定义策略。

控制台

  1. 前往ALB控制台的TLS安全策略页面,选择自定义策略的地域。

  2. 找到目标自定义策略,单击操作列的删除确定

API

调用DeleteSecurityPolicy删除自定义策略。

为监听配置TLS安全策略

扩展版ALB实例暂时仅支持选择系统默认策略tls_cipher_policy_1_0_to_1_3

控制台

  • 创建HTTPS监听时,在配置SSL证书页签选择TLS安全策略快速创建HTTPS监听时,在快速创建监听对话框中选择TLS安全策略

  • 修改TLS安全策略:在实例详情页的监听页签,单击目标HTTPS监听ID进入监听详情页,在SSL证书区域修改TLS安全策略

API

调用CreateListener创建HTTPS监听或调用UpdateListenerAttribute更新HTTPS监听配置时,SecurityPolicyId字段传入TLS安全策略。

计费说明

TLS安全策略不产生费用,但您需要为ALB实例本身付费

应用于生产环境

  • 后端流量安全:为确保端到端安全,建议将ALB和后端服务器部署在同一 VPC 内,并通过安全组等策略严格限制访问。

  • TLS协议版本:如应用无特殊兼容性要求,建议使用TLS 1.2TLS 1.3保障安全性。

  • 变更回滚:调整TLS安全策略后,若出现异常,可立即通过修改监听配置回滚。建议在业务低峰期进行变更。

TLS加密算法套件名称对照表

下表提供了各加密算法套件在OpenSSL格式、IANA标准格式和十六进制之间的对照关系。

对照表详情

OpenSSL格式

IANA标准格式

十六进制

ECDHE-ECDSA-AES128-GCM-SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

0xC02B

ECDHE-ECDSA-AES256-GCM-SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

0xC02C

ECDHE-ECDSA-AES128-SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

0xC023

ECDHE-ECDSA-AES256-SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

0xC024

ECDHE-RSA-AES128-GCM-SHA256

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

0xC02F

ECDHE-RSA-AES256-GCM-SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

0xC030

ECDHE-RSA-AES128-SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

0xC027

ECDHE-RSA-AES256-SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

0xC028

AES128-GCM-SHA256

TLS_RSA_WITH_AES_128_GCM_SHA256

0x009C

AES256-GCM-SHA384

TLS_RSA_WITH_AES_256_GCM_SHA384

0x009D

AES128-SHA256

TLS_RSA_WITH_AES_128_CBC_SHA256

0x003C

AES256-SHA256

TLS_RSA_WITH_AES_256_CBC_SHA256

0x003D

ECDHE-ECDSA-AES128-SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

0xC009

ECDHE-ECDSA-AES256-SHA

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

0xC00A

ECDHE-RSA-AES128-SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

0xC013

ECDHE-RSA-AES256-SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

0xC014

AES128-SHA

TLS_RSA_WITH_AES_128_CBC_SHA

0x002F

AES256-SHA

TLS_RSA_WITH_AES_256_CBC_SHA

0x0035

DES-CBC3-SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA

0x000A

TLS_AES_256_GCM_SHA384

TLS_AES_256_GCM_SHA384

0x1302

TLS_CHACHA20_POLY1305_SHA256

TLS_CHACHA20_POLY1305_SHA256

0x1303

TLS_AES_128_CCM_SHA256

TLS_AES_128_CCM_SHA256

0x1304

TLS_AES_128_CCM_8_SHA256

TLS_AES_128_CCM_8_SHA256

0x1305