帕洛阿尔托网络如何识别没有解密的 HTTPS 应用程序
Resolution
详细
帕洛阿尔托网络防火墙可以识别在 SSL/TLS 或 HTTPS 上使用 HTTP 而不执行解密的应用程序。在 SSL 加密会话期间, 防火墙接收服务器 "hello 数据包", 其中具有证书详细信息, 或者服务器可以发送单独的证书数据包。防火墙查找从服务器接收的 x 509 数字证书, 并检查 SSL 握手协议中的 "公用名称" 字段。
例如, 如果用户访问https://www.linkedin.com, 服务器证书中的公用名称已 www.linkedin.com, 并且防火墙将应用程序标识为 "linkedin 基础". 请参阅下面的 Wireshark 代码段, 注意粗体的项目:
哈哈 时间源目标协议长度目标端口信息
581 2014-07-09 04:49:11.642886 216.52.242.80 10.66.24.90 TLSv1 94 服务器您好, 证书, 服务器您好完成
安全套接字层
TLSv1 记录层: 握手协议: 多个握手消息
内容类型: 握手 (22)
版本: TLS 1.0 (0x0301)
长度: 2955
握手协议: 服务器您好
握手类型: 服务器您好 (2)
长度:70
版本: TLS 1.0 (0x0301)
随机
gmt_unix_time: 2014年7月8日23:49:11.000000000 中央夏时制时间
random_bytes: 435006774d041fcc1c8a9f609e36263e393c774208d11a0c..。
会话 ID 长度:32
会话 ID: c8cb87d3951e03919c5144d2eec8a6ee296ff0a0060becd7..。
密码套件: TLS_RSA_WITH_RC4_128_MD5 (0x0004)
压缩方法: 空 (0)
握手协议: 证书
握手类型: 证书 (11)
长度: 2873
证书长度: 2870
证书 (2870 个字节)
证书长度: 1693
证书 (id 为 commonName = www, id 为 organizationName = linkedin 公司, id 在-localityName = 山看法, id 在 stateOrProvinceName = 加利福尼亚, id 在-countryName = 美国)
signedCertificate
版本: v3 (2)
序列号: 0x0c4f4df5ea1b98e01d8aafa51e205da2
签名 (shaWithRSAEncryption)
发行人: rdnSequence (0)
有效性
主题: rdnSequence (0)
rdnSequence: 5 项 (commonName 号 = www, id 为 organizationName = linkedin 公司, id 在 localityName = 山景, id 在 stateOrProvinceName = 加利福尼亚, id 在 countryName = 美国)
RDNSequence 项目: 1 项目 (id 在-countryName = 美国)
RDNSequence 项目: 1 项目 (id 在-stateOrProvinceName = 加利福尼亚)
RDNSequence 项目: 1 项目 (id 在-localityName = 山看法)
RDNSequence 项目: 1 项目 (id 在-organizationName = LinkedIn 公司)
RDNSequence 项目: 1 项目 (id 在 commonName = www. com)
RelativeDistinguishedName 项目 (id 为 commonName = www. com)
编号: 2.5.4.3 (commonName 号)
DirectoryString: printableString (1)
printableString: www.linkedin.com
subjectPublicKeyInfo
分机: 9 项
algorithmIdentifier (shaWithRSAEncryption)
填料: 0
已加密: 5d7d0a416cbfdde19ba0525a84eb866d0b9f14214e3e5d61..。
证书长度: 1171
证书 (id 为 commonName = DigiCert 安全服务器 CA, id 为 organizationName = DigiCert 公司, id 在 countryName = 美国)
握手协议: 服务器您好完成
注意:如果公用名称包括 google.com 等通配符, 则该应用程序被标识为 SSL. 因此, 服务器证书中的公用名称必须是完整的主机域格式, 或者等于要访问的 web 地址的名称 (如 www.linkedin.com)。
例如, 如果用户访问https://www.youtube.com, 服务器证书中的公用名称有 *. google.com, 防火墙将应用程序标识为 "ssl". 请参阅下面的 Wireshark 代码段, 以粗体记下项目:
哈哈 时间源目标协议长度目标端口信息
55 2014-07-09 05:15:23.727751 74.125.227.129 10.66.24.90 TLSv1.2 1065 证书
安全套接字层
TLSv1.2 记录层: 握手协议: 证书
内容类型: 握手 (22)
版本: TLS 1.2 (0x0303)
长度: 3614
握手协议: 证书
握手类型: 证书 (11)
长度: 3610
证书长度: 3607
证书 (3607 个字节)
证书长度: 1669
证书 (id 为 commonName = *. com, id 在-organizationName = google 公司, id 在-localityName = 山看法, id 在-stateOrProvinceName = 加利福尼亚, id 在-countryName = 美国)
signedCertificate
版本: v3 (2)
序列号:-854736928
签名 (shaWithRSAEncryption)
发行人: rdnSequence (0)
有效性
主题: rdnSequence (0)
rdnSequence: 5 项 (commonName 的 id = *. com, id 为 organizationName = 谷歌公司, id 在 localityName = 山景, id 在 stateOrProvinceName = 加利福尼亚, id 在 countryName = 美国)
RDNSequence 项目: 1 项目 (id 在-countryName = 美国)
RDNSequence 项目: 1 项目 (id 在-stateOrProvinceName = 加利福尼亚)
RDNSequence 项目: 1 项目 (id 在-localityName = 山看法)
RDNSequence 项目: 1 项目 (id 在-organizationName = Google 公司)
RDNSequence 项目: 1 项目 (id 在 commonName = *. com)
RelativeDistinguishedName 项目 (id 在-commonName = *. com)
编号: 2.5.4.3 (commonName 号)
DirectoryString: uTF8String (4)
uTF8String: * google.com
subjectPublicKeyInfo
分机: 9 项
algorithmIdentifier (shaWithRSAEncryption)
填料: 0
已加密: 205567f13b2171e5a24dd3898a40d02d512aacee651922e5..。
证书长度: 1032
证书 (id 为 commonName = 谷歌互联网权威 G2,id-at-organizationName=Google 公司, id 在-countryName = 美国)
证书 (id 为 commonName = GeoTrust 全球 CA, id 为 organizationName = GeoTrust 公司, id 在 countryName = 美国)
安全套接字层
所有者: gchandrasekaran