cisco vpn视频教程
企业分支之间经常有互联的需求,企业互联的方式很多,可以使用专线线路或者Internet线路。
部分企业从成本和需求出发会选择使用Internet线路进行互联,但是使用Internet线路存在安全风险,如何保障数据在传输时不会被窃取?
有的朋友会说GRE,但是在GRE隧道中不会对报文进行加密因此通过抓包是可以看到数据的报文信息,那怎么确保信息数据的安全呢?
这就要提到今天要讲的IPSec VPN了,一起来看看IPSec VPN是如何运作并确保信息安全的。
既然讲到VPN相关,另外再分析一份VPN相关的好资源给你,私信我,发送暗号“VPN”,即可获取技术之路一把好武器。
IPsec(IP Security)协议族是IETF制定的一系列安全协议,它为端到端IP报文交互提供了基于密码学的、可互操作的、高质量的安全保护机制。
通过对数据加密、认证,IPsec使得数据能够在Internet网络上安全的传输。IPsec VPN技术可以和多种VPN技术结合使用,使得企业互联更加灵活安全。
IPSec不是一个单独的协议,它给出了IP网络上数据安全的一整套体系结构,包括AH、ESP、IKE等协议。
IPSec通过加密与验证等方式,从以下几个方面保障了用户业务数据在Internet中的安全传输:
SA(Security Association,安全联盟) 可以帮助IPsec对特定要素进行约定,比如:加密算法使用DES,认证算法使用MD5,封装方式使用Tunnel等。
IPsec技术在数据加密,数据验证,数据封装等方面有多种实现方式或算法,两端的设备使用IPsec进行通信时需要保证一致的加密算法,验证算法等。因此需要一种机制帮助两端设备协商这些参数。
手工方式:手工方式建立IPsec SA管理成本很高,加密验证方式需要手工配置,手工刷新SA,且SA信息永久存在安全性较低,适用于小型网络。
IPsec SA,由一个三元组来唯一标识,这个三元组包括安全参数索引SPI、目的IP地址和使用的安全协议号(AH或ESP)。前面我们说到了IPSec框架中涉及到数据加密和认证,而实际情况下加密算法和认证算法很多,而IPSec中必须保证两端算法一致才能协商成功,那怎么协商呢?就是
现网中交互对称密钥一般会使用密钥分发协议:IKE(Internet Key Exchange,因特网密钥交换)。
IKE协议建立在ISAKMP(安全联盟和密钥管理协议)定义的框架上,是基于UDP的应用层协议。
DES、3DES、AES-128、AES-192、AES-256、SM1和SM4。ISAKMP由RFC2408定义,定义了协商、建立、修改和删除SA的过程和包格式。ISAKMP只是为SA的属性和协商、修改、删除SA的方法提供了一个通用的框架,并没有定义具体的SA格式。
IPSec的加密与解密大致是在原有的报文头部增加一层或多层头部以实现加密,在传输层中IPsec有两种传输层协议提供认证或加密服务:
AH仅支持认证功能,不支持加密功能。AH在每一个数据包的标准IP报头后面添加一个AH报文头。AH对数据包和认证密钥进行Hash计算,接收方收到带有计算结果的数据包后,执行同样的Hash计算并与原计算结果比较,传输过程中对数据的任何更改将使计算结果无效,这样就提供了数据来源认证和数据完整性校验。
ESP支持认证和加密功能。ESP在每一个数据包的标准IP报头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾(ESP Trailer和ESP Auth data)。
与AH不同的是,ESP将数据中的有效载荷进行加密后再封装到数据包中,以保证数据的机密性,但ESP没有对IP头的内容进行保护,除非IP头被封装在ESP内部(采用隧道模式)。
Sequence Number:是一个从1开始的单项递增的计数器,唯一地标识每一个数据包,用于防止重放攻击。
在传输层使用安全协议还涉及到一个封装模式的问题。封装模式是指将AH或ESP相关的字段插入到原始IP报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种。
现网中多使用隧道模式进行封装。就是说这个报文的字段摆放顺序是怎样的。在传输模式中,AH头或ESP头被插入到IP头与传输层协议头之间,保护TCP/UDP/ICMP负载。
在隧道模式下,AH头或ESP头被插到原始IP头之前,另外生成一个新的报文头放到AH头或ESP头之前,保护IP头和负载。
IPSec是一个框架,通过IPSec实现的VPN称为IPSec VPN。IPSec通过加密和认证来实现安全传输。
,通过秘钥交换IKE来协商,生成一个IKE的SA(安全联盟),里面定义了加密算法、认证算法、隧道模式等。第二阶段使用一阶段的IKE SA进行加密数据,可以选择AH或者ESP进行封装,AH不支持加密,ESP支持加密和认证,封装模式可以选择隧道模式或者传输模式,区别在于封装后数据包的头部不一样,一般情况下使用ESP安全协议以及隧道传输模式即可。
它为IPsec提供了自动协商密钥、建立IPsec安全联盟的服务,能够简化IPsec的配置和维护工作。
IKEv1协商第一阶段的目的是建立IKE SA。IKE SA建立后对等体间的所有ISAKMP消息都将通过加密和验证,这条安全通道可以保证IKEv1第二阶段的协商能够安全进行。
消息①和②用于提议交换,发起方发送一个或多个IKE安全提议,响应方查找最先匹配的IKE安全提议,并将这个IKE安全提议回应给发起方。匹配的原则为协商双方具有相同的加密算法、认证算法、认证方法和Diffie-Hellman组标识。
与主模式相比,野蛮模式减少了交换信息的数目,提高了协商的速度,但是没有对身份信息进行加密保护。
实际情况下如果双方都有公网IP使用主模式,如果一方是拨号网络使用野蛮模式,因为IP不固定,而且野蛮模式需要协商发起方主动向固定IP的一端发起,野蛮模式安全性相对较低。
IKEv1协商第二阶段的目的是建立用来安全传输数据的IPsec SA,并为数据传输衍生出密钥。第二阶段采用
。该模式使用IKEv1协商第一阶段中生成的密钥对ISAKMP消息的完整性和身份进行验证,并对ISAKMP消息进行加密,故保证了交换的安全性。
IKEv2简化了IKEv1协商SA的过程。IKEv2通常使用2次交换共4条消息就可以完成一对IPsec SA的建立cisco vpn视频教程,如果要求建立的IPsec SA大于一对时,每一对IPsec SA只需额外增加1次创建子SA交换,也就是2条消息就可以完成。
消息①和②属于第一次交换(称为IKE_SA_INIT交换),以明文方式完成IKE SA的参数协商,包括协商加密和验证算法,交换临时随机数和DH交换。IKE_SA_INIT交换后生成一个共享密钥材料,通过这个共享密钥材料可以衍生出IPsec SA的所有密钥。
消息③和④属于第二次交换(称为IKE_AUTH交换),以加密方式完成身份认证、对前两条信息的认证和IPsec SA的参数协商。IKEv2支持RSA签名认证、预共享密钥认证以及扩展认证方法EAP(Extensible Authentication Protocol)。发起者通过在消息3中省去认证载荷来表明需要使用EAP认证。
就是如果是一条IPSec SA的建立只需要初始交换就可以完成,不需要用到子SA交换等等,更加简单快捷。
IKE_SA_INIT交换:这个交换完成IKEv2 SA参数的协商以及密钥交换。它对应于IKEv1的主模式的第1、3个包,以及野蛮模式的第1、2个包。
IKE_AUTH交换:这个交换完成通信对等体的身份认证以及IPsec SA的创建。它对应于IKEv1的主模式的第5、6个包,以及野蛮模式的第3个包。
在IKEv2中,通过配置不同的认证方法和参数,可以实现类似于IKEv1中主模式和野蛮模式的功能。
例如,如果需要快速完成身份认证和密钥交换,可以使用类似于野蛮模式的配置,减少消息交换的数量。
如果需要更安全的身份认证过程,可以使用类似于主模式的配置,增加消息交换的数量以提供更强的安全性。
创建子SA交换包含一个交换两条消息,对应IKEv1协商阶段2,交换的发起者可以是初始交换的协商发起方,也可以是初始交换的协商响应方。
来实现,支持动态路由协议。通过IKE协商出IPSec SA秘钥,通过ACL或者路由匹配到感兴趣流量,最后将IPSec策略应用到指定的接口就可以实现IPSec VPN了。
通过IKE协商SA,IKE分v1和v2,一般情况下我用的应该是v1,v2可以快速协商出SA,然后通过ACL或者路由定义感兴趣流量,将IKE提议、IPSec提议、创建IPSec策略、应用到接口串联起来就可以实现IPSec VPN的应用了,其实就是理论比较复杂,实际配置不算太难。



