SANGFOR SCSA——虚拟专用网与IPSec解决方案

虚拟专用网概述
IPSec解决方案

一、虚拟专用网络概述
企业,组织,商业等对专用网有强大的需求,高性能,高速度和高安全性是专用网明显的优势。但是物理上架设专用网价格不菲,架设实施难度大,以上两方面是虚拟专用网络需求的最直接的原因。
虚拟专用网virtual private network:指依靠ISP或其他NSP在公用网络基础设施上构建的专用的安全数据通信网络,又因为不是物理上的专用网,只是逻辑上的,所以被称为虚拟专用网,核心技术是隧道。
1、虚拟专用网的分类
(1)按照业务类型分类:
①Client-LAN XXX(access XXX)
使用Internet远程访问的虚拟专用网,比如出差的员工有远程办公的需求。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第1张图片②LAN-LAN XXX
为了在不同局域网之间建立安全的数据传输通道,比如企业分支之间或与合作伙伴之间进行互联。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第2张图片(2)按照网络层次分类
应用层(SSL XXX)传输层(Sangfor XXX)网络层(IPSec,GRE等)网络接口层(L2F/L2TP,PPTP等)

2、虚拟专用网常用的技术
(1)隧道技术
隧道:在公共通信网络上构建的一条数据路径,可以提供与专用通信线路等同的连接特性。
隧道技术:指在隧道的两端通过封装以及解封装技术在公网上建立一条数据通道,使用这条通道对数据报文进行传输。增加了隧道头部与新的IP头部。
常见的隧道技术有:GRE,L2TP,IPSec,Sangfor,SSL。其中GRE只有简单的加密;L2TP只有用户身份认证,比如CHAP、PAP,不存在加密和验证;而IPSec,Sangfor,SSL都是既支持身份认证,也支持加密和校验。
(2)加解密技术
主流的加密算法分为两大类:对称加密算法,非对称加密算法(公钥加密算法)
常见的对称加密算法:IDEA,DES/3DES,RC,AES等
对称加密算法的缺陷:密钥传输风险,密钥多,难管理。
非对称加密算法:加密和解密使用不同的密钥,分为公钥加密,私钥解密,这样做的好处使得通信双方无需进行密钥传输。
常见的非对称加密算法:ECC,RSA,Rabin等
对称加密与非对称加密的比较:
安全性上面非对称加密较高,速度上对称加密较快,适合加密大块数据,密钥数量上非对称加密较少。
所以后来人们采取对称加密算法加密数据,非对称加密算法加密对称加密算法的密钥。
(3)完整性与身份验证技术
数字签名就是解决了完整性的问题,将原始数据通过哈希算法得到信息摘要hash值,再将hash值用自己私钥进行加密,形成数字签名发送给对端,接收端同样将之前加密的数据解密得到原始数据,进程hash运算,得到信息摘要,再用公钥解密接收到的数字签名,得到信息摘要,两者对比即可,判断数据完整性。
HASH算法的特点:
不等长输入,等长输出;不可逆性;雪崩效应;使用hash算法的值对同一数据是固定的。

但是存在一个问题,公钥的真实性怎么得到保障,毕竟公钥是公开,传输过程中,可以被篡改。所以引出CA机构这一概念。接收端使用CA的公钥解密发送方发过来的数字证书中的签名,得到摘要信息,然后再对证书进行hash运算,得到另外一个签名,也就是摘要信息,对比两者,如果一致,就说明证书的CA机构颁发的。
而PKI就是规定可信的CA以及CA的工作流程。
PKI(公开密钥体系,Public Key Infrastructure)是一种遵循标准的利用非对称加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。用户可利用PKI平台提供的服务进行安全的电子交易、通信和互联网上的各种活动。
PKI 技术采用证书管理公钥,通过第三方的可信任机构——CA认证中心把用户的公钥和用户的其他标识信息捆绑在一起放在用户证书中,在互联网上验证用户的身份。
目前,通用的办法是采用建立在PKI基础之上的数字证书,通过把要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。
CA中心:即证书授权中心certificate authority,作为电子商务部交易中受信任的第三方,具有不可否认性。
CA中心的作用:签发证书,规定证书的有效期和通过发布证书废除列表CRL确保必要时可以废除证书,以及对证书和密钥进行管理。为每个使用公钥的用户发放一个数字证书,数字证书的作用则是标明证书中列出的用户合法拥有证书中列出的公钥,使用CA的私钥对证书进行签名。数字签名使得攻击者不能伪造和篡改证书。
数字证书是一般包含:
用户身份信息 用户公钥信息 身份验证机构数字签名的数据
从证书用途来看,数字证书可分为签名证书和加密证书。
签名证书:主要用于对用户信息进行签名,以保证信息的真实性和不可否认性。
加密证书:主要用于对用户传送的信息进行加密,以保证信息的机密性和完整性。

二、IPSec解决方案
1、IPSec协议族安全框架
IPSec 简介
IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议,而是一个开放的协议族。
IPSec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。
IPSec XXX:是基于IPSec协议族构建的在IP层实现的安全虚拟专用网。通过在数据包中插入一个预定义头部的方式,来保障OSI上层协议数据的安全,主要用于保护TCP、UDP、ICMP和隧道的IP数据包。
IPSec提供的安全服务:机密性,完整性,数据源认证,重传攻击保护(依靠序列号单向递增),不可否认性。
IPSec协议族安全框架:
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第3张图片IPSec协议族
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第4张图片

2、IPSec工作模式
(1)传输模式
传输模式transport mode,主要应用于主机和主机之间的端到端通信的数据保护。封装方式:不改变原有的IP报头,在原数据报头后面插入IPSec报头,将原来的数据封装成被保护的数据。
需要两台PC配置公网地址,所以这种模式使用并不多,我们所学的XXX是站点到站点或出差与总部之间,而这种主机到主机不属于以上两种。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第5张图片(2)隧道模式
隧道模式tunnel mode,经常用于私网与私网之间通过公网进行通信,建立安全XXX隧道。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第6张图片与传输模式不同,在隧道模式下,原始IP分组被封装成一个新的IP报文,在内部报头以及外部报头之间插入一个IPSec报头,原IP地址被当作有效载荷的一部分收到IPSec的保护。另外,通过对数据加密,还可以隐藏原数据包中的IP地址,这样更有利于保护端到端通信中数据的安全性。
封装方式:增加新的IP头,其后是ipsec报头,之后再将原来的整个数据包封装。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第7张图片3、IPSec通信协议
AH和ESP是IPSec的两个主要协议。
认证头(AH , Authentication Header)协议为IP通信提供数据源认证、数据完整性检验和防重放保证。
封装安全载荷(ESP, Encapsulating Security Payload)为IP通信提供完整性检验、认证、加密和防重放保证。
AH和ESP可以单独使用,也可以同时使用。 在实际的组网中,ESP协议使用较多。IPSec通过AH(Authentication Header)和ESP(Encapsulating Security Payload)这两个安全协议来实现数据报文在网络上传输时的安全性(eg:私有性、完整性、真实性和防重放等)
(1)AH协议
AH(authentication header认证报头)
AH提供的安全服务:
①无连接数据完整性,通过哈希函数产生的校验来保证;
②数据源认证,通过在计算验证码时加一个共享秘钥来实现;
③抗重放服务,AH报头中的序列号可以防止重放攻击。
AH不提供任何保密性服务,不加密所保护的数据包。不论是传输模式,还是隧道模式,AH提供对数据包的保护时,保护整个IP数据包。
AH分配到的协议号是51。也就是说,使用AH协议进行安全保护的IPv4数据报文的IP头部中协议字段将是51,表明IP头之后是一个AH头。AH头比ESP头简单得多,因为它没有提供机密性。由于不需要填充和一个填充长度指示器,因此也不存在尾部字段。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第8张图片下一头部:8bit,标识认证头后面的下一个负载类型
负载长度:8bit,表示以3bit为单位的AH头部长度减2,默认为4
保留字段:16bit;
安全参数索引:32bit,用于表示有相同IP地址和相同安全协议的不同SA;
序列号:32bit,用于防止重放攻击,SA建立之初为0;
认证数据:由SA初始化时指定的算法来计算。
<1>AH在传输模式下封装
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第9张图片上面说的认证头的认证数据就是AH认证头摘要。
<2>AH在隧道模式下封装
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第10张图片(2)ESP协议
ESP(encapsulating security payload)封装安全有效载荷
ESP提供的安全服务:无连接数据的完整性,数据源认证,抗重放服务,数据加密,有限的数据流保护。
保密服务通过使用密码算法加密 IP 数据包的相关部分来实现。
数据流保密由隧道模式下的保密服务提供。
ESP通常使用DES、3DES、AES等对称加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。
ESP同样被当作一种IP协议对待,紧贴在ESP头前的IP头,以协议号50标志ESP头,ESP之前的IP头中的协议字段将是50,以表明IP头之后是一个ESP头。
并且,ESP不仅具备ESP头,还有一个包含有用信息的ESP尾。
在隧道模式中,ESP保护整个IP包,整个原始IP包将会以ESP载荷的方式加入新建的数据包,同时,系统根据隧道起点和终点等参数,建立一个隧道IP头,作为这个数据包的新IP头,ESP头夹在隧道IP头和原始IP包之间,并点缀ESP尾。
而ESP提供加密服务,所以原始IP包和ESP尾以密文的形式出现。
ESP在验证过程中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第11张图片认证数据:一个变长字段,也叫Integrity Check Value,由SA初始化时指定的算法来极端。长度=整数倍32位比特
填充头部:8比特,给出前面填充字段的长度,置0时表示没有填充
下一头部:8比特,标识认证头后面的下一个负载类型
填充字段:8比特,大多数加密加密算法要求输入数据包含整数各分组,因此需要填充
负载数据:包含由下一头部字段给出的变长数据
序列号:32比特,一个单项递增的计数器,用于防止重放攻击,SA建立之初初始化为0,序列号不允许重复
SPI:32比特,用于标识有相同IP地址和相同安全协议的不同SA。由SA的创建者定义,只有逻辑意义。
<1>ESP在传输模式下封装
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第12张图片ESP对原始数据进行加密,但是不会加密IP头,否则中途转发路由器怎么查看IP头,会把加密的数据放置IP数据段,然后对IPSec头,也就是这里的ESP头以及ESP尾和新的IP数据段一起进行哈希运算校验完整性,hash值放在ESP认证字段里。ESP尾部的作用无非就是填充的意思,因为数据加密有最小单位,不足需要填充。
<2>ESP在隧道模式下封装
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第13张图片
AH和ESP对比
协议号AH为51,ESP为50,都支持数据完整性校验,只是ESP对IP头不验证,都支持源认证,ESP支持数据加解密,AH不支持,都支持抗重放服务,NAT-T(NAT穿越)AH不支持,ESP支持的。
ESP在隧道模式不验证外部IP头,因此ESP在隧道模式下可以在NAT环境中运行。
而AH因为提供数据来源确认(源IP地址一旦改变,AH校验失败),所以无法穿越NAT。
4、IPSsc建立阶段
(1)IKE协商阶段
安全联盟SA
SA security association是通信对等体间对某些重要的约定,通信的双方符合SA约定的内容,就可以建立SA。
SA由三元组唯一标识,包括:安全参数索引SPI,目的IP地址,安全协议号。
IPSec是在两个端点之间提供安全通信,端点被称为IPSec对等体。IPSec能够允许系统、网络的用户或管理员控制对等体间安全服务的粒度。例如,某个组织的安全策略可能规定来自特定子网的数据流应同时使用AH和ESP进行保护,并使用3DES(Triple Data Encryption Standard)进行加密;另一方面,策略可能规定来自另一个站点的数据流只使用ESP保护,并仅使用DES加密。
通过SA(SecurityAssociation),IPSec能够对不同的数据流提供不同级别的安全保护。安全联盟是IPSec的基础,也是IPSec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种安全协议、协议的操作模式(传输模式和隧道模式)、加密算法(DES和3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。
安全联盟是单向的,在两个对等体之间的双向通信,最少需要两个安全联盟来分别对两个方向的数据流进行安全保护。入站数据流和出站数据流分别由入站SA和出站SA进行处理。
IPSec设备会把SA的相关参数放入SPD(Security Policy Database)里面,SPD里面存放着“什么数据应该进行怎样的处理”这样的消息,在IPSec数据包出站和入站的时候会首先从SPD数据库中查找相关信息并做下一步处理。

IKE产生背景
用IPSec保护一个IP包之前,必须先建立安全联盟(SA)
IPSec的安全联盟可以通过手工配置的方式建立。但是当网络中节点较多时,手工配置将非常困难,而且难以保证安全性。这时就可以使用IKE(Internet Key Exchange)自动进行安全联盟建立与密钥交换的过程。Internet密钥交换(IKE)就用于动态建立SA,代表IPSec对SA进行协商。
IKE的用途
在IPSec通信双方之间,动态地建立安全关联(SA:Security Association),对SA进行管理和维护。

SANGFOR SCSA——虚拟专用网与IPSec解决方案_第14张图片IKE与AH/ESP之间关系
IKE是UDP之上的一个应用层协议,是IPSec的信令协议。IKE为IPSec协商生成密钥,供AH/ESP加解密和验证使用。AH协议和ESP协议有自己的协议号,分别是51和50。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第15张图片IKE的工作过程
第一阶段:通信各方彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟,即ISAKMP SA(也可称为IKE SA)。第一阶段交换有两种协商模式:主模式协商,野蛮模式协商。
第二阶段:用已经建立的安全联盟(IKE SA)为IPSec协商安全服务,即为IPSec协商具体的安全联盟,建立IPSec SA,产生真正可以用来加密数据流的密钥,IPSec SA用于最终的IP数据安全传送。
主模式:默认使用IP地址作为身份标识,默认是传递自己的出口地址做身份标识, 校验对端的公网IP做对端身份标识。(自动生成双方身份ID)
野蛮模式:可以使用用户名或IP等作为双方身份标识,即可以手动配置身份ID
IKE阶段1协商过程
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第16张图片DH就是一种非对称加密算法,之前说了ESP加密数据采用的是对称加密算法,那么共享密钥的安全性就很重要,DH就解决了这个问题。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第17张图片(p/g都是质数)

IKE阶段1——主模式协商

SANGFOR SCSA——虚拟专用网与IPSec解决方案_第18张图片第一次交换(消息1和2):策略协商。
在第1个数据包的传输过程中,发送方发起一个包含cookie (记为:Ci ) 和SA负载(记为:SAi,携带协商IKE SA的各项参数(5元组),包括IKE的散列类型如MD5;加密算法如DES、3DES等;认证方法如预共享、数字签名、加密临时值等;DH组;SA存活期)的数据包用来协商参数。
接收方查看IKE策略消息,在本地寻找与发送方IP地址匹配的策略,找到后发回一条消息去响应。响应者发送一个cookie (记为:Cr)和SA负载(记为:SAr,已经挑选的安全参数);如果没有可以挑选的参数,响应者会返回一个负载拒绝。
第二次交换(消息3和4):Diffie-Hellman交换。
执行DH交换,发起者和接收者交换伪随机数,如nonce。nonce是计算共享秘密(用来生成加密密钥和认证密钥)所必需的。该技术的优势在于,它允许参与者通过无担保媒体创建秘密值。也就是非对称的私钥双方都有了,之前也说了真正加密数据的是共享秘钥,需要靠非对称算法交互使得预共享密钥双方安全学习。

第三次交换(消息5和6):对等体验证
ISAKMP/IKE阶段1主要任务就是认证,第三次交换即在安全的环境下进行认证,前面两个步骤四个数据包的传输都是为了第三次交换第5和第6个数据包交换的认证做铺垫。第1-2包交换为认证准备好策略(例如:认证策略、加密策略和散列函数等),第3-4包交换为保护5-6的安全算法提供密钥资源。
将预共享密钥通过伪随机函数得出一个值,再将这个值与非对称的私钥再伪随机函数得出三个值,成为SKEYID,为SKEYID_a,SKEYID_e,SKEYID_d
分别是Ike消息完整性验证密钥,对5/6报文进行完整性校验;Ike消息加密密钥,对5/6报文进行对称加密;用于衍生出IPSec报文加密和验证密钥,最终这个密钥保证IPSec封装的数据报文的安全性。
前两个就完成了对等体验证。
P.S.

  1. X、Y是交互的公钥。Ni和Nr是随机数(Nonce,随机数用以保持活性)
  2. 以上传输过程中仅⑤、⑥数据为加密
    主模式下IKEv1采用3个步骤6条ISAKMP消息建立IKE SA。下面是以10.0.1.223主动发起IKE协商为例的整个数据构成:
    SANGFOR SCSA——虚拟专用网与IPSec解决方案_第19张图片SANGFOR SCSA——虚拟专用网与IPSec解决方案_第20张图片
    第一个消息由隧道的发起者发起,携带了如这样一些参数,如加密机制-DES,散列机制-MD5-HMAC,Diffie-Hellman组-2,认证机制-预共享:
    SANGFOR SCSA——虚拟专用网与IPSec解决方案_第21张图片消息2是应答方对发送方信息的应答,当应答方查找SPD查找到发送方相关的策略后,将自己的信息同样发送给对端,当然,应答方在发送传输集时将会生成自己Cookie并添加到数据包中,数据包信息如下:
    SANGFOR SCSA——虚拟专用网与IPSec解决方案_第22张图片当完成了第一步骤双方的策略协商后,则开始进行第二步骤DH公共值交换,随数据发送的还包含辅助随机数,用户生成双方的加密密钥。消息3的数据包信息如下:
    SANGFOR SCSA——虚拟专用网与IPSec解决方案_第23张图片应答方同样将本端的DH公共值和Nonce随机数发送给对端,通过消息4传输:
    SANGFOR SCSA——虚拟专用网与IPSec解决方案_第24张图片第五条消息由发起者向响应者发送,主要是为了验证对端就是自己想要与之通信的对端。这可以通过预共享、数字签名、加密临时值来实现。
    双方交换DH公共值后,结合随机数生成一系列的加密密钥,用于双方加密、校验,同时生成密钥后,将公共密钥和本端身份信息等进行hash,hash值传输给对端进行验证设备身份。发送方通过消息5发送给接收方,可以看到载荷类型为身份验证载荷,所携带的信息经过加密,无法查看相关信息。
    SANGFOR SCSA——虚拟专用网与IPSec解决方案_第25张图片第六条消息由响应者向发起者发送,主要目的和第五条一样。
    在这六条消息过后,也就是验证一旦通过,就进入了IKE第二阶段:快速模式。
    在这里插入图片描述
IKE阶段1——野蛮模式协商

野蛮模式IKE交互过程
野蛮模式同样包含三个步骤,但仅通过三个包进行传输,其数据传输如下,从抓包中可以看到野蛮模式标识为Aggressive。
野蛮模式下有三个交互包,前两个数据为明文传输,仅消息3为加密传输。:
1、第一个交互包发起方建议SA,发起DH交换
2、第二个交互包接收方接受SA
3、第三个交互包发起方认证接受方

SANGFOR SCSA——虚拟专用网与IPSec解决方案_第26张图片1.第一条消息:发起者发送5元组(主模式中介绍的五种参数),DH公共值(上文中的X、Y或者DH交换中讲到的c),辅助随机数nonce(上文中的Ni或Nr)以及身份资料(IDi和IDr,在此处为设备上配置域名字符串或用户名字符串,也有可能是IP地址)。响应者可以选择接受或者拒绝该建议。
Diffie-Hellman 公开值、需要的随机数据和身份信息也在第一条消息中传送。
2.第二条消息:如果响应者接受发起者的建议,则回应一个选定的5元组,DH公共值,辅助随机数nonce,身份材料以及一个“认证散列值”。
3.第三条消息:由发起者发送一个“认证散列值”,该消息被验证,让应答方能够确定其中的散列值是否与计算得到的散列值相同,进而确定消息是否有问题。实际上,这个消息认证发起者并且证明它是交换的参与者。这个消息使用前两个消息交换的密钥信息生成的密钥进行加密。
注意: 包含身份信息的消息未被加密, 所以和主模式不同,野蛮模式不提供身份保护。
消息1数据包中包含了SA载荷,即策略协商信息;密钥交换载荷和随机数载荷;身份验证载荷。野蛮模式将主模式中需要进行交换的数据全部进行了发送:
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第27张图片当应答方接收到发起方发送来的消息1后,通过自身查看SPD是否存在与发起方身份匹配的相关策略,若存在,则利用消息1中信息与自身配置进行计算,生成身份验证hash值后,将自身配置策略信息和hash值传送给发起方。对比消息1和消息2,可以看到消息2中增加了hash载荷。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第28张图片发起方接收到应答方的策略信息和hash值后,同样进行验证,若匹配,则将自身的hash值用计算出的密钥加密后,传输给应答方。从flag中可以看出此时数据经过了加密。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第29张图片IKE阶段1两种模式对比:
主模式消息交互为6个,而野蛮模式为3个;
身份ID:主模式使用IP地址作为ID,而野蛮模式可以采用多种形式,比如IP,字符串等;
预共享密钥:主模式只能基于IP地址来确定,野蛮模式基于ID信息确认;
安全性:主模式较高,前4个明文,后两个密文,野蛮模式只有前两个明文,最后一个加密但是不会进行身份验证;
速度上主模式较慢,野蛮模式快。

IKE阶段2

双方协商IPSec安全参数,称为变换集transform set,包括:加密算法,hash算法,安全协议,封装模式,存活时间。
阶段2只有一种信息交换模式——快速模式,它定义了受保护数据连接是如何在两个IPSEC对等体之间构成的。
快速模式有两个主要的功能:
1.协商安全参数来保护数据连接。
2.周期性的对数据连接更新密钥信息。
第二阶段的效果为协商出IPSec 单向SA,为保护IPsec数据流而创建。第二阶段整个协商过程受第一阶段ISAKMP/IKE SA保护。
另外第二阶段所有数据都经过了加密。

(2)数据传输阶段
数据传输阶段是通过AH或者ESP通信协议进行数据的传输,是建立在网络层的。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第30张图片
XXX隧道黑洞
对端的XXX连接已经断开,而我方还处在SA的有效生存时间内,从而形成了隧道黑洞,本端不停发送加密后的数据,但是对端不接收。
DPD解决XXX隧道黑洞
DPD:死亡对等体检测(Dead Peer Detection),检查对端的ISAKMP SA是否存在。当VPN隧道异常的时候,能检测到并重新发起协商,来维持VPN隧道。
DPD主要是为了防止标准IPSEC出现“隧道黑洞”。
DPD只对第一阶段生效,如果第一阶段本身已经超时断开,则不会再发DPD包。
DPD概述
1、 DPD包并不是连续发送,而是采用空闲计时器机制。
2、每接收到一个IPSec加密的包后就重置这个包对应IKE SA的空闲定时器;如果空闲定时器计时开始到计时结束过程都没有接收到该SA对应的加密包,那么下一次有IP包要被这个SA加密发送或接收到加密包之前就需要使用DPD来检测对方是否存活。
3、DPD检测主要靠超时计时器,超时计时器用于判断是否再次发起请求,默认是发出5次请求(请求->超时->请求->超时->请求->超时)都没有收到任何DPD应答就会删除SA。

检查对端的ISAKMP SA是否存在。两种工作模式
(1)周期模式:每隔一段时间,向对端发送DPD包探测对等体是否仍存在,如果收到回复则证明正常。如果收不到回复,则会每隔2秒发送一次DPD,如果发送七次仍收不到回复,则自动清除本地对应的ISAKMP SA和IPSEC SA。
(2)按需模式:这是默认模式,当通过IPSEC VPN发送出流量而又收不到回程的数据时,则发出DPD探测包,每隔2秒发送一次,七次都收不到回应则清除本地对应的ISAKMP SA和IPSEC SA。注意,如果IPSEC通道上如果跑的只有单向的UDP流量,则慎用这个模式,尽管这种情况极少。

五、IPSec XXX应用场景

IPSec与NAT技术的结合
(1)IPSec和NAT同台设备部署,如果NAT在IPSec前处理数据,干扰IPSec流量,解决方案:私网之间流量不做NAT转换
(2)NAT设备和ipsec XXX不是同一台设备,NAT放置在外网出口,ipsec XXX设备在内网,两者具有冲突性,导致协商失败。解决方案:使用野蛮模式。
IKE总结:
SANGFOR的IPSec XXX主模式身份ID是默认配置的(IP地址),不能修改,在NAT环境下会出现协商问题,所以只能选择野蛮模式,其他厂商的IPSec XXX主模式身份ID若可以自由配置,在NAT环境下则可以协商成功。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第31张图片NAT下的数据传输可行性
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第32张图片由于AH会在进隧道口的时候,将所有IP包进行完整性认证,形成AH认证头摘要,所以一旦在进入隧道后,经过NAT,在接收方计算得到的AH头部就会和发送方发送的AH认证头不一致。导致AH校验失败,数据包被接收方丢弃。
AH协议是根据自己的完整性决定丢弃数据的。但是在网络协议栈的设计中,本身也存在校验机制来检验数据包是否是正确的数据包。

TCP/UDP伪首部校验机制
伪首部是为了增加校验和的检错能力,校验12字节的内容,源IP,目的IP共8字节,保留字节1字节,传输层协议号1字节,TCP/UDP报文长度(报头+数据)2字节。
TCP/UDP伪首部——校验和,一致才会接收。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第33张图片SANGFOR SCSA——虚拟专用网与IPSec解决方案_第34张图片所以ESP的传输模式与NAT不兼容。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第35张图片SANGFOR SCSA——虚拟专用网与IPSec解决方案_第36张图片所以只有ESP的隧道模式与NAT兼容。
还存在一个问题,在真正数据传输的时候,如果是多XXX IKE协商,那么由于ESP的隧道模式下知识增加了新的IP头,但是当经过防火墙时候,或者说多对一地址转换的时候,ESP新加的并没有传输层的端口号,实现不了端口复用。这样就会导致传输到对端的数据无法区分。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第37张图片
多XXX连接问题总结:
1、隧道协商过程中,IKE规定源和目的端口都必须为UDP 500,在多VPN场景下源端口可能会在防火墙设备NAT后发生变化,从而导致IKE协商失败。
2、数据传输过程中,由于ESP在工作在网络层,没有传输层头部,从而无法进行NAPT端口复用,导致数据传输失败。

NAT-T技术
NAT-T用来解决标准IPSec XXX只能同时进行一个XXX连接的问题,NAT-T允许多个IPSec XXX同时连接,出现了NAT-T的技术。
(1)NAT-T协议运用在IPSec XXX中,在IKE协商和XXX连接时,允许源端口为非UDP 500端口,使用目的端口是UDP4500端口。
(2)NAT-T协议为ESP增加了UDP头部,从而解决了数据传输过程经过防火墙后无法进行端口复用的问题。
SANGFOR SCSA——虚拟专用网与IPSec解决方案_第38张图片

你可能感兴趣的:(SANGFOR,学习)