IPSec

背景

越来越多的企业直接通过Internet进行互联,但由于IP协议未考虑安全性,数据传输的安全性无法保证,为了解决这个问题,IPSec(Internet Protocol Security)应运而生。IPSec是对IP的安全性补充,其工作在IP层,为IP网络通信提供透明的安全服务。

定义

IPSec是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它能保证数据安全前提是在IPSec对等体(即运行IPSec协议的两个端点)之间成功建立安全联盟(SA)。
安全联盟SA(Security Association)是通信对等体间对某些要素的协定,描述了对等体间如何利用安全服务(例如加密)进行安全的通信。这些要素包括对等体间使用何种安全协议,需要保护的数据流特征、对等体间传输的数据的封装模式,协议采用的加密和验证算法,以及用于数据安全转换、传输的密钥和SA的生存周期等。
安全联盟SA由一个三元组来唯一标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址和使用的安全协议号(AH或ESP)。其中,SPI是为唯一标识SA而生成的一个32位比特的数值,它被封装在AH和ESP头中。
IPSec SA是单向的逻辑连接,通常成对建立(Inbound和Outbound)。因此两个IPSec对等体之间的双向通信,最少需要建立一对IPSec SA形成一个安全互通的IPSec隧道,分别对两个方向的数据流进行安全保护;IPSec SA的个数还与安全协议相关,如果只使用AH或ESP来保护两个对等体之间的流量,则对等体之间就有两个SA,每个方向上一个。如果同时使用AH和ESP两个协议,那么对等体之间就需要4个SA,每个方向各两个;


截屏2025-02-12 上午8.32.40.png
截屏2025-02-12 上午8.41.28.png

安全协议

IPSec使用认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两种IP传输层协议来提供认证或加密等安全服务。

  • AH协议
    AH仅支持认证功能,不支持加密功能。AH在每一个数据包的标准IP报头后面添加一个AH报文头;AH对数据包和认证密钥进行Hash计算,接收方收到带有计算结果的数据包后,执行同样的Hash计算并与原计算结果比较,从而验证整个IP报文的完整性;

  • ESP协议
    ESP支持认证和加密功能。ESP在每一个数据包的标准IP报头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾(ESP Trailer和ESP Auth data),相比较AH协议,ESP将数据中的有效载荷进行加密后再封装到数据包中,以保证数据的机密性;

封装模式

封装模式是指将AH或ESP相关的字段插入到原始IP报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种, 两者区别如下:
1.从安全性来看,隧道模式优于传输模式。它可以完全地对原始IP数据包进行验证和加密。隧道模式下可以隐藏内部IP地址,协议类型和端口;
2.从性能来看,隧道模式因为有一个额外的IP头,所以它将比传输模式占用更多带宽;
3.从场景来讲,传输模式主要应用于两台主机或一台主机和一台VPN网关之间通信;隧道模式主要应用于两台VPN网关之间或一台主机与一台VPN网关之间的通信;
以下是两种模式的报文结构;


截屏2025-02-15 下午9.19.50.png
截屏2025-02-15 下午9.20.46.png

IKE协议

IPSec sa的建立需要采用因特网密钥交换IKE协议(Internet Key Exchange),IKE协议建立在Internet安全联盟和密钥管理协议ISAKMP定义的框架上,也就是说IKE协议是ISAKMP框架的一种实现,位于应用层,采用UDP协议进行传输;

IKE与IPSec的关系如图所示,对等体之间建立一个IKE SA完成身份验证和密钥信息交换后,在IKE SA的保护下,根据配置的AH/ESP安全协议等参数协商出一对IPSec SA。此后,对等体间的数据将在IPSec隧道中加密传输;

截屏2025-02-16 上午9.51.23.png

实验

以下实验通过在R1 0/0/1 接口和R2 0/0/0接口之间采用默认配置通过IKE协商方式建立IPSec隧道;

截屏2025-02-13 下午10.15.49.png

第一阶段,ISAKMP Main Mode,对应IKE 主模式,主要用来建立IKE SA,管理通道,为第二阶段的 IKE Quick Mode 提供安全通信保障,第二阶段用来建立IPSec sa。IKEv1协商阶段1支持两种协商模式:主模式(Main Mode)和野蛮模式(Aggressive Mode),两阶段的协商过程如下:

截屏2025-02-17 上午8.43.55.png
截屏2025-02-17 上午8.44.03.png

以下是配置IKE主模式抓包截图;

1.第14和15条记录主要完成IKE安全提议的交换,R1会将自己的IKE安全提议发送给对端,由对端进行匹配,R2则从自己优先级最高的IKE安全提议开始,按照优先级顺序 (IKE安全提议的序号表示,数值越小,优先级越高)与对端进行匹配,直到找到一个匹配的IKE安全提议来使用。交换的内容包括:加密算法、认证算法、DH 组;

截屏2025-02-16 上午10.52.32.png
截屏2025-02-16 上午10.50.05.png
截屏2025-02-16 上午11.23.06.png

2.第16和17条R1和R2之间完成Diffie-Hellman公共值(DH group)和nonce值(保证IKE SA存活和抗重放攻击),用于IKE SA的认证和加密密钥在这个阶段产生。

截屏2025-02-16 上午11.30.43.png

3.第18和19条R1和R2之间用于身份和认证信息交换(双方使用生成的密钥发送信息),双方进行身份认证和对整个主模式交换内容的认证。

截屏2025-02-16 上午11.44.57.png

4.第二阶段完成IPSec sa的建立;
R1发送方发送本端的IPSec的安全提议(加密算法、认证算法、封装模式等),身份认证信息(第一阶段认证密钥),被保护的数据流(源/目的IP,端口),
R1发送方利用第一阶段产生的加密密钥对以上的内容进行加密;

截屏2025-02-17 上午8.08.31.png

5.R2响应方使用第一阶段密钥解密消息,使用认证密钥验证消息的完整性,当解密和验证成功后,R2读取到发送方的IPSec的安全提议参数,R2从本地匹配的IPSec安全提议列表按照优先级进行匹配,回复确认;

截屏2025-02-17 上午8.33.21.png

6.R1发送方发送确认信息,确认与R2可以通信,生成IPSec sa;

截屏2025-02-17 上午8.35.36.png
截屏2025-02-17 上午8.37.34.png

实验配置

1.分别配置PC1,PC2,R1,R2各 ip地址以及R1和R2分别配置静态路由,确保P C1到PC2互通;
2.在R1上配置ACL,定义由子网10.1.1.0/24去子网10.1.2.0/24的数据流;
[Huawei] acl number 3101
[Huawei-acl-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
[Huawei-acl-adv-3101] quit
3.在R2上配置ACL,定义由子网10.1.2.0/24去子网10.1.1.0/24的数据流;
[Huawei] acl number 3101
[Huawei-acl-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[Huawei-acl-adv-3101] quit
4.分别在R1和R2上创建IPSec安全提议;
R1和R2:
[Huawei] ipsec proposal tran1
[Huawei-ipsec-proposal-tran1] esp authentication-algorithm sha2-256 (认证算法)
[Huawei-ipsec-proposal-tran1] esp encryption-algorithm aes-128 (加密算法)
[Huawei-ipsec-proposal-tran1] quit
5.分别在R1和R2上配置IKE对等体;
5.1 在R1上配置IKE安全提议和对等体;
[Huawei] ike proposal 5 (IKE 提议编号)
[Huawei-ike-proposal-5] encryption-algorithm aes-128 (加密算法)
[Huawei-ike-proposal-5] authentication-algorithm sha2-256 (认证算法)
[Huawei-ike-proposal-5] dh group14 (DH(Diffie-Hellman 算法组))
[Huawei-ike-proposal-5] quit
[Huawei] ike peer spub
[Huawei-ike-peer-spub] ike-proposal 5
[Huawei-ike-peer-spub] pre-shared-key cipher huawei@123 (配置预共享密钥)
[Huawei-ike-peer-spub] remote-address 1.1.1.2
[Huawei-ike-peer-spub] quit
5.2 在R2上配置IKE安全提议和对等体;
[Huawei] ike proposal 5 (IKE 提议编号)
[Huawei-ike-proposal-5] encryption-algorithm aes-128 (加密算法)
[Huawei-ike-proposal-5] authentication-algorithm sha2-256 (认证算法)
[Huawei-ike-proposal-5] dh group14 (DH(Diffie-Hellman 算法组)
[Huawei-ike-proposal-5] quit
[Huawei] ike peer spub
[Huawei-ike-peer-spub] ike-proposal 5
[Huawei-ike-peer-spub] pre-shared-key cipher huawei@123 (配置预共享密钥)
[Huawei-ike-peer-spub] remote-address 1.1.1.1
[Huawei-ike-peer-spub] quit
6.分别在R1和R2上创建安全策略;
R1:
[Huawei] ipsec policy map1 10 isakmp (创建安全策略编号,配置通过IKE动态协商方式建立IPSec sa)
[Huawei-ipsec-policy-isakmp-map1-10] ike-peer spub
[Huawei-ipsec-policy-isakmp-map1-10] proposal tran1 (策略关联安全提议)
[Huawei-ipsec-policy-isakmp-map1-10] security acl 3101 (策略关联保护的数据流acl)
R2:
[Huawei] ipsec policy use1 10 isakmp (创建安全策略编号,配置通过IKE动态协商方式建立IPSec sa)
[Huawei-ipsec-policy-isakmp-use1-10] ike-peer spub
[Huawei-ipsec-policy-isakmp-use1-10] proposal tran1 (策略关联安全提议)
[Huawei-ipsec-policy-isakmp-use1-10] security acl 3101 (策略关联保护的数据流acl)
[Huawei-ipsec-policy-isakmp-use1-10] quit
7.分别在R1和R2的接口上应用各自的安全策略组,使接口具有IPSec的保护功能;
7.1 R1:
[Huawei] int Ethernet 0/0/1
[Huawei-Ethernet 0/0/1] ipsec policy map1
[Huawei-Ethernet 0/0/1] quit
7.2 R2:
[Huawei] int Ethernet 0/0/0
[Huawei-Ethernet 0/0/0] ipsec policy use1
[Huawei-Ethernet 0/0/0] quit

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 准备工作 主模式配置示例 配置 IP 地址部分 外网要全部互通(本路由器外部接口能ping通隧道对端路由器接口) ...
    辉辉很前阅读 4,527评论 0 0
  • Ipsec用于在数据传输过程中的加密协议 1. 搭建环境拓扑 2. 配置第一阶段:isakmp协商 需要配置的有i...
    LeslieLiang阅读 11,795评论 1 2
  • dis display ipsec sa #查看状态 display ike proposal #查看ike策略 ...
    普通和特殊阅读 5,721评论 0 0
  • 学习《计算机网络安全》 IPsec的协议实现 IPsec的结构 (1)AH协议:可以同时提供数据完整性确认、数据来...
    Chenun_阅读 4,809评论 1 2
  • ipsec学习 本文信息大都摘自http://blog.csdn.net/tantexian/article/de...
    范小闫阅读 7,697评论 0 7

友情链接更多精彩内容