如何实施和测试SSL解密

如何实施和测试SSL解密

806612
Created On 09/25/18 17:18 PM - Last Modified 01/18/23 20:52 PM


Symptom


概述

PAN-OS 可以解密和检查出入站SSL通过帕洛阿尔托网络的连接firewall.SSL解密可以发生在虚拟线路、第 2 层或第 3 层模式的接口上SSL规则库来配置要解密的流量。 特别地,解密可以基于URL类别、来源用户和来源/目的地IP地址。 一旦流量被解密,就可以检测和控制隧道应用程序,并且可以检查解密的数据是否存在威胁,URL过滤、文件阻止或数据过滤。 解密的流量也可以通过使用解密端口镜像从设备发送出去(见配置解密端口镜像).

 



Environment


  • 帕洛阿尔托防火墙。
  • 任何PAN-OS.
  • SSL 解密。


Cause


入境SSL解密

对于内部 Web 服务器或设备的入站流量,管理员会导入受保护服务器的证书和私钥的副本。 当。。。的时候SSL服务器证书加载在firewall和SSL解密policy为入站流量配置,设备随后解密并读取转发的流量。 数据包数据没有任何变化,安全通道是从客户端系统到内部服务器。 这firewall然后可以检测恶意内容并控制在此安全通道上运行的应用程序。

 

出站SSL解密(SSL转发代理)

在这种情况下,firewall出站代理SSL通过拦截出站连接SSL请求并为用户想要访问的站点即时生成证书。 有效期在PA-生成的证书取自真实服务器证书上的有效日期。

发证机关PA-生成的证书是帕洛阿尔托网络设备。 如果firewall的证书不是现有层次结构的一部分或未添加到客户端的浏览器缓存中,则客户端在浏览到安全网站时会收到警告。 如果真实服务器证书是由帕洛阿尔托网络不信任的机构颁发的firewall, 然后解密证书使用第二个“不受信任的”证书颁发机构 (CA ) 密钥,以确保警告用户任何后续的中间人攻击。



Resolution


配置SSL解密:

  1. 配置firewall处理流量并将其放置在网络中
  2. 确保正确的证书颁发机构 (CA ) 在 firewall
  3. 配置SSL解密规则
  4. 使能够SSL解密通知页面(可选)
  5. 提交更改并测试解密

 

配置步骤SSL解密


1.配置Firewall处理交通并将其放入网络

确保帕洛阿尔托网络firewall已配置工作接口(即虚拟线路、第 2 层或第 3 层)、区域、安全Policy,并且已经通过交通。

 

2.加载或生成CA帕洛阿尔托网络证书 Firewall

A 证书颁发机构 (CA ) 需要通过生成正确地解密流量SSL即时证书。 创建自签名CA在firewall或导入下属CA(来自你自己PKI基础设施)。 选择一个CA为了转发信任证书和一个不同的CA为了转发不信任证书启用firewall解密流量。

NOTE : 因为SSLEntrust、Verisign、Digicert 和 GoDaddy 等证书提供商不出售 CA,它们在SSL解密。

 

来自firewall网页界面,去设备>证书. 为入站检验或出站(转发代理)检验加载或生成证书。

 

生成自签名证书

建议使用自签名证书。 有关生成自签名证书的信息,请查看以下知识文章:如何生成新的自签名SSL证书.

从 Microsoft 证书服务器生成和导入证书

  1. 在您组织的 Microsoft 证书服务器上,使用证书模板“从属”请求高级证书CA”下载证书。
  2. 下载后,从本地证书库中导出证书。 在 Internet 浏览器中 (IE ), 访问互联网选项对话框,选择内容标签,然后单击证书按钮. 可以从个人证书存储中导出新证书。 选择证书导出向导,导出私钥,然后选择格式。 为生成的文件输入密码和文件名和位置。 该证书将在PFX格式 (PKCS #12)。
  3. 要提取证书,请使用此 openSSL[4] 命令:
    openssl pkcs12 –in pfxfilename.pfx –out cert.pem –nokeys
  4. 要提取密钥,请使用此 openSSL 命令:
    openssl pkcs12 –in pfxfilename.pfx –out keyfile.pem -nocerts
  5. 将 cert.pem 文件和 keyfile.pem 文件导入帕洛阿尔托网络firewall在设备选项卡>证书屏幕.
  6. 在高可用性的情况下(HA ) 对, 也将这些文件加载到第二个 Palo Alto Networksfirewall ,或通过仪表板上的高可用性小部件复制证书和密钥。

 

“前向信任”和“前向不信任”证书:

前向信任证书示例
 

Forward Untrust 证书示例
 

NOTE: 如果您使用的是自签名CA, 导出公众号CA来自的证书firewall并将证书安装为受信任的根CA在每台机器的浏览器上,以避免浏览器内出现不受信任的证书错误消息。 网络管理员通常使用GPO将此证书推送到每个工作站。

IMPORTANT NOTE:切勿在同一个证书中同时设置“转发信任证书”和“转发不信任证书”复选框,并且不要将“转发不信任证书”部署在受信任的证书链下。 如果你这样做,它会导致firewall向客户端设备呈现CA他们信任的证书,即使他们连接到向用户提供无效证书的网站或应用程序也是如此firewall.


下面是一些浏览器错误的例子,如果自签名CA证书不受信任。


Firefox 不受信任CA错误:

Firefox 浏览器因不受信任而出现错误CA正在出示证书

 

不受信任的 ChromeCA错误:

Chrome 浏览器因不受信任而出现错误CA正在出示证书

 

IInternet Explorer 不受信任CA错误:

IE浏览器 (IE ) 浏览器由于不受信任而给出错误CA正在出示证书

 

3.配置SSL解密规则

网络管理员确定需要解密的内容。 A 配置的一些建议SSL解密规则:

  • 分阶段实施规则。 从特定的解密规则开始,监控典型的解密数SSL设备正在解密的连接。
  • 避免解密以下内容URL类别,因为用户可能认为这是对隐私的侵犯:
    • 金融服务
    • 健康与医学
  • 不要解密服务器需要客户端证书(用于识别)的应用程序。
    • 您可以通过中介绍的解密配置文件功能阻止或允许需要客户端身份验证的连接PAN-OS5.0。

 

以下是遵循解密建议的出站规则库示例:

遵循解密建议的出站规则库示例
 

4.启用SSL解密通知网页(可选)

  • 可以通知用户他们的SSL连接将使用在设备选项卡>响应页面屏幕. 点击残疾人, 检查使能够SSL选择退出页面选项,然后单击OK.
    启用选项SSL解密通知网页上 firewall GUI

 

默认值SSL选择退出页面可以导出,通过HTML编辑器,并导入以提供公司特定信息:

SSL 显示退出页面

5.测试出站解密

要测试出站解密:

  • 在出境policy, 请确保将操作设置为对发现的任何病毒发出警报。 此外,在该防病毒安全配置文件上启用数据包捕获。 提交所做的任何更改。
  • 在一个PC内部的firewall, 去www.eicar.org . 在右上角,您应该看到:
    Eicar横幅
  • 单击“下载反恶意软件测试文件”。
  • 在出现的屏幕中,滚动到底部。
  • 下载eicar测试病毒使用HTTP. 这四个文件中的任何一个都将被检测到。

Eicar下载区

  • 前往监控选项卡>威胁日志然后查找检测 eicar 文件的日志消息。
    显示检测到 eicar 文件的威胁日志 
 
  • 单击左侧栏中的绿色箭头可查看捕获的数据包。
    点击绿色箭头查看抓包

    数据包捕获的输出SSL解密开启
 
  • 单击最左侧列中的放大镜以查看日志详细信息。
    放大镜图标位于显示日志详细信息的最左侧栏中。
 
  • 滚动到底部,然后查找“已解密”字段。会话未解密:
    确定会话是否被解密的流量日志的输出。 在这种情况下,未选中该复选框意味着此会话未解密。
 
  • 回到www.eicar.org下载页面。 这次使用SSL启用的协议HTTPS下载测试病毒。
    可下载的eicar文件列表
 
  • 检查威胁日志。 应该从病毒开始就检测到SSL连接被解密。 A 显示在端口 443 上的 Web 浏览中检测到 eicar 的日志消息将可见。
    威胁日志的输出
 
  • 单击绿色箭头查看数据包捕获。(选修的)
    数据包捕获的输出SSL解密开启
 
  • 在该日志条目的左侧,单击放大镜。 滚动到底部。 在标志下,检查是否选中了“解密”框:
    确定会话是否被解密的流量日志的输出。 在这种情况下,它被解密,因为绿色复选框已被勾选。

 

病毒被成功检测到SSL-加密会话。

 

要测试“不解密”规则:

  • 首先,确定哪些 URL 属于金融服务、健康和医药类别,以及任何未启用解密的类别。利用帕洛阿尔托网络URL过滤 - 测试A地点并输入URL来识别类别。
  • 一旦网站被分类并且将不是被解密的都找到了,用浏览器去那些网站用HTTPS. 访问这些站点时应该没有证书错误。 网页将正确显示。 流量日志将显示应用程序所在的会话SSL正如预期的那样,遍历端口 443。

 

测试入站解密:

  • 检查过时的交通日志启用SSL用于入站解密firewall. 查看针对内部服务器的流量。 在这些日志中,检测到的应用程序应该是通过端口 443 的“ssl”。
  • 从网络外的机器,连接通过SSL到服务器中DMZ. 不会有证书错误,因为连接没有被代理——只是被检查。
  • 检查此入站连接的日志。 应用程序将不是“ssl”,而是在内部找到的实际应用程序SSL隧道。 单击这些日志条目中的放大镜图标以确认解密的连接。
    根据复选框符号正在解密的入站连接


有帮助CLI命令

看看有多少现有的SSL解密会话正在通过设备,使用这个CLI命令:

> 调试 dataplane 池统计信息 |匹配代理

 

从一个输出PA-2050,其中第一个命令显示 1024 个可用会话,第二个命令的输出显示五个SSL正在解密的会话 (1024–1019=5):

admin@test> 调试数据平面池统计信息 |匹配代理

[18] 代理会话:1019/1024 0x7f00723f1ee0

 

要查看已解密的活动会话,请使用此CLI命令:

> show session all filter ssl-decrypt yes state active


最大并发数SSL中的解密会话PAN-OS4.1、5.0、6.0 和 6.1(两个方向合并):

HardwareSSL 解密会话限制
VM-1001,024 节课

VM-200

1,024 节课
VM-3001,024 节课
PA-2001,024 节课
PA-5001,024 节课
PA-20201,024 节课
PA-20501,024 节课
PA-30207,936 个会话

PA-3050

15,360 节课
PA-306015,360 节课
PA-40207,936 个会话
PA-405023,808 节课
PA-406023,808 节课
PA-502015,872 节课
PA-505047,616 节课
PA-506090,112 节课
PA-7000-20G-NPC131,072 个会话
PA-7050786,432 个会话

 

如果达到限制,所有新的SSL会话以未解密的方式进行SSL. 放弃任何新的SSL超过设备会话限制的会话,使用这个CLI命令:

> set deviceconfig setting ssl-decrypt deny-setup-failure yes


要检查是否有任何会话达到设备的限制,请使用此CLI命令:

> show counter global name proxy_flow_alloc_failure


查看SSL解密证书,使用这个CLI命令:

> show system setting ssl-decrypt certificate
Certificates for Global

SSL Decryption CERT
global trusted
ssl-decryption x509 certificate
version 2
cert algorithm 4
valid 150310210236Z -- 210522210236Z
cert pki 1
subject: 172.16.77.1
issuer: 172.16.77.1
serial number(9)
00 b6 96 7e c9 99 1f a8  f7                      ...~.... .
rsa key size 2048 siglen 2048
basic constraints extension CA 1

global untrusted
ssl-decryption x509 certificate
version 2
cert algorithm 4
valid 150310210236Z -- 210522210236Z
cert pki 1
subject: 172.16.77.1
issuer: 172.16.77.1
serial number(9)
00 b6 96 7e c9 99 1f a8  f7                      ...~.... .
rsa key size 2048 siglen 2048
basic constraints extension CA 1

 

查看SSL解密设置,使用这个CLI命令:

> show system setting ssl-decrypt setting

vsys                          : vsys1
Forward Proxy Ready          : yes
Inbound Proxy Ready          : no
Disable ssl                  : no
Disable ssl-decrypt          : no
Notify user                  : no
Proxy for URL                : no
Wait for URL                  : no
Block revoked Cert            : yes
Block timeout Cert            : no
Block unknown Cert            : no
Cert Status Query Timeout    : 5
URL Category Query Timeout    : 5
Fwd proxy server cert's key size: 0
Use Cert Cache                : yes
Verify CRL                    : no
Verify OCSP                  : no
CRL Status receive Timeout    : 5
OCSP Status receive Timeout  : 5
Block unknown Cert            : no

 



Additional Information


有关资源列表SSL解密请参考以下知识文章:
SSL解密快速参考 - 资源

 

有关受支持的密码套件的更多信息SSL解密请参考以下内容:

SSL 由于不受支持的密码套件,解密无法正常工作

实施时的限制和建议SSL解密

如何确定根本原因SSL解密失败问题

 



Actions
  • Print
  • Copy Link

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

Choose Language