一、IPSec技术的基本原理详解及应用场景
https://blog.csdn.net/weixin\_43996007/article/details/104087278
IPSec简介
IPSec的英文是Internet Protocol Security,是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPsec主要由以下协议组成:
一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护。
二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性。
三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。
IPSec特性:
机密性、完整性、真实性、防重放。
IPSec安全防护场景(端到端的应用场景):
安全网关(如防火墙)之间(典型场景)、主机与安全网关之间、主机与主机之间。
IPSec VPN体系结构
在这里插入图片描述
IKE与AH/ESP之间的关系:
在这里插入图片描述
AH(Authentication Header):
报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能;然而,AH并不加密所保护的数据报文。
ESP(Encapsulating Security Payload):
ESP是封装安全载荷协议。它除提供AH协议的所有功能外(但其数据完整性校验不包括IP头),还可提供对IP报文的加密功能。
IPSec通过AH(Authentication Header)和ESP(Encapsulating Security Payload)这两个安全协议来实现数据报文在网络上传输时的私有性、完整性、真实性和防重放。
IPSec协议封装模式:
传输模式:IPSec头被插入到IP头之后但在所有传输层协议之前,或所有其他IPSec协议之前。
在这里插入图片描述
隧道模式:IPSec头插在原始IP头之前,另外生成一个新的报文头放到AH或ESP之前。
在这里插入图片描述
IPSec安全协议-AH
提供数据源验证(真实性)、完整性校验和抗重放
不支持加密算法
在这里插入图片描述
IPSec安全协议-ESP
提供数据真实性、数据完整性、抗重放、数据机密性
支持加密算法
在这里插入图片描述
IKE在IPSec协议的作用
IKE具有一套自保护机制,可以在不安全的网络上安全地分发密钥、验证身份、建立IPSec安全联盟。
作用:
1、降低手工配置的复杂度
2、安全联盟定时更新
3、密钥定时更新
4、允许IPSec提供反重放服务
5、允许在端与端之间动态认证
安全联盟(Security Association)
SA是通信对等体间对某些要素的约定 ,通信的双方符合SA约定的内容,就可以建立SA。
在这里插入图片描述
IKE的交换阶段
在这里插入图片描述
IKE使用了两个阶段为IPSec进行密钥协商并建立安全联盟:
第一阶段:通信各方彼此间建立了一个已通过身份验证和安全保护的隧道,即IKE SA。协商模式包括主模式、野蛮模式。认证方式包括预共享密钥、数字签名方式、公钥加密。
第二阶段:用在第一阶段建立的安全隧道为IPSec协商安全服务,建立IPSec SA。IPSec SA用于最终的IP数据安全传送。协商模式为快速模式。
IKE预共享密钥方式主模式交换过程
在这里插入图片描述
IKE野蛮模式预共享密钥协商过程
在这里插入图片描述
野蛮模式一共需要交换3个消息:
消息1交换SA载荷、密钥材料、和身份信息。
消息2在交换消息1内容的同时增加了Hash认证载荷。
消息3是响应方对发起方的认证。
IKE主模式和野蛮模式区别
交换的消息:
主模式为6个,野蛮模式为3个。
身份保护:
主模式的最后两条消息有加密,可以提供身份保护功能;而野蛮模式消息集成度过高,因此无身份保护功能。
对等体标识:
主模式只能采用IP地址方式标识对等体;而野蛮模式可以采用IP地址方式或者Name方式标识对等体。
快速模式协商过程
在这里插入图片描述
快速模式一共需要交换3个消息:
消息1和消息2中,交换SA、KEY、Nonce和ID。用以协商算法、保证PFS以及提供“在场证据”。
消息3是用于验证响应者是否可以通信,相当于确认信息。
二、应用场景
IPSec VPN的应用场景分为3种:
1. Site-to-Site(站点到站点或者网关到网关):如弯曲评论的3个机构分布在互联网的3个不同的地方,各使用一个商务领航网关相互建立VPN隧道,企业内网(若干PC)之间的数据通过这些网关建立的IPSec隧道实现安全互联。
2. End-to-End(端到端或者PC到PC): 两个PC之间的通信由两个PC之间的IPSec会话保护,而不是网关。
3. End-to-Site(端到站点或者PC到网关):两个PC之间的通信由网关和异地PC之间的IPSec进行保护。
VPN只是IPSec的一种应用方式,IPSec其实是IP Security的简称,它的目的是为IP提供高安全性特性,VPN则是在实现这种安全特性的方式下产生的解决方案。IPSec是一个框架性架构,具体由两类协议组成:
1. AH协议(Authentication Header,使用较少):可以同时提供数据完整性确认、数据来源确认、防重放等安全特性;AH常用摘要算法(单向Hash函数)MD5和SHA1实现该特性。
2. ESP协议(Encapsulated Security Payload,使用较广):可以同时提供数据完整性确认、数据加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性。
为何AH使用较少呢?因为AH无法提供数据加密,所有数据在传输时以明文传输,而ESP提供数据加密;其次AH因为提供数据来源确认(源IP地址一旦改变,AH校验失败),所以无法穿越NAT。当然,IPSec在极端的情况下可以同时使用AH和ESP实现最完整的安全特性,但是此种方案极其少见。
三、配置IPSec
https://blog.csdn.net/qq\_38265137/article/details/89423732
1、配置流程:
- 先配置IKE安全提议
- 配置IKE对等体,调用IKE提议
- 配置需要保护的感兴趣流
- 配置IPSec 的安全提议
- 配置IPSec策略
- 在接口调用IPSec策略
2、配置思路
第一步: 阶段一
协商IKE SA(ISAKMP SA)
1. 配置IKE的安全提议
ike proposal 10
encryption-algorithm aes-256
authentication-algorithm sha2-256
integrity-algorithm hmac-sha2-256
2. 配置IKE对等体
ike peer 10
pre-shared-key Huawei@123
ike-proposal 1
undo version 2 ------------关闭V2
remote-address 202.100.1.11
第二步: 阶段二
协商IPSEC SA
1. 配置感兴趣流(互为镜像)
FW1
acl number 3000
rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
FW2
acl number 3000
rule 5 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
2. 配置IPSEC安全提议
ipsec proposal 10
esp authentication-algorithm sha2-256
esp encryption-algorithm aes-256
3. 配置IPSEC策略
ipsec policy ipsec_vpn 1 isakmp
security acl 3000
ike-peer fw2
proposal fw2
4.调用
interface GigabitEthernet0/0/2
ipsec policy ipsec_vpn auto-neg
自动协商
第三步:放行安全策略
自定义isakmp
ip service-set ISAKMP type object
service 0 protocol udp source-port 0 to 65535 destination-port 500
定义地址集
ip address-set ipsec1 type object
address 0 202.100.1.10 mask 32
address 1 202.100.1.11 mask 32
ip address-set ipsec2 type object
address 0 10.1.1.0 mask 24
address 1 10.1.2.0 mask 24
security-policy
rule name ipsec1 --------------放行ISAKMP和ESP
source-zone local
source-zone untrust
destination-zone local
destination-zone untrust
source-address address-set ipsec1
destination-address address-set ipsec1
service ISAKMP ------------自定义
service esp
action permit
rule name ipsec2 --------------放行实际通信流量
source-zone trust
source-zone untrust
destination-zone trust
destination-zone untrust
source-address address-set ipsec2
destination-address address-set ipsec2
action permit
#