如何创建 SSL 通信使用 SNI 字段的自定义应用程序

如何创建 SSL 通信使用 SNI 字段的自定义应用程序

71759
Created On 09/25/18 19:43 PM - Last Modified 01/31/24 11:46 AM


Resolution


 

这篇文章讨论了泛 OS 可以如何利用 SNI (服务器名称征兆) 字段来创建一个自定义的应用程序。

 

什么是 SNI (服务器名称指示)


SNI 是 SSL/TLS 协议的扩展, 指示客户端试图连接的主机名。
SNI 在 TLS 握手中插入请求的主机名 (网站地址) (浏览器将其作为 "客户端 Hello" 的一部分发送), 使服务器能够确定向浏览器显示的最合适的 SSL 证书.

 

 

何时使用 SNI 来创建自定义应用程序


在 SNI 领域一致的情况下,它能可靠地用于标识应用程序。

一个自定义的应用程序可以定义和用于控制而不需要 SSL 解密 SSL 通信。

 

 


创建一个自定义的应用程序的示例

 

下面的示例演示如何为 YouTube 创建自定义应用程序 (SNI 字段被视为www.youtube.com ) (仅作为示例).

 

分析交通的一致性 SNI 场的客户您好:

 

Snip20160118_28.png


导航到对象 > 应用 > 添加。


1。定义应用程序的常规属性:

 

youtube sni. png

 

 

 

2。定义的端口和协议为 TCP 和 443 分别,因为 SSL 用于通信的 TCP 协议和端口 443。


根据需要定义其他超时设置:

 

Snip20160117_24.png

 

 

3。应用程序定义的最后一个最重要的部分是选择上下文作为 "ssl-请求-客户端-hello", 并定义在
客户端 hello SNI 字段中看到的所需模式:

 

Snip20160117_25.png

Snip20160117_26.png

 

 

注意:

 

  • 我们建议在创建应用程序签名,以确保可靠性的自定义应用程序之前彻底分析交通。
  • 它是可能为相同的 web 服务,在不同的场合使用不同 SNIs,因此所有可能性必须都考虑这一点。
  • SNI 字段使用客户端试图连接到服务器的主机名,因此从客户端请求中的任何变化可能停止匹配自定义应用程序。

 



Actions
  • Print
  • Copy Link

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

Choose Language