Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SSL 证书

充当 SSL 代理的 SRX 系列设备管理一端客户端与另一端服务器之间的 SSL 连接。SSL 代理服务器使用加密技术确保数据安全传输。SSL 依靠证书和私钥交换对提供安全通信。在本主题中,您将了解如何在安全设备上为 SSL 连接生成和安装 SSL 证书。

配置和加载 SSL 证书

图 1 显示 SSL 代理配置方式的概述。配置 SSL 代理包括:

  • 配置 root 证书颁发机构 证书

  • 加载证书颁发机构配置文件组

  • 配置 SSL 代理配置文件并将根证书颁发机构证书关联证书颁发机构配置文件组

  • 将 SSL 代理配置文件应用于安全策略

图 1:SSL 代理配置概述 SSL Proxy Configuration Overview

让我们在下面的章节中详细讨论这些过程:

配置 root 证书颁发机构 证书

证书证书颁发机构结构形式发出多个证书。根证书是树最顶层的证书,其私钥用于其他 sign 证书。紧随根证书下的所有证书将继承根证书的签名或可信度。这有点像身份 notarizing 信息

要配置 root 证书颁发机构证书,您必须

  1. 获取根 证书颁发机构证书(通过或导入一个)

    • 您可使用 SRX 系列证书颁发机构上的Junos OS CLI根证书。

    • 从外部服务器获取证书颁发机构(本主题中未涵盖)

  2. 将 root 证书颁发机构应用于 SSL 代理配置文件。

使用 证书颁发机构 生成 root CLI

要定义企业密钥中的自CLI证书,您必须提供以下详细信息:

  • 证书标识符(在上一步中生成)

  • 证书的全限定域名 (FQDN)

  • 拥有证书的实体的电子邮件地址

  • 通用名称及涉及的组织

使用证书颁发机构生成根 Junos OS CLI:

  1. 在操作模式下,为本地数字证书生成 PKI 公共/私钥对。

    例子:

  2. 定义自签名证书。

    例子:

    通过配置 选项 add-ca-constraint ,确保证书可用于签署其他证书。

  3. 在配置模式下,将已加载的证书作为 root-ca 应用于 SSL 代理配置文件。

    例子:

  4. 将 root 证书颁发机构作为可信证书颁发机构导入客户端浏览器。客户端浏览器必须信任由 SRX 系列设备签名的证书。请参阅 将 root 证书颁发机构证书导入浏览器 。

配置可信 证书颁发机构配置文件组

证书颁发机构配置文件定义了认证证书信息。它包含 SSL 代理在生成新证书时使用的公钥。Junos OS一步创建一组证书颁发机构配置文件并加载多个证书,查看组内所有证书的信息,以及删除不需要证书颁发机构组。启动连接时,连接设备(如 Web 浏览器)将检查证书是否由受信任的服务器证书颁发机构。如果没有这些证书,浏览器将无法验证大多数网站的身份,并标记为不可信的网站。

配置可信证书颁发机构配置文件组包括以下步骤:

  • 获取可信证书证书颁发机构列表。您可以通过以下一种方法证书颁发机构获得可信证书:

    • Junos OS提供默认可信证书证书颁发机构作为 PEM 文件(例如 ,trusted_证书颁发机构.pem)。下载此Junos OS包后,系统将提供默认证书。

      在操作模式下,加载默认可信证书颁发机构证书(组名称标识证书颁发机构配置文件组):

      例子:

      我们建议使用此方法。

    • 定义您自己的可信证书证书颁发机构列表,然后导入系统中。您可以在单个 PEM 文件中获得可信 CA 列表(例如 IE-all.pem)并保存在特定位置(例如 /var/tmp)中的 PEM 文件。请参阅 知识库文章 KB23144

      在操作模式下,将可信列表加载到设备(组名称标识证书颁发机构配置文件组):

      例子:

    • 从另一证书颁发机构方(例如 Mozilla (https://curl.haxx.se/docs/caextract.html)下载最新的数据包 https://curl.haxx.se/docs/caextract.html。可信任证书授权机构列表可随着时间的推移而更改,确保使用最新证书颁发机构包。

    • 使用公钥基础架构 (PKI) 导入证书颁发机构的加密证书。PKI 有助于验证和验证可信证书证书颁发机构的有效性。您可证书颁发机构包含可信证书的配置文件证书颁发机构组,然后在设备上导入组进行服务器认证。

  • 将组证书颁发机构 SSL 代理配置文件。

    • 连接所有证书颁发机构配置文件组:

      例子:

    • 连接一证书颁发机构配置文件组(组名称标识证书颁发机构配置文件组)。

      例子:

您可以轻松地显示有关一个配置文件组中所有证书颁发机构的信息:

您可删除一个证书颁发机构配置文件组。请记住,删除配置文件证书颁发机构将删除该配置文件组的所有证书:

下一步该做什么

现在继续进行 SSL 代理配置文件配置,将 SSL 代理配置文件应用于安全策略。请参阅 配置 SSL 代理

将 root 证书颁发机构 证书导入浏览器

为了让您的浏览器或系统自动信任在 SSL 代理配置文件中配置的 root 证书颁发机构 签名的所有证书,您必须指示平台或浏览器信任 证书颁发机构 根证书。

要导入 root 证书颁发机构证书:

  1. 为配置的 root 应用程序生成 PEM 格式证书颁发机构。
  2. 将根证书颁发机构证书导入浏览器。

    从 Internet Explorer(版本 8.0):

    1. 从 Tools 菜单中,选择 Internet 选项
    2. 在 Content 选项卡上,单击 证书
    3. 选择" 可信根认证机构" 选项卡,然后单击 导入
    4. 在 证书导入向导 中,导航到所需的 root 证书颁发机构 证书并选择它。

    从 Firefox(版本 39.0):

    1. 从 Tools 菜单中,选择 选项
    2. 从 Advanced 菜单中,选择 "证书 "选项卡,然后单击 View Certificate
    3. 在 证书管理器 窗口中,选择 "颁发机构" 选项卡,然后单击 导入
    4. 导航到所需的 root 证书颁发机构证书并选择它。

    从 Google Chrome (45.0):

    1. 从 设置 菜单中,选择 Show Advanced Settings
    2. 从 Advanced 菜单中,选择 "证书 "选项卡,然后单击 View Certificate
    3. 在 HTTPS/SSL 下,单击 管理证书
    4. 在 证书 窗口中,选择 可信根认证机构 并单击 导入
    5. 在 证书导入向导 中,导航到所需的 root 证书颁发机构 证书并选择它。

证书链实施

SSL 转发Junos OS版本15.1X49-D30开始,支持证书链实施。让我们讨论一下了解证书链概念以及如何在 SRX 系列设备上配置证书链。

  • Certificate Authority (CA)— 证书颁发机构 是负责验证实体身份(例如网站、电子邮件地址、公司或个人)身份的可信第三方,并且通过绑定加密密钥颁发数字证书。如果贵组织拥有一台证书颁发机构,您将成为自己的证书颁发机构并使用自签名证书。

  • Root Certificate—根证书是由可信证书授权机构 (证书颁发机构) 颁发的证书。根证书是树最顶层的证书,其私钥用于签署其他证书。紧随根证书下的所有证书将继承根证书的签名或可信度。这些证书用于在两个端点之间建立连接。

  • Intermediate CA Certificate— 中间证书颁发机构证书是由可信 root 特别签署的从属证书,用于验证最终实体证书。

  • Certificate Chain - 证书链是包含 SSL 证书、中间证书和根证书的有序证书列表。某些证书颁发机构 (CA) 不会使用根证书签名,而是使用中间证书。中间证书颁发机构可代表根协议协议签署证书颁发机构证书。根证书颁发机构签署中间证书,形成信任链。

    中间证书必须安装在与 SSL 证书相同的服务器上,以便连接设备(浏览器、应用程序、移动设备等)可以信任它。

启动连接时,连接设备(如 Web 浏览器)将检查证书是否真实,由嵌入浏览器可信存储的可信证书授权机构发布。

如果 SSL 证书不是来自受信任的 证书颁发机构,则连接设备将继续检查 SSL 证书是否由中间 证书颁发机构 发出,并且此证书颁发机构证书由 root 证书颁发机构 签名。检查将继续,直到证书颁发机构找到根设备。如果找到 root 证书颁发机构,将建立安全连接。如果无法找到 root 证书颁发机构,则会丢弃连接,并且 Web 浏览器显示有关无效证书或证书不可信的错误消息。

此示例说明了如何安装证书链以使浏览器可信任您的证书。

要求

配置此功能之前,不需要除设备初始化之外的特殊配置。

概述

此示例具有一个域,例如.domain-1,并且您想要从您的域的您的域的据以购买一个证书。但是,证书颁发机构应用程序授权机构并非 Root-证书颁发机构 Web 浏览器仅信任 root-证书颁发机构证书。换言之,其证书不会直接嵌入到 Web 浏览器中,因此不显式信任。

在这种情况下,使用证书链(中间证书)以以下方式建立信任。

拓扑

我们尝试通过图 2 实现此 链可视化。该图像展示了从 root 证书颁发机构 到最终用户证书的完整证书链。此链将在最终用户证书中终止。

图 2:从证书所有者到 root 认证的证书颁发机构 Certification Path from the Certificate Owner to the Root CA
表 1:证书链详细信息

用户

使用证书

签署人

类型

示例.domain-1

最终用户证书

美国第三次大企业 (5D)

最终用户证书。您从公司购买的证书颁发机构。

美国第三次大企业 (5D)

证书-1

中间证书颁发机构-1

中级证书

中间证书颁发机构-1

证书-2

中间证书颁发机构-2

中级证书

中间证书颁发机构-2

证书-3

中间证书颁发机构-3

中级证书

中间证书颁发机构-3

证书-4

根示例授权机构。这是 root 证书颁发机构。

根证书

其证书直接嵌入到 Web 浏览器中;因此可以明确地信任它

为 server example.domain-1 安装最终用户证书时,您必须捆绑所有中间证书,并随最终用户证书一起安装。证书链包含从证书 1 到 root-证书颁发机构的所有证书。由于 Web 浏览器信任 root 证书颁发机构,因此也隐式信任所有中间证书。如果 SSL 证书链无效或已损坏,则您的证书不会受某些设备信任。

注意:
  • 所有证书都必须采用隐私增强型邮件 (PEM) 格式。

  • 将串联证书文件导入设备中时,证书颁发机构将提供一组已链接的证书,您必须将其添加到已签名服务器证书中。服务器证书必须显示在组合文件中链接的证书之前。

配置

配置 SSL 证书链包含以下任务:

  • 从服务器购买 SSL 证书颁发机构,其中包含签名证书和相应的密钥。

  • 配置可信证书颁发机构配置文件组。

  • 在设备上加载签名证书和密钥。

  • 将中间和根证书颁发机构加载到公钥基础架构 (PKI) 内存。此证书文件包含所有所需的证书颁发机构证书(各一个)(PEM 格式)。

  • 为中间或证书颁发机构证书创建受信任的证书颁发机构配置文件。

  • 通过配置 SSL 代理配置文件证书颁发机构将签名证书应用到安全策略,将设备设置为使用从证书收到的签名证书。SSL 转发代理将此证书链信息(证书颁发机构证书配置文件名称)存储在相应的 SSL 配置文件中。作为安全策略实施的一部分,使用 SSL 配置文件提供证书链信息和证书颁发机构证书。

证书链处理涉及以下组件:

  • 管理员将证书链和本地证书(签名证书)加载至 PKI 守护程序证书缓存中。

  • 网络安全守护程序 (nsd) 将请求发送到 PKI 守护程序,为 SSL 代理配置文件中配置的签名证书提供证书链信息。

此示例假设您已经从 证书颁发机构 购买 SSL 证书颁发机构。

在设备上配置证书链

逐步过程

要配置证书链:

  • 将本地证书加载到 PKI 内存。

    显示以下消息:

    请注意,证书 ID 将在 SSL 代理配置文件 root-ca 的一节下使用。

  • 将中间或根证书颁发机构证书加载到 PKI 内存。

    证书颁发机构配置文件包括用于验证的证书信息。它包含 SSL 代理在生成新证书时使用的公钥。

    此证书将作为证书链附加。

  • 将证书颁发机构配置文件组连接到 SSL 代理配置文件。您可以一次证书颁发机构一个连接受信任服务器,或一次加载一个操作。

  • 将签名证书作为 root-ca 应用于 SSL 代理配置文件。

  • 创建安全策略,并指定策略的匹配标准。作为匹配标准,指定要启用 SSL 代理的流量。此示例假设您已根据需求创建安全区域。

    SSL 转发代理将此证书链信息(证书颁发机构证书配置文件名称)存储到相应的 SSL 配置文件中。作为安全策略实施的一部分,使用 SSL 配置文件提供证书链信息和证书颁发机构证书。

    您可以在连接的 Web 浏览器(即客户端)上查看证书链。

忽略服务器身份验证故障

服务器身份验证

客户端和设备之间的隐式信任(因为客户端接受设备生成的证书)是 SSL 代理的一个重要方面。服务器身份验证不会受到影响,这一点极为重要;但实际上,具有异常的自签名证书和证书是丰富的。异常可能包括已过期的证书、与域名不匹配的常用名称实例,等等。

服务器认证通过设置 SSL 代理 ignore-server-auth-failure 配置文件中的 选项进行监管。设置此选项的结果在表 2 中提供

表 2:忽略服务器身份验证故障选项

SSL 代理配置文件操作

结果

ignore-server-auth-failure 设置 选项(默认选项)

  • 如果认证成功,将替换密钥,将加密名称更改到代理配置文件的 root 证书颁发机构 证书中配置的加密名称,从而生成新证书。

  • 如果认证失败,将丢弃连接。

选项 ignore-server-auth-failure 已设置

  • 如果证书是自签名的,则通过替换密钥生成新证书。不会更改指定名称。这样可以确保客户端浏览器显示证书无效的警告。

  • 如果证书已过期或通用名称与域名不匹配,将替换密钥,将加密名称更改至 SSL-PROXY 以生成新证书: DUMMY_CERT:由于 SRVR AUTH FAILURE 而生成。

    这样可以确保客户端浏览器显示证书无效的警告。

  • 不建议使用此选项进行身份验证,因为配置它会导致网站完全未通过认证。但是,您可以使用此选项有效地识别丢弃 SSL 会话的根本原因。请参阅 为 SSL 代理启用调试和跟踪

客户端身份验证

目前,SSL 代理中不支持客户端认证。如果服务器请求客户端认证,将发出证书不可用的警告。警告使服务器可确定是继续还是退出。

SSL 代理的证书撤消列表

使用 SSL 代理的证书撤消列表

证书授权机构 (证书颁发机构) 定期使用证书撤消列表 (CRL) 发布已撤消证书列表。安全设备将下载和缓存最近发布的 CRL。CRL 包含的数字证书列表,其中包含在到期日期之前已取消的序列号。

证书颁发机构有机会危及证书,则撤销已颁发的证书。撤销证书的其他一些原因包括:

  • 未指定(未给出特定理由)。

  • 与颁发证书的证书或证书颁发机构的私钥遭到入侵。

  • 证书的所有者不再与证书的加密关联

  • 另一个证书将替换原始证书。

  • 发布证书颁发机构的证书不再运行。

  • 证书将等待等待进一步操作。它被视为已撤销,但将来可能会接受。

参与设备使用数字证书时,将检查证书签名和有效性。默认情况下,SSL 代理配置文件上将启用 CRL 验证。

从 Junos OS 版15.1X49-D30和Junos OS版本17.3R1,SRX 系列设备支持证书撤消列表 (CRL)。SRX 系列设备的 CRL 验证涉及检查从服务器中撤消的证书。

在 SRX 系列设备上,SSL 代理配置文件默认启用证书撤消检查。您可以启用或禁用 CRL 验证以满足您的特定安全要求。

  • 禁用 CRL 验证。
  • 重新启用 CRL 验证。

如果 CRL 信息因 CRL 下载失败或根证书或中间证书中的 CRL 路径不可用等原因不可用,您可以允许或丢弃会话。

  • 当 CRL 信息不可用时,允许会话。

  • 当 CRL 信息不可用时,丢弃会话。

  • 将 SRX 系列设备配置为接受证书,而不提供撤销状态的可靠确认,并可在撤销证书和撤消原因暂停时允许会话。

SSL 性能增强

SRX 系列设备的 SSL 性能增强包括以下功能:

优化 SSL 性能

SSL/TLS 握手是一个 CPU 密集型进程。由于 SSL/TLS 是 Web 上使用最广泛的安全协议,因此性能对 Web 性能有显著的影响。

从Junos OS版本15.1X49-D120,您可以使用以下选项来优化性能:

  • 使用经过优化的 RSA 密钥交换

  • 使用已认证的加密与关联数据 (AEAD) — AES128-CBC-SHA、AES256-CBC-SHA

  • 维护证书缓存 — 证书缓存存储所连接的服务器证书以及服务器证书详细信息。在 SSL/TLS 握手期间,SSL 代理可以将缓存的交织证书呈现给客户端,而不是生成新的交织证书。

提高 SSL 性能可改善网站性能,同时不会影响安全性并最大限度地提高用户体验。

您可以选择为证书缓存配置以下设置。但是,我们建议您保留默认值。

例子:

  • (可选)设置证书缓存超时值(示例 300 秒)。

    此示例中,证书缓存将存储证书详细信息 300 秒。默认超时值为 600 秒。

  • (可选)禁用证书缓存。

    禁用证书缓存后,设备将允许新连接进行 SSL 握手。默认情况下,证书缓存已启用。

  • (可选)使现有证书缓存无效。

    此示例将更新证书撤消列表 (CRL) 时,设备将无效现有证书缓存。默认情况下,CRL 更新时无效的证书缓存将被禁用。

会话分期服务

SSL 会话加密提供一种使用已协商的会话 ID 恢复上一个会话的机制。会话加密程序节省客户端和服务器的完整 SSL 握手和生成新主要密钥的计算开销。

会话加密可缩短握手过程并加速 SSL 事务,从而提高性能,同时保持相应级别的安全性。

TLS 1.2 支持使用会话标识符和会话票证机制进行会话处理。SSL 会话加密包括以下步骤:

  • 会话缓存机制可缓存会话信息,例如客户端和服务器预主密钥和同意的密码。

  • 会话 ID 用于识别缓存的信息。

  • 后续连接中,双方同意使用会话 ID 检索信息,而不是创建预主密钥。

从 22.1R1 Junos OS版本开始,TLS 1.3 使用 SSL 代理中的预共享密钥 (PSK) 支持会话处理。使用 PSK 的会话加密允许使用之前建立的共享密钥对会话进行加密,从而降低 SSL 握手开销。

PSK 是从初始 TLS 握手派生的唯一加密密钥。成功与 TLS 握手后,服务器会向客户端发送 PSK 身份。客户端将在未来握手期间使用该 PSK 身份来协商使用关联的 PSK 来恢复会话。

使用 TLS1.3 的 SSL 会话加密包含以下步骤:

  1. 首次 TLS 握手后,服务器会向客户端发送新的会话票证消息,其中包含 PSK 身份(PSK 的加密副本)。

  2. 下次,当客户端尝试恢复会话时,它会在 Hello 消息中向服务器发送相同的会话通知单。
  3. 服务器将解密消息,识别 PSK,并检索其缓存中的会话信息以恢复会话。

SSL-I(SSL 初始化)使用具有 ECDHE 密钥交换模式的 PSK,而 SSL-T(SSL 端接)则使用具有 ECDHE 交换模式的 PSK 和 PSK。

SSL 代理会话支持连接两端 TLS1.3 和 TLS1.2 及早期版本之间的互操作性,以用于会话加密。

默认情况下,SSL 代理启用了会话加密。您可以根据需求清除会话设置或重新启用。

  • 要清除会话分期计划:
  • 要重新启用会话放大功能:

使用以下命令配置会话超时值。

您可以配置 300 秒到 86400 秒之间的超时值。默认值为 86400 秒(24 小时)。

会话重新协商

SRX 系列设备支持会话重新协商。创建会话并建立 SSL 隧道传输后,SSL 参数更改需要重新协商。SSL 代理同时支持安全 (RFC 5746) 和非安全 (TLS v1.0、TLS v1.1 和 TLS v1.2) 重新协商。启用会话协商时,会话重新协商在以下情况非常有用:

  • 经过漫长的 SSL 会话后,密码密钥需要刷新。

  • 需要应用更强的密码来建立更安全的连接。

如果通过更改证书、密码强度或可信 证书颁发机构 列表来修改 SSL 代理配置文件,则系统在您提交修改的策略时将清除缓存条目。在这种情况下,需要握手才能建立新的 SSL 参数。(不会影响非 SSL 会话。)

如果未更改 SSL 代理配置文件,则对应于该配置文件的缓存条目不会齐平,并且会话将继续。

域名动态解析

与域名关联的 IP 地址是动态的,随时可能更改。只要域 IP 地址发生变化,它就会传播到 SSL 代理配置(类似于防火墙策略配置中执行的配置)。

版本历史记录表
释放
描述
15.1X49-D30
从 Junos OS 版15.1X49-D30和Junos OS版本17.3R1,SRX 系列设备支持证书撤消列表 (CRL)。