概述
当 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检查最佳实践
0 条评论
文章评论已关闭。