对于VPN有所了解的朋友,肯定也知道IPsec VPN,那么这里我们就将IPsec VPN的一些基础概念和相关协议进行一下梳理。IPsec VPN不是一个单独的协议,它包括:AH协议、ESP协议、 IKE协议以及用于加密和认证一些算法。
◆IPsec提供的安全服务
机密性:DES、3DES、AES
完整性:MD5 HMAC 、SHA HMAC (HMAC:散列算法)
源认证:带外域共享密钥、域共享非对称加密、数字证书(CA)
防重放:AH、ESP
◆IPsec隧道模式和传输模式的区别:
1.隧道模式中,整个IP数据包被用来计算附加包头,且被加密,附加包头和被加密的数据被封装在一个新的IP数据中。在传输模式中只是传输层(如TCP、UDP、ICMP)数据被用来计算附加包头,附加包头和加密的数据被放置在原IP报头后面。
2.传输模式中,源和目的IP地址以及所有的IP包头域都是不加密发送的。而在隧道模式中,真正的IP源地址和目的地址都可以被隐藏为因特网发送的普通数据。
◆AH协议
一个用于提供用户数据完整性和认证的机制,通过在整个IP数据包中实施一个散列计算来提供完整性和认证服务。
在隧道模式中,AH报头被插入在原始的包头和新包头之间
◆ESP协议
封装安全载荷(Encapsulating Security Payload)协议通过加密算法提供了身份验证和数据机密性。
最主要的ESP标准是数据加密标准(DES),最高支持56位密钥。3DES使用三倍密钥加密,相当于使用最高到168位的密钥。AES支持128、 192 、256位密钥长度,是IPsecVPN中最常使用的加密算法,也是对称加密中最安全的算法。
◆安全联盟SA
在IPsec中使用AH和ESP时,协议将与一组安全信息和服务发生关联,称为安全联盟
SA定义了各种类型的安全措施,这些安全措施的内容包含了IP包加密解密和认证的相关信息。具体为:提供的服务、算法、密钥。
可以通过手动配置,也可以通过密钥管理协议自动协商。
◆Internet密钥交换IKE
IKE基于Internet安全联盟和密钥管理协议(ISAKAMP)定义的框架。
IKE在隧道建立过程中将完成以下任务:
协商协议参数
交换公共密钥
对双方进行认证
在交换后对密钥进行管理
◆IPsecVPN 的配置
配置IKE的协商
1,启用IKE
- Router<config>#crypto isakmp enable
2,建立IKE协商策略
- Router<config>#crypto isakmp policy priority
3,配置IKE协商参数
- Router<config-isakmp>#hash {md5|sha1}
- Router<config-isakmp>#encryption {des|3des}
- Router<config-isakmp>#authentication pre-share
使用预先共享的密钥,此密码是手工配置的
- Router<config-isakmp>#lifetime seconds
4.设置共享密钥和对端对址
- Router<config>#crypto isakmp key keystring address peer-address
配置IPsec相关参数
1,指定Crypto访问列表
Crypto访问列表不像普通访问控制列表那样"允许"或 "拒绝"流量,它在VPN隧道中定议什么样的报文将被IPsec加密传输,什么样的报文不用被加密而直接传输。
Crypto访问列表必须是互为镜像的。比如:路由器A加密了所有流向路由器B的TCP流量,则路由器B必须加密流回路由器A的所有TCP的流量。
- Router<config>access-list number {deny|permit} protocol source source-wildcard destination destination-wildcard
2.配置IPsec传输模式
传输模式设置定义用于VPN隧道的认证类型、完整性和负载加密。
- Router<config>#crypto ipsec transform-set transform-set-name transform1
- AH验证参数:ah-md5-hmac、ah-sha-hmac
- ESP加密参数:esp-des、esp-3des、esp-null
- ESP验证参数:esp-md5-hma、esp-sha-hamc
配置端口的应用
设置Crypto Map
1,创建Crypto Map:
- Router<config>#crypto map map-name seq-sum ipsec-isakmp
- Router<config-crypto-map>#match address access-list-number
- Router<config-crypto-map>#set peer ip-address
- Router<config-crypto-map>#set transform-set name
2,应用到接口上
- Router<config>#interface interface slot/port
- Router<config-if>crypto map map-name
IPsec VPN配置的检查
- Router#show crypto isakmp policy
- Router#show crypto isakmp sa
- Router#show crypto ipsec sa
- Router#show crypto map
IKE模式
Isakmp/ike模式 |
状态 |
描述 |
IKE阶段一主要模式 |
MM-NO-STATE |
IKE阶段一的主要模式中,在路由器上已经建立了管理sa,但和远程对等体还没有协商任何参数。 |
MM-SA-SETUP |
IKE阶段一的主要模式中,两个IPsec对等体成功地协商IKE策略参数。 |
|
MM-KEY-EXCH |
IKE阶段一的主要模式中,发生了DH交换,并生成了共享密钥。 |
|
MM-KEY-AUTH |
IKE阶段一的主要模式中,成功完成了两个对等体的身份认证,IKE阶段二现在可以开始了。 |
|
IKE阶段一积极模式 |
AG-NO-STATE |
IKE阶段一的积极模式中,在路由器上已经建立了管理sa,但和远程对等体还没有协商任何参数。 |
AG-INIT-EXCH |
IKE阶段一的积极模式中,成功地协商了IKE参数,发生了DH交换,并生成了共享密钥。 |
|
AG-AUTH |
IKE阶段一的积极模式中,成功完成了两个对等体的身份认证,IKE阶段二现在可以开始了。 |
|
IKE阶段2快速模式 |
QM-IDLE |
完成IKE阶段1,并开始,以及可能结束IKE阶段2 |