IPsec VPN笔记

举报
Jack20 发表于 2022/09/29 18:18:28 2022/09/29
【摘要】 • 随着网络安全需求的日益提升,而传统的TCP/IP协议缺乏有效的安全认证和保密机制(不加密,明文),所以我们要保证数据的安全性,因此IPsec就是一种开放的安全框架,可以用来保证IP数据报文在网络上传输的机密性,完整性和防重放。   IPsec:Internet Protocol Security • 源于IPv6 • IETF制定的一套安全保密性能框架 • 建立在网络层的安全保障机制 •...

随着网络安全需求的日益提升,而传统的TCP/IP协议缺乏有效的安全认证和保密机制(不加密,明文),所以我们要保证数据的安全性,因此IPsec就是一种开放的安全框架,可以用来保证IP数据报文在网络上传输的机密性,完整性和防重放。 

 

 

IPsec:Internet Protocol Security 

源于IPv6 

IETF制定的一套安全保密性能框架 

建立在网络层的安全保障机制 

引入多种加密算法,验证算法密钥管理机制 

也具有配置复杂消耗运算资源较多增加延迟不支持组播等缺点 

IPsecVPN是利用IPsec隧道建立的VPN技术(IPsec也是有隧道技术的,没有隧道根本不能成为一种合格的VPN技术) 

 

IPsec核心功能: 

术语 

备注 

机密性 

对数据进行加密,确保在传输时不被泄露给非授权用户。 

完整性 

保障数据在传输时,不被非授权用户进行篡改。 

真实性 

验证数据源以确保数据来自真实的发送者。(IP报文头部内的源地址) 

 在数通领域,并不牵扯到用证书来做验证,这里使用数据包的源地址就行。 

防重放 

防止恶意用户通过重复发送捕获到的数据包所进行攻击,即接收方拒绝旧的或重复的数据包。 

IPsec在发送报文时会有哪些比较关键的步骤,以下图实例就是告诉我们是如何实现的 

• 

  

 

IPsec技术框架: 


DES3DES加密算法存在安全隐患,建议优先使用AES,SM1SM4算法。 

MD5SHA1验证算法存在安全隐患,建议优先使用,SHA2SM3算法。 

还是要看两端设备支持那种算法,如果都支持,那么尽量使用更安全的算法。 

通过AHESP这两个安全协议来实现IP数据报文的安全传输。 

IKE协议提供密钥协商,建立和维护安全联盟SA等服务。 

IKE是一种协商的方法,或者标准,SA通俗的叫安全联盟,当协商完成就可以进行实际的封装和传递,这里使用的保护就是AH和ESP了。 

这里推荐使用ESP,建议使用ESP,ESP有加密,AH没有加密但有其他特性。协商要保证安全有加密,传递数据要安全也有加密。 

• 

IKE协商:协商验证算法,加密算法。 

密钥管理:算法要使用密钥,所以需要密钥管理技术,进行自动协商或者手动,然后分发。 

数据包为什么要进行协商和加密验证,就是出于我们的安全策略。 

策略包含了这些东西,最终这些都会关联到策略,然后再到接口进行调用,整套完成下来,会发现他是一个模块化的东西,如果要进行修改只需要修改对应的模块,至于实际的封装是AHESP。 

 

IPsec安全协议: 

AH:报文头验证协议,提供完整性,真实性,防重放等特性,但是AH并不进行数据加密,协议号为51。 

ESP:封装安全载荷协议,提供完整性,真实性,防重放,且提供数据加密,但是校验不包括IP报头,协议号为50. 

安全特性 

AH 

ESP 

协议号 

51 

50 

数据完整性校验 

支持 

支持 

数据加密 

不支持 

支持 

防报文重放攻击 

支持 

支持 

NAT穿越 

不支持 

支持 

 

 

IPsec封装模式:两种模式,四种数据报文格式。 

传输模式和隧道模式是对立的,隧道是加新报头,传输是不加。 

传输模式:在原始IP报头后面加入IPsec报头(ESP或AH报头)。 

隧道模式:在原始IP报头前面加入IPsec报头(ESP或AH报头)另外再生成一个新IP报头放到IPsec报头前面。 

安全性:隧道模式隐藏原IP报头,安全性更高。 

性能:隧道模式有一个新的IP报头,所以传输模式比隧道模式更占用带宽。 

 

传输模式封装结构 

AH:整个IP层往后都会做验证。 

ESP:ESP头部和尾部做验证,加密除ESP字段外到ESP尾部数据。注:为什么不加密IP头部,加密了设备无法读取到数据。 


隧道模式封装结构 


两个设备直接做的数据协商和加密,没有新的IP报头,负责发送数据同时也负责加密和验证。 

传输点不是加密点,也就是说出口设备进行协商和加密,实际传输数据是其他设备。 

 

安全联盟:SA (Security Association) 

顾名思义,通信双方结成盟友,相互信任,即达成约定。 

SA由一个(SPI,IP目的地址,安全协议号(AH,ESP))三元组唯一标识。 

决定了对报文进行何种处理:模式,协议,算法,密钥。生存周期等。 

每个IPsec SA都是单向的。 

SA可以手工建立或者IKE协商生成。 

SPD(Security Policy Database)安全策略数据库 

SAD(Security Association Datebase)安全联盟数据库 


术语 

备注 

Negotiate 

协商,两个节点要开始安全发送数据之前,必须要做的事情。(动态协商) 

SA 

Security Association 安全联盟,协商的结果,类似合约书。 

SPI 

Security Parameter index 安全参数索引,SA内包含,用于区分多个SA。 

IKE 

Internet Key Exchange 因特网密钥交换,SA协商的方法和标准。 

两端设备先进行协商, 协商完毕后会有SA,SA包含了SPI,IKE和IPsec参数,协商的方法是使用IKE或者手动。 


对比项 

手工建立 

IKE协商 

密钥生成 

手工配置 

DH算法 

密钥刷新 

手工配置 

动态刷新 

生成周期 

永久 

可配置 

适用环境 

小型网络环境 

中大型网络环境 

 


IKEIntelnet Key Exchange,因特网密钥交换 

建立在ISAKMPIntelnet安全联盟和密钥管理协议)定义的框架上。 

基于UDP端口号500的应用层协议,可为数据加密提供所需的密钥。 

使用DH算法,在不安全的网络上安全的分发密钥,验证身份。 

定时更新SA和密钥实现完善的前向安全性(PFS。 

允许IPsec提供防重放服务(加入随机数)。 

简化IPsec的使用和管理,大大简化了IPsec的配置和维护工作。 

IPsec会有两次SA协商,IKE SA协商主要是保证数据通道通道里面传输加密数据使用IPsecSA来进行协商。 

IKE有分版本v1和v2,模式分主模式和野蛮模式。 

首先会有IKE的协商,先有IKE协商出来的SA,然后再协商IPsecSA出来。这个过程有两个阶段。 


阶段 

备注 

阶段 1 

Phase 1 

在网络上建立一个IKE SA ,为阶段2协商通过保护 

主模式(Main mode)野蛮模式(Affressive mode) 

阶段2 

Phase 2 

阶段1 IKE SA 的保护下完成IPsec SA的协商 

快速模式(Quick mode) 

两端之间建立一个IKE SA完成身份验证和密钥信息交换后,在IKE SA的保护下, 

根据配置的AH/ESP安全协议等参数协商出一对IPsecSA。 

 

IKE协商模式 

主模式:6个数据包3个阶段(安全提议,生成密钥,验证身份(加密)) 

野蛮模式:3个数据包1个阶段(三个阶段合并为一个,然后验证) 

IPsecSA协商: 

快速模式:3个数据包(全部加密)发送IPsec安全提议,身份和数据验证,互相交换,然后验证。 


总结 

IKE SA和IPsec SA是两种不同的SA。 

IKE SA:认证算法,加密算法,认证方法(预共享密钥/证书),生命周期 

IPsec SA:安全协议(ESP/AH),模式(传输/隧道),加密算法,生命周期 


IPSecVPN配置: 

IPsec流程图 

配置好以下拓扑,从a发送到b的感兴趣流,会从出口hq和branch进行协商sa,协商有两个阶段,IKE SA和IPsec SA,交换安全策略信息后,建立SA,完成IPsec隧道。 

命令 

备注 

Ipsec proposal x 

创建IPsec安全提议 x=提议名称 

Encapsulation tunnel/transport 

配置封装模式 隧道/传输 

Transform esp/ah/esp-ah 

配置隧道协议 esp/ah/esp-ah 

Esp encryption-algorithm x 

配置esp协议使用加密算法 x=算法 

Esp/an authentication-algorithm x 

配置esp/ah协议使用认证算法 x=算法 

Dis ipsec proposal / name x 

查看IPsec安全提议状态配置 

 

IPsec安全提议 

Ipsec policy x id manual 

创建IPsec策略 x=策略名称 id=序列号 manual=手动   

Security acl x 

配置引用的acl 

Proposal x 

配置引用的安全提议 

Tunnel local x 

配置隧道口源地址 

Tunnel remote x 

配置隧道口目的地址 

Sa spi inbound/outbound esp/ah x 

配置SA的spi 出入双方都需要对应 x=spi 

Sa string-key inbound/outbound esp/ah cipher x 

配置SA的key 出入双方都需要对应 x=密钥 

Dis ipsec policy /name x 

查看ipsec策略状态配置 

 

IPsec手动安全策略 

Ike proposal x 

创建ike安全提议 x=序列号 

authentication-method pre-share/rsa-signature/digital-envelope 

配置认证方式 psk/证书/数字信封 

authentication-algorithm x 

配置认证算法 x=算法 

encryption-algorithm x 

配置加密算法 x算法 

Dh group x 

配置dh组  x=组 

Sa duration x 

配置sa超时时间 

Dis ike proposal  /number x 

查看ike安全提议信息 x=序列号 

 

IKE安全提议 

Ike peer x v1/v2 

创建ike对等体  版本v1/v2 

Exchange-mode main/aggressive 

配置对等体模式 模式/主模式/野蛮 

Pre-shared-key cipher x 

配置psk密钥 

Ike proposal x 

配置引用ike安全提议 

local-address x 

配置对等体 源地址 

Remote-address x 

配置对等体 目的地址 

 

IKE对等体 

IPSec policy x id isakmp  

创建IPSec策略 isakmp=自动  

Proposal x 

配置引用IPSec安全提议 

Ike-peer x 

配置引用ike对等体 

Security x 

配置引用acl 

 

ike协商安全策略 

Dis ipsec statistics esp/an 

查看接口流量统计 

Dis ike/ipsec sa /brief/duration 

查看sa安全联盟 b=简明信息 dur=生存时间 

 

查看IPSec/ike sa 

手动设置sa没有时间限制。 

sa两端之间生存时间不一致,按照小的计算。 

需要走IPsecVPN隧道的流量需要在NAT中做排除,没有排除等同流量往公网走,那么就出问题了。 

 


IPsec协商配置流程图: 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。