访问特定站点失败并出现解密错误“TLS握手失败。 从服务器收到致命警报 HandshakeFailure”

访问特定站点失败并出现解密错误“TLS握手失败。 从服务器收到致命警报 HandshakeFailure”

69471
Created On 04/14/22 09:05 AM - Last Modified 05/15/23 09:16 AM


Symptom


  • A 流量受限时无法访问特定网站SSL解密。
  • 如果通过绕过,则可以访问同一站点SSL解密。
  • 除了“无法访问此站点”外,没有特定的浏览器错误消息
  • 解密日志显示“TLS握手失败。 从服务器收到致命警报握手失败”。

 


Environment


  • Prisma Access 和SSL解密启用。
  • 地层NGFW运行或以上SSL解密启用。
  • PAN-OS 10.0。


Cause


  • 当服务器不支持特定的密码套件或TLSClient Hello 数据包中发送的参数。
  • 帕洛阿尔托SSL解密密码控制是通过SSL转发代理解密配置文件。 浏览器发送的客户端问候被修改,只有解密配置文件中启用的密码被发送到服务器。
  • 在少数情况下,某些服务器可能仅支持较旧的密码类型,并且如果它们未在SSL转发proxy解密配置文件,服务器会拒绝导致这种情况的Client Hello,并生成log”从服务器收到致命警报 HandshakeFailure

 


Resolution


  1. 从工作中识别服务器支持的密码套件TLS握手捕获。 (参考抓包KB)
  2. 在SSL转发代理解密配置文件(GUI :对象>解密>解密配置文件>(名称)>SSH解密 >SSL协议设置)
  3. 或者,为特定的创建不解密规则URL绕过它SSL解密如果公司policy不允许它启用旧密码参数。
笔记:有关如何识别缺失参数的详细信息,请参阅附加部分。


Additional Information


隔离和识别问题的步骤:

  • 执行捕获Prisma Access或地层NGFW找到握手失败的详细信息。 (注:- 对于Prisma Access捕获只能由TAC)
  • 捕获显示TLS服务器端握手失败。
TLS 来自 Wireshark 捕获的握手失败消息
  • 在处于工作状态的客户端机器上执行数据包捕获。
  • 这可以通过从客户端绕过客户端来完成NGFW/Prisma Access路径或绕过URL从解密。
  • 检查数据包的 Server Hello 部分并记下服务器选择的密码套件。
  • 此信息可用于检查是否启用了服务器接受的密码套件中的所有参数SSL转发代理解密配置文件并找到丢失的参数。
服务器问候数据包选择的密码套件
 
  • 现在,再次分析之前的捕获以查看 Client Hello。 检查密码套装列表不是包括服务器接受的密码套件。
发送的密码套件列表firewall带有客户端问候包
 
  • 可以清楚地看到服务器支持和接受的密码套件没有作为客户端问候的一部分发送,因此握手失败是预料之中的。
  • 检查SSL转发代理解密配置文件关联的解密规则看SHA1认证算法是否勾选。
GUI:对象>解密>解密配置文件>(名称)>SSH解密 >SSL协议设置
SSL 解密配置文件 SSl 协议设置
 
  • 这就是原因,密码套件 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 期间未发送SSL解密。
  • 在此转发代理解密配置文件中启用 SHA1 将解决此处的问题。
  • 可以应用相同的步骤来识别未启用的任何其他参数SSL转发代理解密配置文件并导致问题TLS握手。
  • 参考SSL转发代理解密配置文件供参考SSL转发代理解密配置文件

参考类似文章:如何确定根本原因SSL解密失败



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u0000004O6CCAU&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language