教程篇(7.4) 11. IPsec VPN & FortiGate管理员 ❀ Fortinet网络安全专家 NSE4

  在本课中,你将了解IPsec VPN的架构组件以及如何配置它们。

 完成本课程后,你应该能够实现上图显示的目标。

  通过展示IPsec的能力,你将能够理解IPsec的概念和优势。你还可以成功确定IPsec VPN部署所需的设置,在FortiGate上设置适当的路由和防火墙策略,并为IPsec VPN部署添加冗余。

 什么是IPsec?你应该什么时候使用它?

  IPsec是一套供应商中立的标准协议,用于连接两个物理上不同的局域网。尽管被互联网隔开,但局域网就像是一个单一的逻辑网络一样加入。

  理论上,IPsec确实支持空加密——也就是说,你可以制作不加密流量的VPN。IPsec还支持空数据完整性。但与普通流量相比,这有什么优势吗?不。没有人可以信任可能被攻击者注入攻击的流量。人们很少希望数据由未知来源发送。大多数人还希望私人网络数据(如信用卡交易和医疗记录)保持私密。

  无论供应商如何,IPsec VPN几乎总是具有允许它们提供三个重要优势的设置:

  ● 身份验证:验证两端的身份

  ● 数据完整性(或HMAC):证明封装数据在穿越潜在的敌对网络时没有被篡改

  ● 机密性(或加密):确保只有目标收件人才能阅读消息

 如果你要让VPN通过防火墙,那么了解允许哪些协议是很有帮助的。

  IPsec是一套单独的协议,其中包括:

  ● 互联网密钥交换(IKE):用于验证对等体,交换密钥,并协商所使用的加密和校验和——本质上,它是控制通道

  ● AH:包含身份验证标头——验证数据完整性的校验和

  ● 封装安全有效负载(ESP):封装的安全有效负载——加密的有效负载,本质上是数据通道

  因此,如果你必须通过防火墙传递IPsec流量,请记住,只允许一个协议或端口号通常是不够的。

  请注意,IPsec RFC提到了AH,但是,AH不提供加密,这是一个重要的好处。因此,FortiGate不使用AH。因此,你不需要允许AH IP协议(51)。

  要设置VPN,你必须在VPN的两端配置匹配设置——无论VPN是在两个FortiGate设备(FortiGate和FortiClient)之间,还是第三方设备和FortiGate之间。如果设置不匹配,隧道设置将失败。

  标准IKE流量和IKE NAT-T流量的默认端口分别为UDP 500和UDP 4500。你可以使用上图显示的CLI命令为IKE和IKE NAT-T配置自定义端口。自定义端口用于启动和响应隧道请求。如果检测到NAT,则自定义端口可用于IKE和UDP封装的ESP流量。请注意,无论自定义端口设置如何,FortiGate都会监听端口UDP 4500。这使得FortiGate能够在自定义和标准端口上协商NAT-T隧道。

 IPsec在IP(网络)层提供服务。在隧道建立过程中,两端协商要使用的加密和身份验证算法。

  隧道协商并启动后,数据被加密并封装到ESP数据包中。

 封装了什么?这取决于IPsec使用的封装模式。IPsec可以以两种模式运行:传输模式和隧道模式。

  ● 运输模式直接封装并保护第四层(运输)及以上。它不保护原始IP标头,也不会添加额外的IP标头。

  ● 隧道模式是一个真正的隧道。它封装了整个IP数据包,并在开头添加了一个新的IP头。在IPsec数据包到达远程局域网并解包后,原始数据包可以继续其旅程。

  请注意,在你删除与VPN相关的标头后,传输模式数据包无法进一步传输;它内部没有第二个IP标头,因此无法路由。因此,此模式通常仅用于端到端(或客户端到客户端)VPN。

 IKE使用UDP端口500。如果在NAT场景中启用NAT-T,IKE使用UDP端口4500。

  IKE建立了一个IPsec VPN隧道。FortiGate使用IKE与对等体进行谈判,并确定IPsec安全关联(SA)。IPsec SA定义了FortiGate用于加密和解密对等体数据包的身份验证、密钥和设置。它基于互联网安全协会和密钥管理协议(ISAKMP)。

  IKE定义了两个阶段:阶段1和阶段2。

  有两个IKE版本:IKEv1和IKEv2。尽管IKEv2是一个较新版本,具有更简单的协议操作,但本课只关注IKEv1,因为它被更广泛地采用。

 上图显示了一个表格,比较了FortiOS支持的一些IKEv1和IKEv2功能。IKEv2提供了一个更简单的操作,这是使用单一交换模式的结果,并且需要更少的消息来建立隧道。

  在身份验证方面,两个版本都支持PSK和证书签名。虽然只有IKEv1支持XAuth,但IKEv2支持EAP,这相当于XAuth。然而,FortiOS IKEv2 EAP实现只是传递的。也就是说,FortiOS不支持EAP作为客户端,这意味着除非你使用证书签名,否则你无法使用IKEv2撤销对等体的访问权限。使用IKEv1,你可以使用XAuth拒绝访问VPN对等体,而无需使用证书签名。IKEv2还支持非对称身份验证,使你能够将每个对等体配置为使用不同的身份验证方法。

  两个IKE版本都支持NAT-T。然而,IKEv2原生支持NAT-T,而IKEv1支持NAT-T作为扩展。此外,IKEv2是比IKEv1更可靠的协议,因为与TCP一样,对等体必须确认他们之间交换的消息。IKEv1不支持这种机制。

  当你配置多个拨号IPsec VPN时,IKEv2使通过对等ID匹配目标网关变得更加简单。使用IKEv2,你可以使用标准对等ID属性或Fortinet专有网络ID属性来指示在拨号服务器上匹配的阶段1网关,无论使用的身份验证模式如何。但是,使用IKEv1,你只能使用对等ID,然后将其与野蛮模式和预共享密钥身份验证相结合,或与主模式和证书签名身份验证相结合。

  最后,IKEv2允许响应者选择发起者提议的流量子集。这被称为流量选择器缩小,使你能够拥有更灵活的阶段2选择器配置。流量选择器缩小使对等体能够自动缩小其流量选择器地址,因此它与远程对等体建议的流量选择器一致。

 为了创建IPsec隧道,两个设备都必须建立其SA和密钥,这由IKE协议提供便利。

  IPsec架构使用SA作为在IPsec中构建安全功能的基础。SA是用于加密和验证通过隧道的数据的算法和参数包。在正常的双向交通中,这种交换由一对SA保护,每个流量方向一个。从本质上讲,隧道的两侧必须就安全规则达成一致。如果双方不能就发送数据和验证对方身份的规则达成一致,那么隧道就不会建立。SA到期了,需要在对等体达到他们的生命后重新谈判。

  IKE使用两个不同的阶段:阶段1和阶段2。每个阶段谈判不同的SA类型。阶段1协商的SA称为IKE SA,阶段2协商的SA称为IPsec SA。FortiGate使用IKE SA来设置安全通道来协商IPsec SA。FortiGate使用IPsec SA来加密和解密分别通过隧道发送和接收的数据。

 当远程互联网用户需要安全地连接到办公室以访问公司资源时,请使用远程访问VPN。远程用户连接到位于公司场所的VPN服务器,如FortiGate,以建立安全隧道。用户经过身份验证后,FortiGate根据授予该用户的权限提供对网络资源的访问。

  在远程访问VPN中,FortiGate通常被配置为拨号服务器。在本课中,你将了解有关拨号VPN的更多信息。远程互联网用户的IP地址通常是动态的。由于FortiGate不知道远程用户的IP地址,因此只有远程用户才能发起VPN连接请求。

  远程用户端需要一个VPN客户端,例如FortiClient。你必须配置FortiClient以匹配VPN服务器设置。FortiClient负责建立隧道,以及通过隧道将流量路由到远程站点。

  此外,你可以为许多远程用户在FortiGate设备上使用一个远程访问VPN配置。FortiGate为他们每个人建立了一个单独的隧道。

  站点到站点VPN也被称为局域网到局域网VPN。一个简单的站点到站点部署涉及两个对等体直接通信,以连接位于不同办公室的两个网络。

  当你需要连接两个以上的位置时,你可以使用星型拓扑。在星型拓扑中,所有客户都通过中央枢纽连接。在上图显示的示例中,客户端(分支)是分公司FortiGate设备。要使任何分支机构到达另一个分支机构,其流量必须通过枢纽。这种拓扑的一个优点是所需的配置易于管理。另一个优势是,只有总部的FortiGate必须非常强大,因为它同时处理所有隧道,而分公司的FortiGate设备需要更少的资源,因为它们只维护一个隧道。一个缺点是,分支机构之间通过总部的通信比直接连接要慢,特别在总部相距很远的情况下。此外,如果总部的FortiGate设备出现故障,VPN故障是全公司范围的。

 在网格拓扑中,你可以直接连接FortiGate设备,从而绕过HQ。网格拓扑存在两种变体:全网格和部分网格。全网格将每个位置连接到其他每个位置。FortiGate设备数量越多,每个FortiGate设备上要配置的隧道数量就越多。例如,在具有五个FortiGate设备的拓扑结构中,你需要在每个设备上配置四个隧道,总共20个隧道。与星型拓扑相比,这种拓扑导致更少的延迟和更少的HQ带宽,但需要每个FortiGate设备更强大。部分网格试图妥协,最大限度地减少所需的资源,但也最大限度地减少了延迟。如果每个位置之间不需要通信,则部分网格可能是合适的。然而,每个FortiGate设备的配置比星型拓扑复杂。特别是路由,可能需要广泛的规划。

  一般来说,你拥有的位置越多,星型拓扑比网格拓扑更便宜,但速度更慢。网格对中心位置的压力更小。它更容错,但也更昂贵。

  为了回顾,上图显示了VPN拓扑的高级比较。你应该选择最适合你情况的拓扑。

  当你在GUI上创建IPsec隧道时,FortiGate会将你重定向到IPsec向导。该向导通过指导你完成四到五步流程来简化新VPN的创建。第一步是选择模板类型。如果你想手动配置VPN,你可以选择自定义为模板类型,FortiGate将直接带你进入新VPN的阶段1和阶段2设置。

  如果你希望向导为你配置VPN,请选择最适合你的VPN的模板类型(站到站Hub-and-Spoke远程拨号)。之后,向导会要求你提供关键信息,例如远程网关信息、身份验证方法、所涉及的接口和子网。根据你提供的输入,向导应用一个预配置的IPsec隧道模板,包括IPsec阶段1和阶段2设置以及新隧道工作所需的其他相关防火墙地址对象、路由设置和防火墙策略。

  此外,向导显示一个网络图,该图会根据你提供的输入进行更改。该图的目的是让管理员直观地了解向导根据其收到的输入配置的IPsec VPN部署。

  在向导结束时,向导提供了系统中配置更改的摘要,管理员可以根据需要进行审核。

  如果你是FortiGate的新手,或者对IPsec VPN没有太多经验,建议使用IPsec向导。你可以稍后调整向导应用的配置,以满足你的特定需求。

  请注意,在本课中,你将只了解IKEv1配置。

  IPsec向导的常见用途是为FortiClient用户配置远程访问VPN。向导为FortiClient用户启用IKE模式配置、XAuth和其他适当的设置。在本课中,你将了解有关IKE模式配置和XAuth的更多信息。

  上图的图像显示了IPsec向导用于协助管理员进行FortiClient VPN配置的四步过程。

 在应用新IPsec隧道的配置时,IPsec向导使用上图显示的模板之一。你可以通过选择模板,然后单击查看来查看模板的设置。你无法更改模板设置。

  当隧道的每个对等体(发起者和响应者)连接并开始设置VPN时,阶段1就发生了。发起者是启动阶段1协商的对等体,而响应者是响应发起者请求的对等体。

  当对等体首次连接时,通道不安全。中间的攻击者可以拦截未加密的密钥。两个对等体都没有对另一个对等体的身份的有力保证,那么他们如何交换敏感的私钥呢?他们不能。首先,两个对等体都创建一个安全的隧道。然后,他们稍后使用这个安全隧道来协商隧道的真实密钥。

  现在,你将检查阶段1的工作原理。

  阶段1的目的是验证对等体,并建立一个安全通道,用于协商阶段2 SA(或IPsec SA),这些SA后来用于加密和解密对等体之间的流量。为了建立这个安全通道,协商谈判阶段1 SA。这个SA被称为IKE SA,是双向的,因为它对入站和出站都使用相同的会话密钥。

  为了相互验证,对等体使用两种方法:预共享密钥或数字签名。你还可以启用额外的身份验证方法XAuth来增强身份验证。

  在IKEv1中,有两种可能的模式可以进行IKE SA谈判:主模式和野蛮模式。两端的设置必须一致;否则,阶段1协商失败,两个IPsec对等体都无法建立安全通道。

  在阶段1结束时,协商的IKE SA用于协商阶段2中使用的DH密钥。DH使用公钥(两端都知道)加上一个名为nonce的数学因子,以生成一个公共私钥。使用DH,即使攻击者可以监听包含公钥的消息,他们也无法确定密钥。

  阶段1配置在GUl上分为四个部分:网络、身份验证、阶段1提案和XAUTH。你将了解每个部分可用的设置。你将在单独的图片上更详细地了解其中一些设置。

  上图显示的部分与网络设置相对应。该部分包括与IPsec隧道连接相关的设置:

  ● IP版本:选择用于IPsec隧道的IP版本。请注意,这仅定义了隧道外层的IP版本(封装后)。被封装的数据包(受保护的流量)可以是IPv4或IPv6,其IP版本在阶段2选择器中定义。

  ● 对端网关:定义远程网关的类型。有三种类型:静态IP地址、拨号用户和动态DNS。在本课的后面,你将进一步了解这些类型。

  ● IP地址:远程网关的IP地址。仅当你选择静态IP地址作为远程网关时,才会显示此字段。

  ● 接口:指IPsec隧道在本地FortiGate上终止的接口。通常,这是连接到互联网或广域网的接口。你需要确保通过此接口有通往远程网关的活动路由,否则隧道不会出现。

  ● 本地网关:当隧道终止的接口分配了多个地址时,启用此设置,并且你想要指定用于隧道的地址。当你启用此设置时,你会看到三个选项:主IP、辅助IP和指定。选择指定是否要使用与主要或次要IP地址不同的IP地址。

  ● 模式配置:通过IKE启用自动配置。当你启用模式配置并将远程网关设置为静态IP地址或动态DNS时,FortiGate充当IKE模式配置客户端。如果你将远程网关设置为拨号用户,FortiGate将充当IKE模式配置服务器,GUI上会出现更多配置选项。在本课中,你将了解有关模式配置的更多信息。

 以下是网络部分GUl上可用的其他选项: 

  ● NAT穿越:该选项控制NAT穿越的行为。在本课的后面,你将了解有关NAT穿越的更多信息。

  ● 保持存活:当你启用NAT穿越时,FortiGate会以配置的频率发送保持存活探测报文。

  ● 对等体状态探测:使用对等体状态探测(DPD)来检测死隧道。有三种DPD模式。按需是默认模式。在本课的后面,你将了解有关DPD的更多信息。

  ● 前向纠错:前向纠错(FEC)是一种技术,你可以用它来减少在嘈杂链路上建立的IPsec隧道中的再传输次数,而牺牲使用更多带宽。你可以在出口和入口处启用FEC,并且仅当你禁用IPsec硬件卸载时才受支持。在本课的后面,你将了解有关IPsec硬件卸载的更多信息。

  高级

  ● 添加路由:如果你通过IPsec使用动态路由协议,并且不希望FortiGate自动添加静态路由,请禁用此设置。

  ● 自动发现发送者:如果你希望中央促进分支的ADVPN快捷方式协商,请在中央启用此设置。启用后,中央向分支发送快捷方式报价,以表明它可以建立远程分支的快捷方式。

  ● 自动发现接收者:如果你想让分支协商ADVPN快捷方式,请在分支上启用此设置。

  ● Exchange接口IP:启用此设置以允许交换IPsec接口IP地址。这允许中央和分支之间进行点对多点连接。

  ● 设备创建:启用此设置以指示FortiOS为每个拨号客户端创建界面。为了提高性能,请在具有许多拨号客户端的拨号服务器中禁用此设置。

  ● 隧道聚合成员:FortiGate允许你将多个IPsec隧道聚合到单个接口中。如果你希望隧道成为聚合成员,请启用此选项。

 在配置VPN的远程网关类型时,你有三个选项:拨号用户静态IP地址动态DNS

  当远程对等IP地址未知时,使用拨号用户。IP地址未知的远程对等体充当拨号客户端,使用动态IP地址而没有动态DNS的分支机构和移动VPN客户端通常就是这种情况。拨号客户端必须知道远程网关的IP地址或FQDN,该网关充当拨号服务器。由于拨号服务器不知道远程对等地址,只有拨号客户端才能启动VPN隧道。

  通常,拨号客户端是在计算机或手持设备上使用FortiClient的远程和移动员工。你还可以拥有一个FortiGate设备作为远程办公室的拨号客户端。你可以在FortiGate上使用一个拨号服务器配置,用于来自许多远程办公室或用户的多个IPsec隧道。

  当你知道远程对等地址时,请使用静态IP地址或动态DNS。如果你选择静态IP地址,则必须提供IP地址。如果你选择动态DNS,那么你必须提供一个完全限定的域名(FQDN),并确保FortiGate可以解析该FQDN。当两个对等体都知道远程对等体地址时,即两个对等体上的远程网关都设置为静态IP地址或动态DNS,那么任何对等体都可以启动VPN隧道。

  请注意,在拨号设置中,拨号客户端只是一个VPN对等体,远程网关设置为静态IP地址或动态DNS。设置VPN时,你可以组合不同类型的远程网关。出于明显的原因,两个对等体都将远程网关设置为拨号用户的隧道将不起作用。

  IKE模式配置类似于DHCP,因为服务器将IP地址、网络掩码和DNS服务器等网络设置分配给客户端。此任务通过IKE消息进行。

  当你在充当拨号服务器的FortiGate设备上启用模式配置时,它会将网络设置推送到拨号客户端。拨号客户端通常是FortiClient对等体,但它们也可以是FortiGate对等体。

  要使IKE模式配置正常工作,你必须在两个对等体上启用该功能。在FortiClient上,模式配置默认启用,但在FortiGate上,你必须手动启用它。

  请注意,只有当你将远程网关设置为拨号用户时,IKE模式配置设置才会显示在GUI上。在作为拨号客户端的FortiGate设备上,你可以在GUl上选择模式配置,但不会显示其他设置。

 ESP协议通常存在交叉执行NAT的设备的问题。其中一个原因是ESP不使用端口号,如TCP和UDP,来区分一个隧道和另一个隧道。

  为了解决这个问题,将NAT穿越(NAT-T)添加到IPsec规范中。当两端都启用NAT-T时,对等体可以检测路径上的任何NAT设备。如果找到NAT,那么两个对等体都会发生以下情况:

  ● IKE协商切换到使用UDP端口4500。

  ● ESP数据包封装在UDP端口4500中。

  因此,如果你后面有两台FortiGate设备,例如执行NAT的ISP调制解调器,你可能需要启用此设置。

  当你将设置NAT穿越设置为强制时,即使路径上没有NAT设备,也会始终使用UDP端口4500。

  当你启用NAT-T时,Keepalive Frequency选项显示FortiGate发送Keepalive探针的间隔(以秒为单位)。当路径上有一个或多个路由器执行NAT时,你需要NAT-T。keepalive探针的目的是使IPsec连接在路径沿线的这些路由器上保持活动状态。

  在对等体协商隧道的IPsec SA后,因此,该隧道被考虑后,对等体通常不会协商另一个IPsec SA,直到它过期。在大多数情况下,IPsec SA每隔几个小时就过期一次。这意味着,如果在IPsec SA到期前沿隧道路径出现网络中断,即使站点之间的通信中断,对等体仍将继续通过隧道发送流量。

  当你启用DPD时,DPD探针将被发送来检测失败(或死)隧道,并在其IPsec SA到期前将其关闭。当你有通往同一目的地的冗余路径时,并且当主连接无法保持站点之间的连接时,你希望故障转移到备份连接时,此故障检测机制非常有用。

  FortiGate支持三种DPD模式:

  ● 按需:如果只有出站流量通过隧道,但没有入站,FortiGate会发送DPD探针。由于网络应用程序通常是双向的,因此仅观察出站方向的流量可能是网络故障的迹象。

  ● 空闲:当隧道中没有观察到流量时,FortiGate会发送DPD探测器。闲置的隧道并不一定意味着隧道已死亡。如果你有很多隧道,请避免此模式,因为DPD引入的开销可能是非常资源密集的。

  ● 禁用:FortiGate仅回复收到的DPD探针。FortiGate从不向远程对等体发送DPD探针,因此无法检测到死隧道。

  默认的DPD模式是按需。在可扩展性方面,按需是比空闲更好的选择。

  现在,你将了解阶段1配置中的认证部分:

  ● 方法:FortiGate支持两种身份验证方法:预共享密钥和签名。当你选择预共享密钥时,你必须使用相同的预共享密钥配置两个对等体。当你选择签名时,阶段1认证基于数字证书签名。在这种方法下,一个对等体上的数字签名通过另一个对等体上安装的CA证书的存在来验证。也就是说,在本地对等体上,你需要同时安装本地对等体的证书和签发远程对等体证书的CA证书。

  ● 版本:允许你选择要使用的IKE版本。选择版本2时,野蛮和主模式会消失,因为它们不适用于IKEv2。

  ● 模式:指IKEv1模式。有两种选择:野蛮和主模式(ID保护)。在本课中,你将了解有关这些模式的更多信息。

 IKE支持两种不同的协商模式:主模式和野蛮模式。你应该用哪一个?

  为了回答这个问题,我们可以分析三个类别:安全、性能和部署。

  在安全方面,主模式被认为更安全,因为预共享密钥散列是加密交换的,而在野蛮模式下,散列是未加密交换的。虽然攻击者仍然必须猜测明文预共享密钥才能成功,但预共享密钥散列已在主模式下加密,这一事实大大降低了成功攻击的机会。

  就性能而言,野蛮模式可能是一个更好的选择。这是因为协商仅在交换三个数据包后完成,而在主模式下,交换六个数据包。因此,当大量隧道在同一台FortiGate设备上时,你可能希望使用野蛮模式,而且性能是一个问题。

  野蛮模式的另一个用例是,在同一FortiGate IP地址上终止多个拨号隧道,并且远程对等体使用对等体ID进行身份验证,因为它的IP地址是动态的。由于对等体ID信息在野蛮模式协商中在第一个数据包中发送,因此FortiGate可以将远程对等体与正确的拨号隧道匹配。后者在主模式下是不可能的,因为对等ID信息在最后一个数据包中发送,并在隧道被识别后发送。

  当两个对等体都知道对方的IP地址或FQDN时,你可能希望使用主模式来利用其更安全的协商。在这种情况下,FortiGate可以通过其IP地址识别远程对等体,并因此将其与正确的IPsec隧道相关联。

 现在,你将了解阶段1配置的阶段1提案部分。本节允许你启用FortiGate在协商IKE SA(或阶段1 SA)时支持的不同提案。你可以组合不同的参数来满足你的安全需求。你必须至少配置一个加密和身份验证算法的组合,或几个。

  ● 加密:选择用于加密和解密数据的算法。

  ● 认证:选择用于验证数据完整性和真实性的身份验证算法。

  ● Diffie-Hellman组:在IKE SA协商期间使用Diffie-Hellman(DH)算法。在阶段1使用DH是强制性的,不能禁用。你必须至少选择一个DH组。DH组编号越高,阶段1协商就越安全。然而,更高的DH组数也会导致更长的计算时间。

  ● 密钥生存时间:定义IKE SA的生命周期,在生命周期结束时,协商一个新的IKE SA。

  ● 本地ID:如果对等体接受特定的对等体ID,请在此字段中键入相同的对等体ID。 

 阶段1支持两种类型的认证:预共享密钥和数字签名。XAuth扩展,有时称为阶段1.5,强制远程用户使用其凭据(用户名和密码)进行额外身份验证。因此,如果你启用它,则会交换额外的身份验证数据包。有什么好处?更强的身份验证。

  当你将对端网关设置为拨号用户时,FortiGate充当身份验证服务器。XAUTH部分显示身份验证服务器类型选项:PAP服务器CHAP服务器Auto服务器。在上图显0示的示例中,选择了Auto服务器,这意味着FortiGate会自动检测客户端使用的身份验证协议。

  选择身份验证服务器类型后,你配置了用户组匹配的执行方式。有两个选项:从策略继承选择。后者用于上图的示例中,并允许你选择FortiGate上可用的用户组之一。请注意,当你选择选择时,你必须为每个需要不同网络访问策略的用户组配置单独的拨号VPN。

  使用XAuth验证VPN用户的另一种方法是选择从策略继承。当你选择此选项时,FortiGate会根据用户匹配的IPsec策略对用户进行身份验证,因此,控制网络访问的配置更简单。也就是说,你可以通过为不同的用户组配置多个策略来控制网络访问,而不是为不同的用户组配置多个隧道。从策略继承选项遵循你在SSL VPN课程中学到的用于SSL VPN远程用户的类似身份验证方法。

  当远程网关设置为静态IP地址或动态DNS时,FortiGate充当客户端,XAUTH部分将客户端选项显示为类型。然后,你可以通过XAuth设置FortiGate用于对远程对等体进行身份验证的凭据。

 在阶段1建立了交换数据的安全通道后,阶段2开始。

  阶段2通过阶段1建立的安全通道协商两个IPsec SA的安全参数。ESP使用IPsec SA来加密和解密站点之间交换的流量,一个出站和一个入站。

  当ESP开始时,阶段2不会结束。阶段2定期重新协商IPsec SA,以保持安全性。如果你启用完全前向保密,每次阶段2到期时,FortiGate都会使用DH重新计算新的密钥。通过这种方式,新密钥不是从旧密钥中派生的,这使得攻击者更难破解隧道。

  每个阶段1可以有多个阶段2。什么时候会发生这种情况?例如,你可能希望对流量穿过隧道的每个子网使用不同的加密密钥。FortiGate如何选择使用哪个阶段2?通过检查哪个阶段2选择器(或快速模式选择器)与流量匹配。

  在阶段2中,你必须定义IPsec隧道的加密域(或兴趣流)。加密域是指你希望使用IPsec保护的流量,它由你的阶段2选择器配置决定。

  你可以配置多个选择器,以便对流量进行更精细的控制。当你配置阶段2选择器时,你通过指示以下网络参数来指定加密域:

  ● 本地地址远程地址:如上图所示的示例所示,你可以使用不同的地址范围定义IPv4或IPv6地址。当选择命名地址或命名IPv6地址时,FortiGate允许你分别选择系统中配置的IPv4或IPv6防火墙地址对象。

  ● 协议:在高级部分,默认设置为全部。

  ● 本地端口远程端口:也显示在高级部分,并默认设置为全部。这仅适用于基于端口的流量,如TCP或UDP。你将在本课的后面部分了解有关高级部分的更多信息。

  请注意,在流量被防火墙策略接受后,如果流量与配置的任何阶段2选择器不匹配,则在进入IPsec隧道之前丢弃流量。出于这个原因,通常,使用防火墙策略过滤流量更直观。因此,如果你不想使用阶段2选择器过滤,你只需创建一个阶段2选择器,将本地和远程地址都设置为任何子网,如上图所示,然后使用防火墙策略来控制IPsec隧道上接受哪些流量。

 对于每个阶段2选择器,你需要配置一个或多个阶段2提案。阶段2提案定义了对等体支持的算法,用于在隧道上加密和解密数据。你可以在谈判IPsec SA时配置多个提案,以向远程对等体提供更多选项。

  与阶段1一样,你需要选择加密和身份验证算法的组合。有些算法被认为比其他算法更安全,因此请确保选择符合你安全策略的算法。然而,请注意,算法的选择对FortiGate IPsec性能有直接影响。例如,众所周知,3DES是一种比DES和AES更耗费资源的加密算法,这意味着如果你选择3DES作为加密算法,你的IPsec吞吐量可能会受到负面影响。此外,请注意,如果你选择NULL作为加密算法,流量将不会加密。

  此外,一些加密算法,如CHACHA20POLY1305,不支持硬件卸载。也就是说,如果你有包含网络处理器(NP)单元的FortiGate设备,如果你选择NP单元型号支持IPsec卸载的算法,如AES或DES,则可以实现更高的IPsec性能。有关IPsec硬件卸载支持的加密算法列表,请参阅https://docs.fortinet.com。

  在配置阶段2提案时,你可以选择启用重放检测,以检测ESP数据包上的反重放攻击。请注意,这是一个本地环境,因此,它没有作为对等体在第二阶段协商期间提出的提案的一部分。

  此外,如果你启用完全前向保密,FortiGate在IPsec SA协商期间使用DH来增强安全性。

  IPsec SA定期重新协商,以提高安全性,但这种情况何时发生?这取决于阶段2提案上配置的密钥周期设置。

  IPsec SA的过期由配置的密钥周期类型和阈值决定。默认情况下,密钥周期设置为秒(基于时间)。这意味着,当SA持续时间达到设置为秒的秒数时,SA被视为过期。你还可以将密钥寿命设置为千字节(基于卷),在使用该SA加密和解密的流量达到设置的阈值后,SA将过期。或者,你可以选择两者作为密钥周期类型,FortiGate根据该类型跟踪SA的持续时间和流量。然后,当达到两个阈值中的任何一个时,SA被视为过期。请注意,密钥周期阈值不必匹配才能出现隧道。当阈值不同时,对等体同意使用两者之间提供的最低阈值。

  当IPsec SA到期时,FortiGate需要协商新的SA,以继续通过IPsec隧道发送和接收流量。从技术上讲,FortiGate从各自的阶段2选择器中删除过期的SA,并安装新的SA。如果IPsec SA的重新谈判需要太多时间,那么FortiGate可能会因为没有活跃的SA而减少有趣的流量。为了防止这种情况,你可以启用自动协商。当你这样做时,FortiGate不仅会在当前SA到期前协商新的SA,而且还会立即开始使用新的SA。后者通过IPsec SA重新协商防止流量中断。

  启用自动协商的另一个好处是,即使没有有趣的交通,隧道也会自动出现并保持正常。当你启用自动密钥保持存活并禁用自动协商时,除非有有趣的流量,否则隧道不会自动出现。然而,在隧道启动后,它会保持这种状态,因为FortiGate会定期在隧道上发送保持存活的数据包。请注意,当您启用自动协商时,自动密钥保持存活是隐式启用的。

  在某些FortiGate型号上,你可以将IPsec流量的加密和解密卸载到硬件。支持的算法取决于FortiGate上存在的NP单元型号。有关IPsec硬件卸载支持的加密算法列表,请参阅https://docs. fortinet.com。

  默认情况下,为受支持的算法启用硬件卸载。上图显示了如有必要,你可以使用这些命令来禁用每个隧道的硬件卸载。

  FortiGate支持两种类型的IPsec VPN:基于路由和基于策略。基于策略是一种传统的IPsec VPN,仅出于向后兼容的原因才受支持,不建议在新部署中使用它。除非另有说明,否则本课中的所有IPsec VPN引用都适用于基于路由的IPsec VPN。

  在基于路由的IPsec VPN中,FortiGate会自动添加一个带有VPN名称的虚拟接口。这意味着你不仅可以像配置非IPsec流量一样为IPsec流量配置路由和防火墙策略,还可以利用与同一目的地的多个连接的存在来实现冗余。

  基于路由的IPsec VPN的另一个好处是,你可以部署IPsec VPN的变体,如L2TP-over-IPsec和GRE-over-IPsec。此外,你还可以为可扩展性和最佳路径选择启用动态路由协议。

  虽然你可以为IPsec VPN使用动态路由协议,但本课仅涵盖静态路由的使用。

  IPsec VPN所需的路由配置取决于配置的远程网关类型。当你将远程网关设置为拨号用户并启用添加路由时,FortiGate会在阶段2协商期间自动为远程对等体显示的本地网络添加静态路由。此外,只有在阶段2结束后,路线才会添加到路由表中。如果阶段2下线,静态路由将从路由表中删除。

  当你将远程网关设置为拨号用户并禁用添加路由时,FortiGate不会自动添加静态路由。在这种情况下,远程对等体之间使用动态路由协议来交换路由信息。

  当远程网关设置为静态IP地址动态DNS时,你必须配置静态路由。当你配置静态路由时,你选择IPsec隧道的虚拟接口作为传出接口。

  你必须配置至少一个接受IPsec隧道流量的防火墙策略。否则,隧道将不会出现。

  当你为非IPsec流量配置防火墙策略时,该策略决定了启动会话的流量方向。这同样适用于IPsec流量。出于这个原因,你通常希望为你的IPsec VPN配置至少两个防火墙策略:一个传入策略和一个传出策略。传入策略允许从远程站点发起流量,而传出策略允许从本地网络发起流量。

  请注意,策略配置为虚拟隧道接口(或阶段1名称)作为传入或传出接口。

  如何使你的IPsec VPN部署更具弹性?为你的站点提供第二个ISP连接,并配置两个IPsec VPN。如果主IPsec VPN失败,可以使用另一个隧道。

  有两种类型的冗余VPN:

  ● 部分冗余:在一个对等体上(通常是中央,如果主ISP停机,则可以使用备份ISP),每个VPN在不同的物理端口上终止。这样,FortiGate就可以使用替代的VPN。在另一个对等体上,每个VPN在同一个物理端口上终止,因此分支不容错。

  ● 完全冗余:两个对等体在不同的物理端口上终止他们的VPN,因此它们都是容错的。

  那么,如何配置部分冗余或完全冗余的VPN?

  首先,为每个路径创建一个阶段1——为主VPN创建一个阶段1,为备份VPN创建一个阶段1。你还应该在两端启用DPD。

  其次,为每个阶段1至少创建一个阶段2定义。

  第三,你必须为每个VPN至少添加一条静态路由。主VPN的路由必须比备份具有更低的距离(或更低的优先级)。这导致FortiGate在可用时使用主VPN。如果主VPN失败,那么FortiGate会自动使用备份路由。或者,你可以使用动态路由协议,如OSPF或BGP。

  最后,配置防火墙策略,以允许流量通过主VPN和备份VPN。

 在GUI仪表板上,你可以使用IPsec小部件来监控IPsec VPN的状态。该小部件显示IPsec VPN的阶段1和阶段2状态。

  你还可以调出或调出单个VPN,并获取更多详细信息。当你使用IPsec小部件调出IPsec VPN时,你可以在调出特定的阶段2选择器或该VPN中的所有阶段2选择器之间进行选择。因为提出阶段2选择器需要首先提出阶段1,然后提出阶段2选择器,其阶段1也会出现。

  要关闭VPN,你可以在关闭特定的阶段2选择器、所有选择器或整个隧道之间进行选择。当你拆除整个隧道时,你将拆除所有阶段2选择器以及阶段1。

  名称列表示VPN状态。当至少一个阶段2选择器启动时,VPN就会启动。如果所有阶段2选择器都已关闭,VPN状态也已关闭。阶段1和阶段2选择器列分别表示阶段1和阶段2选择器的状态。

  IPsec小部件还显示通过隧道发送和接收的数据量。当你右键单击任何列时,会打开一个菜单,其中包含所有可用列的列表。你可以启用其他列来获取有关IPsec隧道的更多详细信息。

  在上图显示的示例中,ToRemote VPN已启动,因为其阶段2选择器(ToRemote)中至少有一个已启动。

  如果你将远程网关设置为静态IP地址动态DNS,则在阶段1出现后,这些隧道的静态路由在路由表中处于活动状态。阶段1协商是自动开始的,因为默认情况下阶段1启用了自动协商。这种行为允许FortiGate将有趣的流量匹配到正确的隧道。此外,如果阶段2没有启动,与静态路由匹配的流量会触发阶段2协商,最终导致隧道(或阶段2)出现。

  当你将远程网关设置为拨号用户时,默认情况下,在阶段2出现后,会添加目标网络的静态路由。静态路线设置的距离是15。如果阶段2关闭,该路由将从路由表中删除。

  默认情况下,FortiGate会记录IPsec VPN事件。要查看IPsec VPN事件日志,请单击日志和报告>系统事件>VPN事件

  日志跟踪阶段1和阶段2谈判的进展,并报告隧道上下事件和DPD故障等事件。有关IPsec日志的更多信息,请访问https://docs.fortinet.com。

  相同的命令diagnose vpn tunnel提供了列出、关闭、激活或刷新VPN隧道的选项。

  命令diagnose vpn tunnel list显示所有活动隧道的当前IPsec SA信息。

  命令diagnose vpn tunnel list name <tunnel name>提供有关特定隧道的SA信息。

  命令get vpn ipsec tunnel details 提供了活动IPsec隧道的信息。

  输出显示流量计数器、协商快速模式选择器以及协商加密、身份验证和密钥。

  命令diagnose vpn ike gateway list还提供了有关隧道的一些详细信息。

  命令diagnose vpn ike gateway clear关闭阶段1。使用此命令时要小心,因为它具有全局效果。这意味着在不指定阶段1名称的情况下运行它会导致所有VDOM的所有阶段1都被清除。

  上图总结了最常见的IPsec问题和解决方案。

  如果隧道没有出现,请使用IKE实时调试。在这种情况下,通常会出现错误消息。

  当隧道不稳定时,你通常会看到DPD数据包正在丢失,这表明问题可能出在ISP方面。

  如果隧道已启动,但流量没有通过它,请使用调试流程。其中一个对等体可能错误地丢弃数据包或路由流量。另一种可能性是数据包与快速模式选择器不匹配,因此FortiGate会丢弃数据包。

  答案:A

  答案:A

 答案:B

  上图显示了你在本课中涵盖的目标。

  通过掌握本课中涵盖的目标,你了解了IPsec协议的工作原理,以及如何在FortiGate上配置和监控IPsec VPN。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值