本帖最后由 如沐清风 于 2022-10-8 21:34 编辑
什么是 IPsec ?
IPsec(Internet Protocol Security)是为IP网络提供安全性的协议和服务的集合,它是VPN(Virtual Private Network,虚拟专用网)中常用的一种技术。由于IP报文本身没有集成任何安全特性,IP数据包在公用网络如Internet中传输可能会面临被伪造、窃取或篡改的风险。通信双方通过IPsec建立一条IPsec隧道,IP数据包通过IPsec隧道进行加密传输,有效保证了数据在不安全的网络环境如Internet中传输的安全性。
什么是IPsec VPN? VPN(Virtual Private Network,虚拟专用网)是一种在公用网络上建立专用网络的技术。它之所以称之为虚拟网,主要是因为VPN的两个节点之间并没有像传统专用网那样使用端到端的物理链路,而是架构在公用网络如Internet之上的逻辑网络,用户数据通过逻辑链路传输。 按照VPN协议分,常见的VPN种类有:IPsec、SSL、GRE、PPTP和L2TP等。其中IPsec是通用性较强的一种VPN技术,适用于多种网络互访的场景。 IPsec VPN是指采用IPsec实现远程接入的一种VPN技术,通过在公网上为两个或多个私有网络之间建立IPsec隧道,并通过加密和验证算法保证VPN连接的安全。 IPsec VPN保护的是点对点之间的通信,通过IPsec VPN可以在主机和主机之间、主机和网络安全网关之间或网络安全网关(如路由器、防火墙)之间建立安全的隧道连接。其协议主要工作在IP层,在IP层对数据包进行加密和验证。
IPsec是如何工作的?IPsec的工作原理大致可以分为4个阶段: 识别“感兴趣流”。网络设备接收到报文后,通常会将报文的五元组等信息和IPsec策略进行匹配来判断报文是否要通过IPsec隧道传输,需要通过IPsec隧道传输的流量通常被称为“感兴趣流”。 协商安全联盟(Security Association,以下简称SA)。SA是通信双方对某些协商要素的约定,比如双方使用的安全协议、数据传输采用的封装模式、协议采用的加密和验证算法、用于数据传输的密钥等,通信双方之间只有建立了SA,才能进行安全的数据传输。 识别出感兴趣流后,本端网络设备会向对端网络设备发起SA协商。在这一阶段,通信双方之间通过IKE协议先协商建立IKE SA(用于身份验证和密钥信息交换),然后在IKE SA的基础上协商建立IPsec SA(用于数据安全传输)。 数据传输。IPsec SA建立成功后,双方就可以通过IPsec隧道传输数据了。 IPsec为了保证数据传输的安全性,在这一阶段需要通过AH或ESP协议对数据进行加密和验证。加密机制保证了数据的机密性,防止数据在传输过程中被窃取;验证机制保证了数据的真实可靠,防止数据在传输过程中被仿冒和篡改。 如图所示,IPsec发送方会使用加密算法和加密密钥对报文进行加密,即将原始数据“乔装打扮”封装起来。然后发送方和接收方分别通过相同的验证算法和验证密钥对加密后的报文进行处理得到完整性校验值ICV。如果两端计算的ICV相同则表示该报文在传输过程中没有被篡改,接收方对验证通过的报文进行解密处理;如果ICV不相同则直接丢弃报文。 隧道拆除。通常情况下,通信双方之间的会话老化(连接断开)即代表通信双方数据交换已经完成,因此为了节省系统资源,通信双方之间的隧道在空闲时间达到一定值后会自动删除。
实验分析:IPSec VPN手工配置 实验目的:掌握IPSec VPN模式的配置和原理 实验拓扑: 1、观察使用AH协议封装后的IP数据包 2、可以看到单独使用AH的协议情况下,在最内层的是原始IP数据,在原始的IP数据外封装了一层AH头,然后又在AH头部外封装了隧道的源目IP 3、但是单独只用AH协议就会产生一个问题,所有的数据都是以明文的形式在网络中进行传输,数据安全缺乏保障 查看AH头部可以看到,其中主要起到关键作用的是AH SPI(AH安全索引)和AH Sequence(AH 序列号) SPI的作用是标识安全联盟SA,对等体收到数据包后利用SPI在本地寻找到对应的IPSec 策略,利用策略中的加密算法和密钥对数据包进行解密 而序列号的作用则是防重放的,它是从1开始的32位的单增序列号,唯一的标识发送的每一个数据包,如果对等体收到数据包后发现该数据包的序列号已经接收过了,那么拒绝接收
4、通过dis ipsec sa命令可以输出所配置的IPSec的具体信息,其中包含IPSec策略名,受保护的ACL数据流,使用协议的模式以及隧道的源目地址和安全索引 可以看到报文的原始数据和私网的源目地址都被加密,打开ESP加密载荷也只能看到安全索引和序列号,当IPSec对等体收到被加密的数据包后,通过索引找到策略里面对应的算法,密钥解密解封装,并且ESP SPI和ESP Sequence这两个参数不能被加密,SPI是对端对等体用来索引IPSec安全参数的,比如用什么加密和认证算法;而Sequence则是用来防重放的 |