教程篇(6.0) 06. 证书操作 ❀ FortiGate 安全 ❀ Fortinet 网络安全专家 NSE 4

在本课中,你将了解FortiGate为什么使用数字证书,如何配置FortiGate以使用证书(包括使用证书检查加密流量的内容),以及FortiGate如何管理证书。

在本次课程中,你将探讨以下主题:

  • 使用证书验证和保护数据
  • 检测加密数据
  • 管理FortiGate上的数字证书

在完成这节课程之后,你应该能够:

  • 描述为什么FortiGate使用数字证书
  • 描述FortiGate如何使用证书对用户和设备进行身份验证
  • 描述FortiGate如何使用证书来确保数据的隐私

  通过演示对FortiGate如何使用证书的理解,你将更好地理解证书如何以及何时可以在自己的网络中使用。

FortiGate使用数字证书来增强安全性。

  FortiGate使用数字证书进行检查。该设备可以按需生成证书,以便检查在两个设备之间传输的加密数据;实质上,中间人(MITM)攻击。在允许个人或设备与其所保护的实体进行完全连接之前,FortiGate还可以检查证书以识别人员和设备(在网络中和在因特网上)。如果FortiGate信任证书,它允许连接。但是如果FortiGate不信任证书,它可以阻止连接。如何配置FortiGate将决定行为;然而,正在使用的其他策略也可能影响连接尝试 是否被接受或拒绝。

  FortiGate使用数字证书来加强隐私。证书及其相关的私钥确保FortiGate可以建立到另一设备(如FortiGuard、 Web浏览器或Web服务器)的私有SSL连接。

  FortiGate还使用证书进行身份验证。拥有由已知和可信认证机构(CA)颁发的证书的用户可以向FortiGate进行身份验证,以访问网络或建立VPN连接。管理员用户可以使用证书作为第二个因素身份验证,登录到FortiGate。

什么是数字证书?

  数字证书是由CA生成并签名的数字文档。它标识终端实体,例如人(示例,Joe Bloggins)、设备(示例, webserver.acme.com)或事物(示例,证书撤销列表)。FortiGate通过读取Subject字段中的值来标识设备或人员,该字段表示为专有名称(DN)。FortiGate还可以使用替代标识符,如Subject Alternative Name字段所示,其值可以是网络ID或电子邮件地址。FortiGate可以使用Subject Key Identifier(主题密钥标识符)和 Authority Key Identifier(权限密钥标识符值)来确定证书的颁发者(在Issuer字段中标识)与证书之间的关系。 FortiGate支持X.509V3证书标准,这是证书最常见的标准。

FortiGate在信任证书之前运行以下检查:

  • 在本地(在FortiGate上)检查证书吊销列表(CRL),以验证证书是否已被CA吊销。如果证书的序列号在CRL上列出,则证书已被吊销并且不再受信任。FortiGate还支持在线证书状态协议(OCSP),其中FortiAuthenticator充当OCSP应答器。
  • 读取发行者字段中的值,以确定它是否具有相应的CA证书。没有CA证书,FortiGate将不信任证书。FortiOS使用Mozilla CA证书存储。你可以通过单击Security Profiles > SSL Inspection > View Trusted  CA List > Factory Bundles查看列表。
  • 验证当前日期介于Valid from和Valid to之间。如果不是,证书将无效。
  • 验证证书上的签名。必须成功验证签名。因为有效的签名是信任证书的关密钥要求,所以检查FortiGate如何验证数字签名可能是有用的。

在生成数字签名之前,CA通过哈希函数运行证书的内容,哈希函数产生哈希结果。哈希结果,它是数据的数学表示,被称为原始哈希结果。CA使用其私钥对原始哈希结果进行加密。加密哈希结果是数字签名。

  当FortiGate验证数字签名时,它通过哈希函数运行证书,产生一个新的哈希结果。FortiGate必须使用与创建数字签名的CA相同的散列函数或哈希算法。在证书中标识哈希算法。

  在验证过程的第二部分,FortiGate使用CA的公钥对加密的哈希结果(或数字签名)进行解密,并应用与CA用于加密哈希结果的算法相同的算法。此过程验证签名。如果密钥不能将加密的哈希结果还原为其原始值,则签名验证失败。

  在验证过程的第三部分和最后一部分中,FortiGate将新鲜哈希结果与原始哈希结果进行比较。如果两个值相同,则确认证书的完整性。如果两个哈希结果不同,那么FortiGate拥有的证书的版本与CA签名的证书版本不同,并且数据完整性失败。

基于证书的用户身份验证使用终端实体证书来标识用户。此证书包含用户的公钥和颁发证书的CA的签名。认证服务器(例如,FortiGate)必须具有CA证书,其私钥签名用户证书。FortiGate验证证书的签名是有效的,证书没有过期,证书没有被撤销。如果这些验证失败,基于证书的用户身份验证失败。

  可以配置FortiGate,要求管理员使用证书进行第二次身份验证。验证管理员证书的过程是相同的。

正如你从这张幻灯片上所示的示例中看到的,Web模型中的信任度取决于证书存储是否拥有验证SSL证书上的 签名所需的CA证书。证书存储区预填充根证书和下属CA证书。你可以选择添加或删除证书,这些证书会影响你任哪些网站。

  默认情况下,FortiGate使用自签名证书对HTTPS客户端进行身份验证。

  可以将自签名证书配置为建立SSL会话,就像Verisign、Entrust Datacard和其他证书供应商颁发的那些证书一样。但是,由于自签名证书不会在客户端证书存储区中预先填充,因此最终用户将收到安全警告。你可以选择将自签名证书添加到客户端,或者从已批准的CA供应商为你的FortiGate购买SSL证书。

FortiGate使用SSL确保在与服务器(如FortiGuard)和客户机(如web浏览器)连接时数据保持私有。SSL的另一个特点是可以使用证书来标识一方或双方。SSL使用对称和非对称密码学来建立两点之间的安全会话。

  为了理解FortiGate如何保护私有会话,了解SSL握手的高级过程是有益的。

  对称密码的一个重要属性是使用相同的密钥对数据进行加密和解密。当FortiGate在它自己和另一个设备之间建立SSL会话时,必须共享对称密钥(或者更确切地说是生成该密钥所需的值),以便数据能够由另一端加密、 发送和解密。

  非对称密码学使用一对密钥:一个密钥执行一个函数,另一个密钥执行相反的函数。例如,当FortiGate连接到网络服务器时,它使用网络服务器的公钥来加密称为预主密钥的字符串。Web服务器的私钥解密预主密钥。

现在,你将了解更多关于建立SSL会话的过程。

  在该幻灯片所示的示例的第一步中,FortiGate连接到为SSL配置的Web服务器。在最初的hello消息中,浏览器提供与Web服务器通信所需的关键信息。此信息包括服务器的SSL版本号和它支持的加密算法的名称。

  在第二步中,Web服务器从FortiGate接收消息,并选择FortiGate列表中的第一组加密算法及其支持。Web服务器将证书发送到FortiGate。注意,证书信息在公共网络上作为明文传递。证书中包含的信息通常是公共的,因此这不是安全问题。

  在第三步中,FortiGate验证Web服务器的证书。幻灯片上显示的检查列表表示FortiGate对证书执行的检查,以 确保证书是可信的。如果FortiGate确定证书可以被信任,那么SSL握手继续。

在第四步骤中,FortiGate生成称为pre-master秘密的值。FortiGate使用证书中的服务器的公钥来加密pre-master密钥。然后,FortiGate将加密的pre-master密钥发送到Web服务器。如果第三方拦截了pre-master,他们将无法读取它,因为它们没有私钥。

  在第五步骤中,Web服务器使用其私钥来解密pre-master密钥。现在,两个FortiGate和Web服务器共享一个只有这两个设备知道的秘密值。

在第六步骤中,FortiGate和Web服务器基于pre-master导出主秘密。

  在第七步骤中,基于主秘密值,FortiGate和Web服务器生成会话密钥。会话密钥是对称密钥。它需要对数据进行加密和解密。因为双方都有会话密钥,所以双方可以相互加密和解密数据。

  在这两个实体建立安全连接之前的第八步,也是最后一步,FortiGate和Web服务器都向彼此发送迄今为止发送的消息摘要(或摘要)。摘要用会话密钥加密。这些摘要确保在会话创建期间交换的消息中没有一个被截获或替换。如果摘要匹配,则建立安全通信信道。

  SSL握手现在完成。FortiGate和Web服务器都准备好安全通信,使用会话密钥加密和解密它们通过网络或因特网发送的数据。

 小测验。

现在你明白了FortiGate为什么和如何使用证书来认证设备和人。你还了解了FortiGate如何使用证书来确保数据从FortiGate流到另一个设备或从设备流到FortiGate时的隐私。

  接下来,你将学习如何去检测加密数据。

完成本章节后,你应该能够:

  • 描述证书检查和完整的SSL检查
  • 配置证书检查和完整SSL/SSH检查
  • 确定执行完整SSL检查所需的内容
  • 识别实施全面SSL检查的障碍和可能的补救措施

  通过展示理解和配置完整SSL检查和证书检查的能力,你将能够在网络中实现这些SSL检查解决方案之一。

虽然使用HTTPS是有好处的,但是也存在与使用HTTPS相关的风险,因为加密的流量可以用于绕过正常的防御。例如,如果在下载包含病毒的文件时对会话进行加密,则病毒可能通过网络的安全措施。

  在这个幻灯片所示的示例中,Bob使用合法CA颁发的证书连接到一个站点。然而,Bob不知道,the example.com网站已经感染了病毒。病毒被加密掩盖,通过FortiGate未检测到并进入鲍伯的计算机。由于无法启用完整的SSL检查,病毒能够破坏安全性。

  你可以使用完整的SSL检查(也称为深度检查)来检查加密会话。

 在SSL握手开始交换问候消息期间,SSL服务器向FortiGate发送其SNI,这是TLS协议的扩展。SNI告诉 FortiGate SSL服务器的主机名,在接收服务器的证书之前,根据DNS名称对其进行验证。如果没有交换SNI,那么FortiGate通过服务器证书中的Subject字段中的值来标识服务器。证书检查不读取Subject Alternate Name (主题备用名称)字段。

  当启用证书检查时,FortiGate检查所有SSL证书。因此,如果内部客户端发起与外部SSL服务器的SSL握手,则由FortiGate拦截SSL服务器发送给客户端的证书。FortiGate对证书进行以下安全检查:

  • 信任:为了让FortiGate信任证书,FortiGate必须在其证书存储区中具有相应的CA证书。
  • 签名验证:FortiGate使用CA证书中的公钥来验证证书上的签名。
  • 有效性日期:FortiGate验证当前日期在证书中的Valid from字段和Valid to字段的日期之间。如果不是,证书是无效的。
  • 撤销检查:FortiGate检查CRL。另一种可能是配置FortiGate来使用OCSP。

  当这些检查中的任何一个失败时,FortiGate的行为取决于你如何配置这个选项。

  证书检查提供了某种程度的安全性,但是它不允许FortiGate检查外部服务器和内部客户端之间的加密数据流。

若要启用SSL证书检查选项,请执行以下步骤:

  1. 从FortiGate GUI上, 点击Security Profiles > SSL/SSH Inspection。
  2. 在Edit SSL/SSH Inspection Profile 选项中, 点击下拉列表并选择certificate-inspection。请注意,此选择不允许你对设置进行更改。如果要自定义该选项,请单击下拉菜单并选择custom-deep-inspection或单击+图标右边的列表+图标。
  3. 确保 Multiple Clients Connecting to Multiple Servers 被选中,然后单击SSL Certificate Inspection。

FortiGate必须作为CA来执行完整的SSL检查。内部CA必须在每个内部用户连接到外部SSL服务器时生成SSL私钥和证书。密钥对和证书立即生成,因此用户与Web服务器的连接不会被延迟。

  虽然用户的浏览器认为它直接连接到Web服务器,但是浏览器实际上是连接到FortiGate的。FortiGate充当代理Web服务器。为了使FortiGate在这些角色中起作用,它的CA证书必须具有基本约束扩展集为cA=True,并且 keyUsage值设置为keyCertSign。

  cA=True值将证书标识为CA证书。keyUsage=keyCertSign值指示证书的相应私钥被允许签署证书。有关更多信息,请参考RFC 5280 Section 4.2.1.9 Basic Constraints。

  支持完整SSL检查的所有FortiGate设备都可以使用在FortiGate或内部CA中提供的自签名Fortinet_CA_SSL密钥 对,以提供FortiGate的CA证书。当使用内部CA时,FortiGate充当下属CA。请注意,你的客户端机器和设备将需要导入根CA证书,以信任FortiGate并接受SSL会话。CA证书的链必须安装在FortiGate上。FortiGate将证书链发送到客户端,以便客户端能够验证签名并建立信任链。

一些FortiGate设备提供了一种机制,用于在外部SSL服务器和内部客户端之间流动的检测加密数据 。如果没有完整的SSL检查,FortiGate就不能检查加密的流量,因为防火墙没有解密数据所需的密钥。

  完整SSL检查有两种可能的配置:一种用于出站业务,一种用于入站业务。

  如果连接请求是出站(由内部客户机发起到外部服务器),则必须选择选项“, Multiple Clients Connecting to Multiple Servers”。然后,必须选择将用于签署新证书的CA密钥对。在这个例子中,它是the FortiGate_CA_SSL密钥对,它可以支持支持SSL检查的FortiGate设备。在本课中,你还将了解如何配置入站流量的完整SSL检查。

在步骤1中,内部Web浏览器连接到启用SSL的Web服务器。通常,当浏览器连接到安全站点时,Web服务器将其证书发送到浏览器。然而,在步骤2中,FortiGate拦截Web服务器证书。在步骤3中,FortiGate的内部CA 生成新的密钥对和证书。新证书的主题名称必须是网站的DNS名称(例如,ex.ca)。在步骤4和5中,新的密 钥对和证书用于在FortiGate和Web浏览器之间建立安全连接。每当客户端请求与外部SSL服务器进行连接时, 就会生成新的临时密钥对和证书。

  面向外部并在步骤5中包含,FortiGate使用Web服务器的证书发起与Web服务器的安全会话。在这种配置中,FortiGate可以对来自Web服务器和浏览器的数据进行解密,以便在重新加密数据并将其发送到目的地之前扫描 数据以发现威胁。这个场景本质上是一个MITM攻击。

当你试图访问一个使用不可信证书的HTTPS站点时,浏览器会发出证书警告。不可信证书包括自签名的SSL证 书,除非证书导入浏览器的可信证书存储区。FortiGate在SSL/SSH检查页面上有自己的配置设置,包括允许、阻止或忽略不可信的SSL证书的选项。

  当Untrusted SSL Certificates设置被设置为Allow并且FortiGate接收到不可信SSL证书时,FortiGate使用 Fortinet_CA_Untrusted私钥生成并签署临时证书。然后,它将临时证书发送到浏览器。浏览器向用户发出警 告,表示站点不可信。如果FortiGate收到可信的SSL证书,那么它使用Fortinet_CA_SSL私钥生成并签署临时证书,并将其发送到浏览器。因为浏览器在其可信证书存储区中具有相应的CA证书(Fortinet_CA_SSL),所 以它信任临时证书并启动SSL握手。为了使这个函数按预期工作,你的内部web浏览器必须将 Fortinet_CA_SSL证书导入到它们信任的根CA证书存储中。不能导入The Fortinet_CA_Untrusted不可信证书。

  当设置为Block并且FortiGate接收到一个不受信任的SSL证书时,FortiGate将直接阻塞连接,并且用户无法继续。

  当设置为Ignore时,FortiGate向浏览器发送由Fortinet_CA_SSL私钥签名的临时证书,而不管SSL证书的状态 是否可信。然后,FortiGate继续建立SSL会话。忽略设置在GUI中仅通过CLI添加之后才出现。在幻灯片上显示的命令。

在该幻灯片上显示的场景中, Untrusted SSL Certificates 设置被设置为Allow。

  在步骤1中,浏览器启动与由FortiGate信任的外部站点的连接。在步骤2中,可信服务器将其SSL证书发送到 FortiGate。在步骤3中,FortiGate信任证书,因为证书在其可信证书存储区中具有相应的CA证书。FortiGate可以验证SSL证书上的签名。在步骤4中,因为FortiGate信任SSL证书,所以它使用Fortinet_CA_SSL私钥生成并 签署临时证书。FortiGate将证书发送到浏览器。最后,在步骤5中,浏览器信任证书,因为相应的CA证书位于 其可信根CA存储区中。一旦浏览器完成验证证书,它就用FortiGate启动SSL握手。反过来,FortiGate启动与可信服务器的SSL握手。

在该幻灯片上显示的场景中,Untrusted SSL Certificates设置为Allow。在步骤1中,浏览器启动与不被FortiGate信任的外部站点的连接。在步骤2中,不可信服务器将其自签名SSL证书发送到FortiGate。在步骤3中,FortiGate在其可信证书存储区中没有找到证书的副本,因此不信任SSL证书。在步骤4中,因为FortiGate不信 任SSL证书,所以它生成并签署由Fortinet_CA_Untrusted私钥签名的临时证书。此证书被发送到浏览器。在步 骤5中,浏览器不相信这个证书,因为它在其可信的根CA存储中没有Fortinet_CA_Untrusted证书。浏览器显示 警告,警告用户证书不可信。如果用户决定忽略警告并继续进行,浏览器将用FortiGate启动SSL握手。反过来,FortiGate启动与不可信服务器的SSL握手。

  用户可以选择将此临时证书写入浏览器的可信证书存储区。然而,这将不会影响将来。下次用户连接到相同的不可信站点时,将为会话生成新的临时证书。

在该幻灯片上显示的场景中,Untrusted SSL Certificates设置被设置为Blocked。在步骤1中,浏览器启动与 不被FortiGate信任的外部站点的连接。在步骤2中,不可信服务器将其自签名SSL证书发送到FortiGate。在步 骤3中,FortiGate在其可信证书存储区中没有找到证书,因此不信任SSL证书。在步骤4中,因为FortiGate不信 任SSL证书,所以它停止会话。在步骤5中,FortiGate通知浏览器站点被阻塞。

在幻灯片上显示的场景中,Untrusted SSL Certificates设置被设置为Ignore。在步骤1中,浏览器启动与不被FortiGate信任的外部站点的连接。在步骤2中,不可信服务器将其自签名SSL证书发送到FortiGate。因为设置被设置为Ignore,所以FortiGate不检查证书存储。在步骤3中,FortiGate使用Fortinet_CA_SSL私钥生成并签 署临时证书,并将证书发送到浏览器。在步骤4中,浏览器信任证书,因为相应的CA证书位于其可信根CA存储区中。一旦浏览器完成检查证书,它就用FortiGate启动SSL握手。反过来,FortiGate启动与可信服务器的SSL 握手。

  以相同的方式处理与可信站点的连接。

在深度检查配置文件中,你还可以指定哪些流量,如果有的话,你想豁免SSL检查。你可能需要豁免SSL检查的流量,如果它造成流量问题或法律上的原因。

  例如,在启用HTTP public key pinning(HPKP)的站点上执行SSL检查可能导致流量问题。记住,FortiGate 检查加密流量的唯一方法是拦截来自服务器的证书,并生成一个临时证书。一旦FortiGate呈现临时SSL证书,使用HPKP的浏览器将拒绝继续进行。因此,SSL检查配置文件允许你豁免特定流量。

  保护隐私的法律可能是绕过SSL检查的另一个原因。例如,在一些国家,检查SSL银行相关业务是非法的。为特定类别(如Finance 和 Banking)配置豁免比为每个单独的银行设置防火墙策略简单。

证书由于各种原因而无效。禁用the Allow Invalid SSL Certificates时,FortiGate检查以下内容:

  • SSL证书上的签名加上任何根CA证书到根CA
  • 链中所有证书的有效日期
  • 使用FortiOS中的CRL列表撤销链中的所有证书

  当启用“Allow Invalid SSL Certificates ”选项时,FortiGate接受无效SSL证书以建立安全会话。还可以通过启用Log SSL anomalies来跟踪无效证书。

在选择连接多个服务器的多个客户端时,可以启用SSH Deep Scan(SSH深度扫描)。当启用SSH深度扫描时,FortiGate对SSH流量(基于SSL)进行MITM攻击。出现类似于上一张幻灯片所示的过程:FortiGate基于SSH服务器证书的主题名称生成并签署新证书。如果没有安装FortiGate的CA证书,SSH客户端将看到证书警告。请注意,启用SSH深度扫描允许你将SSH协议数据包的搜索限制到TCP/IP协议的22端口。这并不像搜索所有端口那样全面,但是防火墙的性能更容易。

在此示例中,FortiGate正在保护Web服务器。这是完整SSL检查的第二个配置选项。在为此服务器配置SSL检 查配置文件时,必须选择Protecting SSL Server,将服务器的密钥对导入FortiGate,然后从Server Certificate下拉列表中选择证书。如果需要保护多个服务器,则需要为每个服务器添加SSL检查配置文件,除非服务器共享相同的证书。

  当Alice试图连接到受保护的服务器时,FortiGate通过使用服务器的密钥对与客户端建立安全连接而成为代理Web服务器。FortiGate还与服务器建立安全连接,但充当客户端。这种配置允许FortiGate从任一方向解密数据,扫描它,如果它是干净的,重新加密它,并将其发送到预期的接收者。

  你将需要安装服务器的证书和私钥以及构建信任链所需的证书链。FortiGate为此目的将证书链发送到浏览器。

创建并配置SSL检查配置文件之后,必须将其分配给防火墙策略,以便FortiGate知道如何检查加密的流量。

  没有启用SSL检查配置文件的安全配置文件会导致通过防火墙策略忽略加密协议。当启用SSL检查配置文件时,并不意味着流量要接受FortiGate的SSL检查和MITM解密。相反,它定义了如何处理加密的流量。

  也可以从6.0版本的GUI中选择代理选项配置文件。

当使用FortiGate自签名CA进行完整的SSL检查时,你的浏览器会在每次连接到HTTPS站点时显示证书警告。这是因为浏览器正在接收由FortiGate签署的证书,这是CA不知道和信任的。你可以通过以下操作之一来避免这种警告:

  • 下载Fortinet_CA_SSL证书,并将其安装在所有工作站上作为可信根权限。
  • 使用CA颁发的SSL证书,并确保证书安装在必要的浏览器中。

  SSL证书必须安装在FortiGate和配置为使用SSL检查证书的设备上。如果SSL证书由下级CA签名,则确保整个证书链(从SSL证书到根CA证书)都安装在FortiGate上。验证根CA是否安装在所有客户端浏览器上。出于信任的目的,这是必需的。因为FortiGate在SSL握手期间将证书链发送到浏览器,所以不必在浏览器上安装中间 CA证书。

IETF引入了一些安全措施来减轻MITM攻击。其中一些措施在执行出站完整SSL检查时会产生问题。

  HTTP严格传输安全(HSTS)和HTTP公钥填充(HPKP)是为了阻止MITM攻击而设计的安全功能。根据IETF的RFC 6797的说法,HSTS是一种“允许网站声明自己只能通过安全连接访问的机制”。换句话说,当使用此策略连接到网站时,来自web浏览器的用户将被迫使用HTTPS;没有使用HTTP连接的选项。HPKP是由Web服务器强加的安全功能,它将一个或多个公钥与网站关联指定时间。公钥不必是Web服务器的公钥,它可以是中间或根CA公钥之一,只要它存在于证书链中。当Web浏览器访问启用HPKP的网站时,与网站相关联的公钥 的散列被缓存在客户机上。

  进行转发时,每当网络浏览器连接到网络服务器时,它将比较与缓存的密钥指纹一起呈现的一个或多个密钥。如果浏览器不能匹配至少一个密钥,则SSL握手终止。这是出站完整SSL检查的问题。FortiGate生成一个新的证书和公钥来建立与Web浏览器的SSL会话。FortiGate不能提供真实的证书链,因此连接将被浏览器拒绝。可以预见的是,这可以防止用户连接到很多合法网站。

规避HPKP的选项是有限的。一种选择是对这些网站豁免SSL检查。另一种选择是使用SSL证书检查代替。第三个选项是使用不支持HPKP的浏览器,如Internet Explorer或Edge。谷歌宣布计划停止在Chrome中支持HPKP。最后,在某些浏览器中,可以禁用HPKP。

 小测验。

现在你可以描述证书和深度检查,你可以配置FortiGate来使用这些选项中的任何一个。

  接下来,你将学习如何去管理FortiGate上的数字证书。

在完成这一节之后,你应该能够:

  • 生成证书请求
  • 导入证书吊销列表(CRL)
  • 备份和恢复证书

  通过演示生成证书请求、导入CRL以及备份和恢复证书的能力,你将能够在FortiGate中管理证书。

 获取FortiGate的数字证书的过程从创建证书签名请求(CSR)开始。过程如下:

  1. FortiGate生成CSR。为FATIGATE创建私有和公钥对。CSR是由FortiGate的私钥签名的。
  2. FortiGate向CA提交CSR。CSR包括FortiGate公钥和关于FortiGate的特定信息(IP地址、专有名称、电子邮件地址等)。注意,私钥在FortiGate上仍然是机密的。
  3. CA验证CSR中的信息是有效的,然后创建用于FortiGate的数字证书。证书使用CA的私钥进行数字签名。CA还将证书发布到中央存储库。证书将公钥绑定到FortiGate。
  4. 证书返回到安装在FortiGate上。

  你可以通过点击Generate在GUI的Certificates页上生成CSR。输入所有需要的信息,如IP地址(或FQDN)和公司名称。确保钥匙型号和尺寸符合您的要求。您可以使用以下任一方法向CSA提交CSR:

  • 选择File Based生成CSR作为.csr文件,然后将其发送给CA。
  • 选择Online SCEP,使用简单证书注册协议(SCEP)向CA在线提交CSR。例如,如果使用FortiAuthenticator作为CA,则可以在FortiAuthenticator上启用和配置SCEP并使用此方法。

 

​  如果使用(File Based )基于文件的方法,则将CSR添加到Certificates页上的证书列表中。选择CSR并点击 Download。管理员现在可以向CA提交文件(.csr),这是PKCS#10请求。PKCS#10是证书请求中最常见的格式。CA使用此文件生成签名的证书。

  如果使用联机SCEP方法,输入CA服务器URL用于SCEP和CA管理员提供的挑战密码。CSR是自动提交到网上的。

  一旦通过任一方法提交,FortiGate将证书状态显示为pending,直到CA返回证书并导入FortiGate。此时,状态改变为OK,可以使用数字证书。

  请注意,如果删除CSR,则无法安装证书,必须重新启动。

​  提交CSR的基于文件的方法是手动过程。SCEP过程自动发生在网上,不需要手动文件导入。

  你可以从证书页导入证书。单击“Import”并选择“Local Certificate”。在“Import Certificate ”对话框中,在“Type”字段中,选择“Local Certificate ”,并浏览到由CA提供的.cer文件。

  一旦导入证书,状态就从pending变为OK。请注意,可以添加FortiGate将在SSL通信中使用而不生成和签署 CSR的证书。CA可以在没有CSR的情况下为你的FortiGate创建证书(尽管CA负责为你的FortiGate提供所有证书细节)。这样,你可以使用以下方法添加证书:

  • 上传一个PKCS#12文件,它是一个包含签名证书文件和密钥文件的单个文件。
  • 上传证书文件和密钥文件。

  使用super_admin配置文件的管理员用户可以在证书上设置密码并控制对其私钥的访问。

​  当FortiGate验证证书时,它检查证书的序列号是否没有在导入到FortiGate的CLL中列出。

  你可以通过单击“Import > CRL”从证书页导入CRL。在Import CRL对话框中,你可以选择这四个导入选项之一:HTTP、LDAP、SCEP和本地PC。最后一个选项,即本地PC,要求你在将CRL上传到FortiGate之前本地存储CRL文件。

  在CRL过期之前,FortiGate将使用配置中指定的协议自动检索最新的迭代。

​  当你在备份的FortiGate配置时,最好也备份密钥和证书。

  FortiGate还提供了将数字证书存储为PKCS #12文件的选项,其中包括私钥和公钥以及证书。你可以将PKCS #12文件恢复到任何模型或固件版本的FortiGate设备,或者到非FortiGate设备。仅从CLI上可以执行备份和恢复,它只需要使用一个TFTP服务器。

​  你可以在全局或VDOM中配置CA和本地证书。如果你将证书上传到VDOM,则只能在VDOM内访问。如果你在全局上传证书,全局和所有VDOM均可访问。

  基于全局和VDOM的证书配置包括查看证书细节以及下载、删除和导入证书的能力。

  注意,一些FortiGate证书具有特定的签名算法和名称中的密钥长度,例如Elliptic Curve Digital Signature Algorithm256(ECDSA256)(椭圆曲线数字签名算法256)和RSA2048。策略和技术要求可以决定使用哪些证书。

​  如果你使用的是私有CA颁发出的SSL证书,则必须在可信的CAS列表中安装CA证书。如果你无法做到这一点, 在你访问HTTPS网站时,将在Web浏览器中出现警告消息。加密通信也可能失败,原因是颁发和签署证书的CA是不可信的。

  一旦你从FortiGate下载SSL证书,你就可以将其安装在任何Web浏览器或操作系统中。并非所有浏览器都使用相同的证书存储库。例如,Firefox使用自己的存储库,而Internet Explorer和Chrome存储证书在全系统的存储库中。为了避免证书警告,需要将SSL证书安装为可信根CA。

  安装证书时,请确保将其保存到根主管机构的证书存储区。

​  小测验。

​  现在你知道如何管理FortiGate中的证书。接下来,你将复习本课所涵盖的目标。

​  本课程包括以下目标:

  • 解释为什么和如何FortiGate信任或不信任证书
  • 描述如何在FortiGate与SSL服务器之间进行SSL握手
  • 描述证书检查和两个完整的SSL检查选项
  • 确定实施全面SSL检查的要求和障碍,以及可能的补救措施
  • 描述如何生成证书请求、导入证书吊销列表、以及备份和恢复证书。

 


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值