新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级

发布时间:2026/7/8 2:09:13
新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级 功能简介v4.0.0 为 gt-checksum 和 repairDB 同时新增了 SSL/TLS 加密连接支持。通过 8 个新增配置参数源端和目标端可以独立配置各自的 SSL 证书和加密模式。参数说明gt-checksum 参数源端 目标端参数名可选值默认值说明srcSslCa文件路径空源端 CA 证书文件路径srcSslCert文件路径空源端客户端证书文件路径srcSslKey文件路径空源端客户端密钥文件路径srcSslMode见下表PREFERRED源端 SSL 模式dstSslCa文件路径空目标端 CA 证书文件路径dstSslCert文件路径空目标端客户端证书文件路径dstSslKey文件路径空目标端客户端密钥文件路径dstSslMode见下表PREFERRED目标端 SSL 模式repairDB 参数仅目标端参数名说明dstSslCa目标端 CA 证书文件路径dstSslCert目标端客户端证书文件路径dstSslKey目标端客户端密钥文件路径dstSslMode目标端 SSL 模式为什么 repairDB 只有目标端参数repairDB 是修复工具只连接目标端数据库执行修复 SQL不需要源端连接因此只需配置目标端 SSL 参数。SSL 模式说明模式说明需要 CA 证书DISABLED禁用 SSL不加密连接否PREFERRED优先使用 SSL服务端不支持时回退到非加密连接否REQUIRED必须使用 SSL 加密但不验证服务端证书否VERIFY_CA验证服务端 CA 证书链是VERIFY_IDENTITY验证 CA 证书链和服务端身份主机名是使用方式非常简单在配置文件gc.conf中添加几行即可; 最小配置仅要求加密不验证证书srcSslModeREQUIREDdstSslModeREQUIRED二、功能作用及使用场景深入解读2.1 为什么需要 SSL 加密连接在数据校验和修复场景中gt-checksum 需要从源端和目标端大量读取数据进行比对。如果连接未加密数据在传输过程中存在被窃听或篡改的风险。场景一跨机房/跨云校验源端和目标端分别部署在不同云平台校验流量经过公网传输。如果没有 SSL 加密数据包可以被中间节点抓取和分析。场景二安全合规要求金融、医疗、政务等行业对数据传输有严格的加密要求。数据库审计系统可能要求所有数据库连接必须使用加密通道即使是只读查询也不例外。场景三共享网络环境在 Kubernetes 集群或共享 VPC 中不同租户的流量可能共享物理网络。虽然有网络隔离但深度防御Defense in Depth原则要求在传输层也做加密保护。场景四修复 SQL 中的敏感数据repairDB 执行的修复 SQL 可能包含用户个人信息、交易记录等敏感数据。这些 SQL 文本通过明文连接传输时等同于将敏感数据直接暴露在网络上。2.2 五种 SSL 模式从只加密到全面验证gt-checksum 提供了五种 SSL 模式覆盖从最低安全要求到最高安全级别的全部场景DISABLED——明确禁用srcSslModeDISABLED显式禁用 SSL。适用于已经在网络层面做了加密如 VPN、专线或者在完全可信的内网环境中使用。PREFERRED——自适应模式默认值srcSslModePREFERRED优先尝试 SSL 连接如果服务端不支持则回退到非加密连接。这是设置了其他 SSL 参数但未显式指定mode时的默认值。适用于过渡期场景——源端和目标端可能部分启用了 SSL。REQUIRED——强制加密srcSslModeREQUIRED强制使用 SSL 加密但不验证服务端证书。这意味着传输数据是加密的但客户端不会检查服务端证书是否由可信 CA 签发。适用于内部环境需要加密但不担心中间人攻击的场景。VERIFY_CA——验证证书链srcSslCa/path/to/ca.pemsrcSslModeVERIFY_CA验证服务端证书是否由指定的 CA 签发。需要提供 CA 证书文件srcSslCa或dstSslCa。这是生产环境推荐的最低安全级别。VERIFY_IDENTITY——全面验证srcSslCa/path/to/ca.pemsrcSslModeVERIFY_IDENTITY