126由浅入深学网络--IPSec VPN 实战

126由浅入深学网络--IPSec VPN 实战,第1张

在公共网络设施上使用 Tunneling、加密、解密等技术实现私有网络的连接,各个私有连接在公共网络上与其它的私有网络之间相互不可见,这就是 。

也就是说只要满足这样条件的网络我们都将其称之为 虚拟私有网络:
使用共享的公共环境,也就通过公网服务实现各个私有网络的连接;
不同的私有网络间相互不可见的。

(Virtual Private Network),虚拟的私有网络,所谓的虚拟表示的这是一个逻辑上的专用线路来连接远在各个不同地方的私有网络,这里的私有网络便是对外所不公开的、自己使用的局域网。
使用 是因为随着公司业务的扩展在距离很远的地方有不同的分布,但是又需要使他们能够访问私有的数据、资源等等,通过公网访问太不安全,通过专线访问成本太高,所以有了 。可以使用低廉的公网价格享受类似于专线的服务,并且数据经过加密非常的安全。
像我们上节实验所提到的 Frame Relay 帧中继技术所提供的 PVC 永久的虚拟电路与 是有差异的,同时 与 Frame Relay 的性能上还是有很大的差距,我们可以通过 这样一篇文章 来看看他们之间的对比。
相对于帧中继来说 更加的安全、灵活。

在接触到一个新的事物时我们首先会关心:
这个东西是什么?
这个东西用于何处?
这个东西怎么用?

上文我们便了解到 是虚拟专用网络,表示一套逻辑上建立在公网上的私有网络。而在 的发展中属 IPSec (IP Security) 使用的最为广泛,主要在于其有这样的一些特点:
私有性:IPSec 在传输数据包之前,将数据包加密,这样保证了三层及以上层次的数据得到了保护,不易被人窃取私密信息;
完整性:IPSec 在目的地要验证数据包,以此来保证数据包在传输过程中没有被修改。例如提供了 Hash 算法(单向散列算法)中 MD5、SHA1 等等,通过该算法加工后的数据会生成世界上唯一的字符串,即使内容做了一点点的修改,修改一个字节,一个字符,一个比特位重新加工出来的字符串都会与之前的不同;
防重发:通过序列号实现放置数据包被捕捉与重复数据包;
身份验证:用于判断数据是否源于正确的创建者。

这个被广泛使用、不断发展的协议适合应用于这样的一些场景:
Site-to-Site:顾名思义站点到站点间做的配置,例如成都总公司与广州子公司之间的出口路由上配置,这两个出口都是固定长期不会变化的。
End-to-End:顾名思义便是端到端之间的应用,例如我家中的 PC 上有一些私密的数据,此时我出差在外需要访问这些私密的数据,这样 PC 与 PC 之间的连接便是端到端之间的连接。
End-to-Site:顾名思义便是端到站点之间连接的应用,例如我出差在广州,此时我需要访问成都总公司服务器中的数据,该服务器放置在公司的局域网内部,此时我需要访问内网中的数据便将我的终端 PC 与内网的出口路由做链接,这样我便能访问内网中的所有资源了。

IPSec 的使用只需要在两端出口的路由上做简单的配置即可使用。并且配置好后不会有太繁重的维护任务,长期使用。

IPSec 的功能如此的强大能够为我们提供加密、认证等等的一些列功能,这显然不是一个协议所能办到的事情,所以 IPSec(Internet Protocol Security)是一个协议组或者说是协议簇,IPSec 就是这一套协议组合的名字。这个组合专门用于 IP 数据通信的安全方面,其中大致包含这样一些主要的协议:
AH(Authentication Header):网络认证头部协议,主要用于数据源验证、数据完整性校验和防报文重放功能。
ESP(Encapsulating Security Payload):封装安全有效负荷,同样是一个安全协议,与 AH 类似,但是除了 AH 拥有的功能之外还有数据包的加密功能,在 IPSec 中可以使用 AH 或者 ESP 或者两者一起使用。
IKE(Internet Key Exchange):密钥管理协议,在加密过程会涉及的共享密钥,公钥,私钥等等,所以需要一个专门管理的协议。
ISAKMP(Internet Security Association and Key Management Protocol):网络安全联盟的密钥管理协议,这是 IKE 协议中的一部分,AH 与 ESP 的使用时都需要该协议的支持

这就是 IPSec,虽然还是模模糊糊,但是至少知道我们知道了它是什么,用于哪里的。

IPSec 的整个使用过程从原始数据到加密到路由之间的发送筛选等等一系列的过程十分的复杂,此处只是简单的说明一下其运行中的过程:
IP 数据包到达了安全路由器上,路由去会根据此数据包的源 IP 地址、端口号等等的信息与设置好的 ACL 对比(ACL,Access Control List,称之为访问控制列表,就像一个安全名单一样,这样信息与该名单上的信息匹配就会做一些特殊的处理);
若是在 ACL 中安全通过了,便查看路由器中的路由表,有没有相关的目的 IP 地址信息,若是有便根据路由表的指示将其发送至本机的目的端口中去;
在端口上再次匹配 ACL,若是符合条件没有问题,便交给 IPSec 来处理;
IPSec 处理的第一步便是检查 SA 的模式
检查是 Tunel 模式
检查是 Transport 模式(因为两种模式的 IP 数据包头处理方式不同)
IPSec 处理数据,使用 AH 或者 ESP 的方式,亦或者两者同时使用,各种封装的方式。
若是使用 ESP 的方式将加上新的 IP Header,若是使用的 AH 则加上的数据包头与原理的相同。

这边是整个发送数据包的大致过程,两种封装模式的不同导致添加的数据包头就不同,我们可以看 这样一篇文章 来了解之间具体有什么不同。

再多的理论只是也不是太明白,直接 *** 作一番便知道 IPSec 是如何实现安全通信,已经远程两个局域网络的连接。

实验目的:配置实现 IPSec
实验材料:四台路由器

实验方法:
拖动四台路由器(两台用作 PC 的充当,两台用作出口路由的充当)
配置路由器名字与连接线路
配置路由器的端口地址
配置 IPSec
验证 IPSec

1按照惯例,利用我们的终端打开 GNS3,然后拖出四台路由器,做出这样的拓扑:

2按照拓扑图上的要求配置各个端口的 IP 地址。(每个连接线上的是该连接的网段,端口旁的 1 是主机号)

由此我们便配置好了各个端口的 IP 地址,我们可以用两台 PC 去 ping 各自的网关以及直连路由上端口的 IP 地址,例如 PC1:

同时可以使用 PC2、Router1、Router2 测试。
如此我们便完成了第二个步骤。

3配置 RIP 动态路由
在配置 之前我们首先得保证整个网络都是通的,也就是说若是我本地的机器都不能上网这还说个啥的 ,数据加密呀。

配置好动态路由之后我们发现此时的网络环境已经是全网通的状态了。例如 PC1:

4此时的网络处于全网通的状态,我们便可以开始配置 IPSec 了。

上文我们提到过 IPSec 是一个协议组合,里面有很多的协议组成的,有 IKE 的密钥管理,封装方式等等,其中在两个站点建立连接的时候最重要的是两个协商
一个协商是 IKE 安全通道的建立协商
一个协商是 IPSec 安全参数的协商

在 IKE 协商协商的时候比对这样一些参数双方是否一致:
使用的加密算法
Hash 算法(单向散列算法)
DH 算法(Diffie-Hellman key exchange算法)用于密钥交换
身份认证
IKE 协商的生存时间:两个端点协商认可对方之后并不会永久生效,会有个生存时间。超时之后会再次协商''

所谓的协商就是比对双发使用的参数是否一致,而这个参数的集合叫做 IKE policy,也就是 IKE 的策略集。

在 IPSec 协商的时候也会有一些参数:
使用的加密算法
Hash 算法(单向散列算法)
使用的封装模式(AH、ESP)
使用的安全协议
IPsec 协商的生存时间:两个端点协商认可对方之后并不会永久生效,会有个生存时间。超时之后会再次协商

而 IPSec 的协商参数集合也有一个名字叫做 transfer set转换集。
了解整个建立过程之后我们便开始配置 了,通过上述讲的过程我们首先配置会配置 IKE policy 然后配置 IPSec 转换集:

如此我们便配置好了 Router1 的所有协商内容了。你可能会觉得很麻烦要配置这么多集合,为什么不配置在一次,一个 policy,一个 transfer-set,一个 crpyto map。
这也是我们之前所提到过的模块化思想,一个 policy 可用优先级来区分,这样可以设置多个 policy。这是密钥交换、设备之间的认证一部分的功能不应该与 transfer set 糅杂在一起,应为 policy 是设备间的认证,transfer 是应用于端口上,端口之间的协商。
而 crypto map 的独立是因为若是有其他的端口需要使用相同的策略可以直接重用,而不用重新在协议套,不直接使用 transfer set 是因为可能我们使用的转换集是一样的但是我们的 ACL 策略不同,我在使用的使用可以在创建一个 crypto map 使用同样的转换集,只是新建一个 ACL 来应用而已,但是没有 crypto map 我们就必须转换集与 ACL 都重新协议套了。
所以说了这么多,这些的独立就是为了重用,在修改的时候也相互独立,管理方便。
配置好了 Router1,我们便来配置其对端的 Router2,配置上基本一模一样,因为所有的参数在协商的时候都会对比,只有相同的时候才会成功,所以几乎一模一样,但是注意在配置 peer,authentication 的密钥分享地址上要写成 Router1 的 IP 地址哦,因为那才是 Router2 的对端 IP 地址嘛。

由此我们便配置好了 Router2 上的相关参数了

5将相关的 crypto map 应用在相应的端口上

6由此我们便完成了所有关于协商相关的配置,我们便来验证我们的配置是否成功。

此时我们再次使用 PC1 去 ping PC2。再次之前我们先打开 Router1 与 Router2 之间链路上 wireshark 的监听,我们可以看到有这样的数据包出现:

我们捕获到了 isakmp 相关的数据包,说明 Router 之间使用该协议相互通信,当然这并不能说明什么,我们只用这样的命令来查看 session,只要发起过回话就会有 session 的记录:

同时我们还可以使用这个命令查看 sa 的状态:

这些都足以证明我们此时使用的 Tunnel 的加密隧道在通信中。
相关的调试命令有这样一些,在这里就不逐一的为大家展示了,大家可以仔细观察相关的信息:

debug 的使用开启之后不会立即有信息出来,只有在相互通信时才有相关的信息蹦出来。

在比较 IPsec 与 SSL 的之前需要做的第一步是确定组织及其用户的要求,并确定 最重要的特性和功能。

那么通过下面这张图可以直观的看出IPsec 和 SSL 之间的区别,下面的文字内容是加以补充和扩展,更有助于您详细的了解两者之间的区别:

性能:对于现代硬件,IPsec 和 SSL 使用的加密类型通常不会导致性能问题,但组织应该使用基准测试来测试 候选者。IPsec 使用客户端上的一个软件配置客户端和服务器之间的隧道,这可能需要相对较长的设置过程;通过 Web 浏览器运行的 SSL 通常能够更快地建立连接。

安全性:一种类型的 不一定在所有情况下都更安全。确定哪种类型的 更安全的最重要因素是组织基于其 要求的威胁模型。每种 类型都应根据组织要防御的攻击类型进行评估。所使用的加密算法的安全性很重要,但实现的其他组件的安全性也很重要。

数据认证: 可以加密所有传输的数据,但它们也可以添加数据认证以防止篡改,通过使用强大的加密认证算法来验证数据在 客户端和服务器之间的传输过程中没有被修改。但是,它们确实需要安全的密钥交换机制来启用身份验证。虽然 SSL/TLS[1] 协议包含密钥交换算法的协商,但 IPsec 依赖外部协议 Internet 密钥交换来实现此目的。

攻击防御:对 IPsec 和 SSL 的攻击——以及对这些攻击的防御——将根据底层 协议、实现和附加功能而有所不同。IPsec 和 SSL 之间的主要区别在于每种协议的端点不同。IPsec 通常支持远程访问整个网络以及该网络上提供的所有设备和服务。如果攻击者获得对安全隧道的访问权限,他们可能能够访问专用网络上的任何内容。SSL 支持设备、特定系统和应用程序之间的连接,因此攻击面更加有限。

客户端安全性:虽然 IPsec 协议是 TCP/IP 套件的一部分,但它并不总是作为支持 TCP/IP 的 *** 作系统的默认组件来实现。相比之下,SSL 依赖于 TLS,它默认包含在 Web 浏览器中,以及许多其他应用层协议。因此,比较 IPsec 和 SSL 应该包括考虑客户端如何连接和使用 ,以及这些选项的安全性。实施者应考虑客户端如何连接到 、启用 的客户端的攻击面和 用户配置文件。

网关:SSL 网关可能会启用更精细的配置选项,以限制对受保护网络上特定系统或服务的访问。IPsec 产品的网关的可配置性可能要低得多。虽然他们可能添加了数据包过滤功能,使策略或配置能够限制对受保护网络的特定 IP 地址或子集的访问,但应注意避免增加不必要的复杂性和软件附加组件带来的额外安全风险。在任何一种情况下,都可以考虑在网络访问控制系统旁边部署 ,该系统可以通过基于明确定义的策略限制对网络资源的访问来增强整体安全性。

端到端网络:TLS用于传输层,即在进程之间进行通信的网络层。相比之下,IPsec 在网络层运行,在该层中,具有 IP 地址的网络节点之间进行通信。当受保护的 电路的任一端位于使用网络地址转换 ( NAT) 虚拟化 IP 地址的网络上时,这使得保护端到端加密更加困难。使用 IPsec ,实现跨 NAT 网关的安全通信需要额外的配置和管理。

虽然 IPsec 和 SSL 之间的许多差异可归因于正在实施的底层协议之间的差异,但也应考虑具体的实施。

IPSec可以在两种不同的模式下运作:传输模式和隧道模式。

隧道模式仅仅在隧道点或者网关之间加密数据,提供了网关到网关的传输安全性。当数据在客户和服务器之间传输时,仅当数据到达网关才得到加密,其余路径不受保护。用户的整个IP数据包被用来计算AH或ESP头,且被加密。AH或ESP头和加密用户数据被封装在一个新的IP数据包中。

传输模式下,IPSec的保护贯穿全程:从源头到目的地,被称为提供终端到终端的传输安全性。在传送方式中,只是传输层数据被用来计算AH或ESP头,AH或ESP头和被加密的传输层数据被放置在原IP包头后面。

扩展资料:

IPSec隧道模式的应用:

1、IPSec隧道模式对于保护不同网络之间的通信(当通信必须经过中间的不受信任的网络时)十分有用。隧道模式主要用来与不支持L2TP/IPSec或PPTP连接的网关或终端系统进行互 *** 作。

2、使用隧道模式的配置包括:网关到网关、服务器到网关、服务器到服务器AH协议、隧道中报文的数据源鉴别、数据的完整性保护、对每组IP包进行认证,防止黑客利用IP进行攻击。

3、应用于IP层上网络数据安全的一整套体系结构,它包括网络安全协议AuthenticationHeader(AH)协议和EncapsulatingSecurityPayload(ESP)协议、密钥管理协议InternetKeyExchange(IKE)协议和用于网络验证及加密的一些算法等。

参考资料来源:百度百科-TCP/IP筛选VSIPSec策略

参考资料来源:百度百科-IPsecIKE

参考资料来源:百度百科-隧道模式


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10755528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存