在这节课中将向你展示如何建立一个站点到站点的IPsec。
在今天的IT基础设施上大量使用通过互联网加入私人公司网络。IPsec是RFC标准。你是否有FortiGate设备或组合其它厂商的设备,原理本质上是相同的。
完成本课程后,你需要掌握设置一个简单的两个站点之间的IPsec隧道技能。你将学习如何配置一个基于策略或基于路由,以及如何验证每个通道的状态。
首先,让我们来看看一些基本的IPsec概念。
IPsec是什么?什么时候使用它?
IPsec是一套独立于供应商的标准协议,用于连接两个物理上截然不同的局域网。局域网连接后看上去像是一个单一的本地网络,尽管它们之间隔着互联网。
在理论上,IPsec支持空加密,也就是说,你可以让不加密流量。IPsec还支持null数据的完整性。但这是否比一般的交通方式更有优势呢?没有。没有人能相信流量可能有注入由攻击者的攻击。人们想要一个不认识的人发送的数据很少。大多数人也希望私有网络数据(比如信用卡交易和医疗记录)保持私人性质。
所以,在现实中不管是什么供应商,IPsec几乎总是设置三个重要的好处:
-
认证:验证两端的身份。
-
数据完整性:证明封装数据没有被篡改,遍历一个潜在的恶意网络。
-
加密:以确保只有预期的接收者可以读取消息。
如果你的穿过防火墙,它有助于了解允许使用哪些协议。
实际上,IPsec是一套单独的协议。它包括:
-
因特网密钥交换(IKE):IKE是用于验证节点交换钥匙、协商加密和校验码使用,从本质上讲,它是控制通道。
-
认证报头(AH):包含身份验证头的校验和验证数据的完整性
-
封装安全载荷(ESP):ESP封装安全载荷,加密的有效载荷,从本质上讲,它是数据通道
所以,如果你需要IPsec流量通过防火墙,记住:允许一个协议或端口号通常是不够的。
请注意,IPsec RFC提到了AH。然而,AH不提供加密,一个重要的好处。所以它不是由FortiGate使用。因此,你不需要允许IP协议51。
VPN两端都必须配置匹配设置,两个FortiGate之间,一个FortiGate和FortiClient,或第三方设备和FortiGate。如果设置不匹配,隧道设置将会失败。
IPsec在IP(网络)层提供服务。在建立隧道的两端谈判所使用的加密和认证算法。
经过协商和处理后,数据被加密并封装到ESP包中。
封装是什么?这取决于模式。IPsec可以在两种模式操作:传输模式、隧道模式。
-
传输模式直接封装并保护第四层(传输)和上面。原来的IP报头不保护和没有添加额外的IP报头。
-
隧道模式是一条真正的隧道。整个IP数据包封装和添加一个新的IP报头。一旦IPsec包到达远程局域网并打开,原来的包可以继续它的旅程。
注意,删除VPN-related头后,数据包传输模式不能进一步传播,它没有第二个IP报头,所以它不是可路由的。因此,这种模式通常仅用于端到端(或client-to-client)VPN。
为了创建IPsec道,两边的设备都必须建立它们的安全关联(SAs)和秘密密钥,这些密钥由IKE协议提供。
IPsec架构使用SAs作为将安全功能的基础。SA只是一组算法和参数,用于加密和验证通过隧道的数据。在正常的双向通信中,这个交换是由一对SA来保护的,每个流量方向各有一个。从本质上说,隧道的两边必须就安全规则达成一致。如果双方不能就发送数据和验证对方身份的规则达成一致,那么隧道将无法建立。。
IKE使用了两个截然不同的阶段:第一阶段和第二阶段。
FortiGate是如何打开VPN的?让我们先来讨论一下IKE阶段1。
第1阶段是隧道的每个端点(启动者和响应者)连接并开始建立。
当它们第一次连接时,通道还不安全。中间的攻击者可以截获未加密的密钥。任何一方都不能保证对方的身份,所以他们如何交换敏感的私钥?
他们不能。首先,两端都必须创建一个临时安全通道。他们将使用这一功能来保护强大的身份验证,并为以后的隧道谈判提供真正的钥匙。
让我们看看它是如何工作的。
这是阶段1,在这里,对等点表示hello,并创建一个定义临时安全通道的SA。SA被称为“IKE SA”,是双向的。
设置必须一致。否则,阶段1将会失败。每一方都无法对对方的通信进行解密或验证。
在第1阶段的末尾,协商的IKE SA 被用来协商在第二阶段使用的Diffie-Hellman密钥。
Diffie-Hellman使用公共密钥(两端都知道)加上一个称为nonce的数学因子,以生成一个普通的私钥。
这是至关重要的。对于缺乏自信的人来说,即使攻击者能够监听包含公共密钥的消息,他们也无法确定密钥。
新的私钥用于计算对称加密和身份验证的额外密钥。
ESP协议通常会在NAT的设备上出现问题,其中一个原因是ESP没有像TCP和UDP这样的端口号来区分通信和隧道之间的通信。
为了解决这个问题,NAT穿越(NAT-T)被添加到IPsec规范中。当在两端都启用了NAT-T时,对等点可以检测到路径上的任何NAT设备。如果发现NAT,那么:
-
第2阶段和其余阶段1包更改为UDP端口4500
-
两端都封装在UDP端口4500中
所以,如果你有两个FortiGate,例如,一个有NAT的ISP调制解调器,你可能需要启用这个设置。
当NAT-T被设置为强制时,总是使用UDP端口4500,即使在路径上没有NAT设备的情况下也是这样。
一旦确定了诸如NAT-T和对称密钥等细节,你的FortiGate就准备好建立定义ESP通道的最终SAs。
它是通过IKE阶段2来完成的。
一旦第1阶段建立了一个安全的通道和私有密钥,第2阶段就开始了。
阶段2协商两个IPsec SA的安全参数,不要与IKE SA混淆。它们是第2阶段的SA,而不是第1阶段的SA-ESP,用于在局域网之间传输数据。
一旦ESP开始,IKE第2阶段并不会结束。阶段2定期重新对密码进行重新协商。这是用来维护安全。另外,如果你启用了完全的前保密,每一阶段2将会过期,那么FortiGate将会使用Diffie-Hellman来重新计算新的秘密密钥。通过这种方式,新钥不是从旧钥中派生出来的,这使得攻击者更难破解隧道。
每个阶段1都可以有多个阶段2。什么时候会发生这种情况呢?
例如,你可能想要使用不同的加密密钥,每个子网的流量都是通过隧道。如何选择使用哪个阶段2?通过检查哪些快速模式选择流量匹配。
在第2阶段,我们必须配置一个称为快速模式选择器的设置。他们识别并引导流量到适当的第二阶段。换句话说,它允许粒度的SAs。
选择器的行为类似于防火墙策略。VPN流量必须匹配第2阶段SAs的选择器。如果不这样做,流量就会下降。
在配置选择器时,指定与每个阶段2相匹配的源和目标IP子网。你还可以为允许的流量指定协议号、源和目标端口。在点对点的VPN中,例如将分支办公室的FortiGate连接到总部的FortiGate,双方的配置必须相互镜像。
拨号网络的快速模式选择器配置是不同的,在高级IPsec课程中详细介绍了详细信息。
我们讨论一下如何使用向导配置IPsec隧道。
由于封装样式和其他设置的不同,任何的不匹配都容易导致失败,所以从FortiOS 5.2开始,就有了模板。
你可以使用这些模板来简化设置,减少对设备之间设置的兼容性的猜测。
向导使用这些模板,使IPsec创建更容易。
向导由一个三步的过程组成。管理员提供名称、远程IP、身份验证方法、接口和子网。
当向导完成时,它会自动创建许多所需的对象:
-
地址和地址组
-
静态路由
-
策略
-
阶段1和阶段2设置
如果你需要对进行的详细控制,比如设置IKE版本为2,你仍然可以手动配置它。
在FortiGate上,有两种手动配置IPsec的方法。它们定义了如何为流量创建防火墙策略:基于路由的配置和基于策略的配置。(在我们以前的文档中,“基于路由”被称为“基于接口”)。
你如何知道何时使用基于策略或基于路由?
一般来说,建议使用基于路由。它提供了更多的灵活性和控制能力。
相比之下,透明模式只支持基于策略的。
这两种配置模式有什么不同呢?
-
在基于路由的配置中,FortiGate会自动添加一个虚拟接口,并使用名。通常需要两个防火墙策略:一个是来自本地网络的会话,另一个是来自远程网络的会话。你还需要将流量路由到虚拟网络接口,通常情况下你将使用静态路由。这是由向导创建的配置类型。
-
在基于策略的配置中,通常只需要一个带有操作IPSEC的防火墙策略。策略是双向的。默认情况下,GUI隐藏了基于策略的配置设置。
你的的两边都不需要使用相同的模式进行配置。你可以将一个对等点配置为基于路由器的,另一个作为基于策略的。但是阶段1和阶段2设置必须匹配。
【提示】IPsec VPN 误 区:两边都要使用相同的IPsec VPN模式。
如果你正在配置一个自定义,你可以从向导开始,点击自定义(没有模板)。
配置远程ForitGate的WAN IP地址,并指示该本地FortiGate的哪个网络接口是通向它的网关。FortiGate将使用此连接到另一端。
如果你的伙伴使用预共享密钥来进行初始(IKE)身份验证,那么两个对等点都必须使用相同的预共享密钥进行配置。对于阶段1,选择要提交的加密和身份验证,等等。他们也必须匹配。如果对等点不能在IKE安全性上达成一致,那么即使阶段1也不会建立。
第1阶段完成后,第2阶段开始。这将设置用于实际数据传输的ESP隧道。对于两端的每个子网,可以指定不同级别的ESP安全级别。例如,与财务局域网的连接可能需要更大的密钥大小和更强的身份验证。要做到这一点,需要配置多个阶段2条目。为简单起见,这里只显示了一个阶段2:本地地址是我们的局域网,而远程地址是远程LAN。
请记住,如果流量不匹配任何阶段2 SA的快速模式选择器,IPsec引擎将会丢弃该包。通常,用防火墙策略过滤流量更直观。因此,如果你不想使用快速模式选择器过滤,你可以创建一个阶段2,使用快速模式选择器设置为0.0.0.0/0。
如果你使用该向导,它将创建适合基于路由器的的路由和策略。例如,如果你在透明模式下有一个FortiGate?透明模式只支持基于策略的,不能用向导创建,向导只创建基于路由器的。
请记住,首先,你必须使GUI显示基于策略的IPsec选项。按照前面的步骤配置你的阶段,然后创建策略。当可以看到基于策略的VPN设置时,可以使用额外的防火墙策略操作设置,先选择IPsec,然后选择基于策略的来使用。
使用基于路由器的,防火墙策略是不同的。
-
通常有两条政策,而不是一条。
-
接口与WAN接口不匹配,它与虚拟接口相匹配,在本例中,它被命名为ToRemote。
向导是实现这些的最简单方法。如果你这样做了,你可以跳过这一步。
但是如果你想手动设置,请使用这些示例。
在基于路由的中,你还需要将用于远程LAN的传输路由到IPsec接口。如果你使用了向导,那么这是为你自动创建的。
要手动执行此操作,通常需要添加一条静态路由。
在配置基于策略的时,通常不需要此步骤,因为不属于任何内部子网的流量通过默认网关路由,该网关使用WAN接口。
在GUI中,有一个工具可以监视IPsec的状态。通过这个工具,你可以看到每条隧道有多少流量。你还可以启动和停止单个隧道,并获得更多的详细信息。
如果隧道连通,就会有一个绿色的箭头出现在它的名字旁边。如果隧道不通或不使用,那么就会显示一个红色的箭头。
回顾一下我们讨论过的话题。我们介绍了IPsec技术的概况,其中包括第一阶段、第二阶段、Diffie-Hellman和快速模式选择器。我们还展示了基于策略的和基于路由的配置模式之间的区别,如何配置点对点的,以及如何使用监视器。
飞塔技术 - 老梅子 QQ:57389522