From 3992309c1b34ca30da75190f5edfbb2700ddf2a5 Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Tue, 10 May 2022 16:40:34 +0800 Subject: [PATCH] tidb-configuration-file: add tls-version (#9318) --- enable-tls-between-clients-and-servers.md | 15 ++++++++++----- tidb-configuration-file.md | 8 +++++++- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/enable-tls-between-clients-and-servers.md b/enable-tls-between-clients-and-servers.md index c171a368cdcd..b56cae1dd2cc 100644 --- a/enable-tls-between-clients-and-servers.md +++ b/enable-tls-between-clients-and-servers.md @@ -7,7 +7,7 @@ aliases: ['/docs-cn/dev/enable-tls-between-clients-and-servers/','/docs-cn/dev/h TiDB 服务端与客户端之间默认采用非加密连接,因而具备监视信道流量能力的第三方可以知悉 TiDB 服务端与客户端之间发送和接受的数据,包括但不限于查询语句内容、查询结果等。若信道是不可信的,例如客户端是通过公网连接到 TiDB 服务端的,则非加密连接容易造成信息泄露,建议使用加密连接确保安全性。 -TiDB 服务端支持启用基于 TLS(传输层安全)协议的加密连接,协议与 MySQL 加密连接一致,现有 MySQL Client 如 MySQL Shell 和 MySQL 驱动等能直接支持。TLS 的前身是 SSL,因而 TLS 有时也被称为 SSL,但由于 SSL 协议有已知安全漏洞,TiDB 实际上并未支持。TiDB 支持的 TLS/SSL 协议版本为 TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3。 +TiDB 服务端支持启用基于 TLS(传输层安全)协议的加密连接,协议与 MySQL 加密连接一致,现有 MySQL Client 如 MySQL Shell 和 MySQL 驱动等能直接支持。TLS 的前身是 SSL,因而 TLS 有时也被称为 SSL,但由于 SSL 协议有已知安全漏洞,TiDB 实际上并未支持。TiDB 支持的 TLS/SSL 协议版本为 TLSv1.0、TLSv1.1、TLSv1.2 和 TLSv1.3。 使用加密连接后,连接将具有以下安全性质: @@ -38,6 +38,7 @@ TiDB 服务端支持启用基于 TLS(传输层安全)协议的加密连接 - [`ssl-cert`](/tidb-configuration-file.md#ssl-cert):指定 SSL 证书文件路径 - [`ssl-key`](/tidb-configuration-file.md#ssl-key):指定证书文件对应的私钥 - [`ssl-ca`](/tidb-configuration-file.md#ssl-ca):可选,指定受信任的 CA 证书文件路径 +- [`tls-version`](/tidb-configuration-file.md#tls-version):可选,指定最低 TLS 版本,例如 `TLSv1.2` `auto tls` 支持安全连接,但不提供客户端证书验证。有关证书验证和控制证书生成方式的说明,请参考下面配置 `ssl-cert`,`ssl-key` 和 `ssl-ca` 变量的建议: @@ -126,10 +127,14 @@ TiDB 支持的 TLS 版本及密钥交换协议和加密算法由 Golang 官方 ### 支持的 TLS 版本 -- TLS 1.0 -- TLS 1.1 -- TLS 1.2 -- TLS 1.3 +- TLSv1.0 (默认禁用) +- TLSv1.1 +- TLSv1.2 +- TLSv1.3 + +可以使用配置项 `tls-version` 来限制 TLS 版本。 + +实际可用的 TLS 版本取决于操作系统的加密策略、MySQL 客户端版本和客户端的 SSL/TLS 库。 ### 支持的密钥交换协议及加密算法 diff --git a/tidb-configuration-file.md b/tidb-configuration-file.md index 35fcaac1dde0..819938a84fdd 100644 --- a/tidb-configuration-file.md +++ b/tidb-configuration-file.md @@ -326,6 +326,12 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/ + 控制 TiDB 启动时是否自动生成 TLS 证书。 + 默认值:`false` +### `tls-version` + ++ 设置用于连接 MySQL 协议的最低 TLS 版本。 ++ 默认值:"",支持 TLSv1.1 及以上版本。 ++ 可选值:`"TLSv1.0"`、`"TLSv1.1"`、`"TLSv1.2"` 和 `"TLSv1.3"` + ## performance 性能相关配置。 @@ -732,4 +738,4 @@ experimental 部分为 TiDB 实验功能相关的配置。该部分从 v3.1.0 + 用于设置 TiDB 统计信息同步加载功能最多可以缓存多少列的请求 + 默认值:1000 -+ 目前的合法值范围: `[1, 100000]` ++ 目前的合法值范围:`[1, 100000]`