了解 TLS 错误

概述

当 TLS 连接失败时,Cato 可能会观察到 TLS 协议警报、X.509 证书验证错误和内部 SSL 处理错误。 此指南重点描述在可见字段中的 Cato 管理应用程序 (CMA) 事件,并解释如何解读它们,且不假设 TLS 错误是由 Cato 证书或 TLS 检查引起的。

重要信息: 在 CMA 中显示的 X.509 证书验证错误与目的地服务器证书的验证有关。 这些错误并不表示 Cato 证书存在问题。 在 TLS 错误描述字段中,TLS 协议警报可能由客户端或服务器端生成。

这些错误值是行业标准。 这些值来源于TLS 协议,Cato 使用它进行 TLS 相关的事件验证。 因此,错误的名称和描述反映了标准 OpenSSL 行为,可能并不总能精确对应于观察到的环境问题,且可能随时更改。

CMA 中可见的 TLS 字段有哪些?

CMA 字段 它代表的是什么 如何使用
TLS 错误描述 在 TLS 交换期间观察到的 TLS 协议警报,例如未知 CA、证书未知、握手失败或错误的记录 MAC。 将此用作理解协议级别原因导致 TLS 会话失败的主要字段。 警报可能来自任何一个端点。
TLS 证书错误 在验证目的地服务器证书时检测到的 X.509 证书验证问题,例如证书已过期、主机名不匹配或证书链中自签名证书。 使用此项以识别目的地服务器证书或证书链的问题。 这些错误通常位于客户端点和 Cato 证书配置之外。
TLS 错误类型 指示协议报告的 TLS 警报严重性,例如警告或严重。 仅作为语境使用。 严重警报会终止会话;警告警报则可能会终止,取决于端点行为。

如何解释客户端和服务器端警报

TLS 警报描述了一个端点在握手或记录交换期间报告的情况。 警报侧的重要性:

  • 客户端警报:客户端拒绝了它接收到的内容,或决定握手无法继续。 在 TLS 检查场景中,这可能包括客户端拒绝在检查期间呈现的证书、拒绝证书参数或因协议或密码不匹配而失败。
  • 服务器端警报:目的地服务器拒绝握手或报告客户端行为、协议参数、密码协商或记录处理的问题。
  • CMA 显示警报描述,但未显示警报侧。 可能需要支持诊断以确认哪一端发出了警报。

推荐的故障排除方法

  • 从协议警报的 TLS 错误描述字段和目的地服务器证书验证问题的 TLS 证书错误字段开始。
  • 不要假设与证书相关的 TLS 警报总是意味着 Cato 根 CA 缺失。 首先确定警报是 TLS 协议警报还是 X.509 验证错误。
  • 仅在适用于应用程序和安全策略时,比较在禁用 TLS 检查或绕过时的行为。
  • 对于持续性问题,验证目的地证书链、主机名/SAN、支持的 TLS 版本和密码套件。 数据包捕获可以帮助确认警报来自哪一端。

对于高级故障排除,请参阅TLS 检查故障排除 

常见错误和含义

下表描述了大多数常见的TLS 错误(如事件日志中的"TLS 错误描述"字段中所显示),以及它们的典型原因和一般的纠正步骤。

证书和信任相关的 TLS 警报

TLS 错误描述 典型警报侧 含义 常见原因和补救
未知的 CA 客户端 证书发行人未得到对等方的信任。 客户端可能不信任颁发呈现证书的 CA。 在 TLS 检查场景中,确认 Cato 根 CA 已安装并在端点上被信任。 还需检查是否缺少中间环节或私营 CA 信任要求。
证书未知 客户端 证书因通用或未指定原因被拒绝。 这通常是范围广泛的客户端拒绝。 检查证书有效性、密钥使用、链完整性、端点信任存储和应用程序特定的证书验证行为。 如有需要,比较禁用 TLS 检查时的情况。
错误的证书 客户端 证书未通过验证检查。 可能的原因包括错误的密钥使用、链问题、主机名不匹配、证书钉扎或应用程序拒绝了检查的证书。 修复证书信任/链问题或绕过无法检查的应用程序的 TLS 检查。
不支持的证书 客户,少见 证书使用了不支持的参数或算法。 用现代支持标准替换较弱的或不推荐的算法和密钥。

X.509 目的地服务器证书验证错误

TLS 证书错误 典型来源 含义 常见原因和补救
证书已过期 服务器证书 目的地服务器证书超过其有效期。 网站或服务所有者必须更新证书并确保正确的证书轮替。
无法获取本地发行人证书 服务器证书链 用于验证服务器证书的发行人或中介证书丢失或不受信任。 目的地服务器应提供完整的证书链。 通常由目的地服务所有者解决。
IP 地址不匹配 服务器证书身份 证书与用于连接的 IP 地址不符。 通过其 FQDN 访问服务或更新服务器证书 SAN 以适当包含 IP 地址。
主机名不匹配 服务器证书身份 证书与请求的主机名不匹配。 更正服务器证书 SAN / CN 或确保用户使用证书覆盖的主机名访问服务。
自签名证书 服务器证书信任 目的地呈现自签名证书,此默认证书不受信任。 使用公开信任或企业信任的 CA 证书,或在适当时明确信任证书。
证书链中的自签名证书 服务器证书链 自签名证书出现在服务器证书链中。 用适当信任的 CA 链替换该链,或确保验证方信任相关 CA。

协议、版本和密码警报

TLS 错误描述 典型警报侧 含义 常见原因和补救
协议版本 客户端 端点无法就支持的 TLS 版本达成一致。 升级旧客户端或服务器,并确保支持版本重叠,最好是 TLS 1.2 或 TLS 1.3。
握手失败 客户端 握手无法完成,通常因为没有可接受的参数。 检查支持的 TLS 版本、密码套件、扩展、SNI 行为和证书要求。 使客户端和服务器的 TLS 配置保持一致。
非法参数 主要是客户端;也可以是服务器端 一个端点拒绝了TLS握手参数,认为无效或不符合预期。 检查不兼容的TLS扩展、不支持的组/签名算法,或非标准客户端/服务器实现。 对于持续存在的情况,使用数据包捕获。
安全性不足 服务器端,罕见 一个端点认为协商的参数过于弱。 禁用过时的协议和弱密码。 在受影响的端点上配置现代密码套件和安全策略。

记录层和杂项TLS警报

TLS错误描述 典型警报侧 含义 常见原因和补救
坏记录MAC 客户端 TLS记录完整性检查失败。 可能是由于流量损坏、丢包率、中间设备干扰或重叠的检查/代理设备引起的。 测试路径一致性,并与没有其他拦截设备的情况进行比较。
解密错误 服务器端,罕见 TLS记录或握手值无法解密或验证。 检查协议不匹配、中间设备干扰或实现问题。 简化流量路径,并通过数据包捕获进行验证。
意外消息 客户端 收到TLS消息的顺序错误。 通常指示协议不一致、不兼容的实现或有缺陷的端点行为。 升级受影响的客户端/服务器,并在持续存在的情况下通过数据包捕获进行验证。
内部错误 客户端 在TLS堆栈中发生了一个通用的失败。 可能是暂时的或特定于实现的。 如果可以重现,请收集事件详情、端点日志和数据包捕获以进行支持分析。
未知 服务器端 观察到一个通用或未映射的TLS警报。 将其视为广泛的故障指示器。 与目的地行为、数据包捕获和服务器端日志进行关联。
解码错误 服务器端 TLS消息无法正确解码。 通常是由于TLS消息格式不正确、协议不兼容或实现缺陷造成的。 通过数据包捕获进行验证并更新受影响的TLS库或应用程序。

 

关键收获

  • 将TLS错误描述用作TLS协议警报的主要CMA字段。
  • 将TLS证书错误用于目的地服务器证书验证问题。
  • CMA中显示的X.509错误是关于目的地服务器证书,而不是Cato证书。
  • 客户端证书警报可能与端点信任、证书固定或TLS检查信任部署有关;服务器端警报通常指向目的地服务器行为或协议协商。
  • 当CMA事件不足时,以确认的支持诊断来确认警报侧。

如需进一步指导,更多信息请参考 TLS检查最佳实践 

这篇文章有帮助吗?

3 人中有 2 人觉得有帮助

0 条评论