忙了一天,总算有时间继续博客了。那么进入今天的正题——IPsec
什么是IPsec:除了实现之前说的GRE Tunnel的通道功能意外,还实现数据加密。博主以前也一再以为IPsec就是×××协议之类的,但人家不是协议啦,而是一个框架。那么IPsec有那些协议呢?
1、IKE(Internet Key Exchange);
2、ESP(Encapsulating Security Protocol);
3、AH(Authentication Header);
3个协议 一个个来击破吧!
IKE(Internet Key Exchange)
IKE是个混合协议(混合了Oakley和ISAKMP:Internet Security Association and Key Management Protocol)
首先,IPSec是能实现加密(密钥)、数据两个功能
1、密钥:首先需要有对等体的认证技术,也就是PSK、PKI、RSA
2、保证密钥的安全:上述的密钥可能人为或者数据串改导致密钥也是假的,所以我们也要对密钥进行加密也就是密钥算法(Diffie-Hellman)包括Group 1、2、3
加密之后就是数据了,也就是SA(Security Association)。IPsec的所有会话都是在通道中传输的,包括协商密钥,传递用户数据;这样的通道称为SA,但SA并不是隧道,而是一组规则,就好比是需要会话的对等体之间必须遵守的一份合同。
那么SA也分为2个:
1、IKE SA:主要保护对象是密钥,他无视数据,是为安全协商IPsec SA服务的。
2、IPsec SA:主要保护对象是数据。所有数据传输都是在这个通道里实现的。
所以呢,SA有个自己的表,尤其是IPSec SA都把数据存放在 SA Database里。
不论是IKE SA还是IPsec SA,其实都是和IKE有关。所以,IKE SA 和 IPsec SA也代表着IKE的2个阶段
,这2个阶段的具体内容等配置的时候再讲。
ESP(Encapsulating Security Protocol) 协议号 50
ESP更多的为数据安全服务。【在我学习的资料上给我的感觉IKE、ESP、AH是3个独立的协议,但个人感觉应该不是这样,ESP和AH其实更多的是为IKE的第二个阶段 IPsec SA服务。不知道各位大神我这样理解对不对】
那么,ESP主要是通过加密算法:DES,3DES,AES 128,AES 192,AES 256,默认为DES。来实现数据的机密性和完整性的。
AH(Authentication Header) 协议号 51
AH主要是实现数据加密后的验证。
通过hash(HMAC):HA-1,MD5,默认为SHA-1
IPsec配置
IPSec配置可以分为2个阶段
1、IKE Phase One(IKE SA)
认证:
1、 Pre-Shared Keys (PSK);
2、Public Key Infrastructure (PKI) using X.509 Digital Certificates;
3、RSA encrypted nonce; 密钥算法(Diffie-Hellman):1、Group 1:加密长度768bit;
2、Group 2:加密长度1024bit;
3、Group 3:加密长度1536bit;
加密算法(Encryption):DES,3DES,AES 128,AES 192,AES 256
Hash算法(HMAC):SHA-1,MD5
2、IKE Phase Two(IPSec SA)
加密算法(Encryption):DES,3DES,AES 128,AES 192,AES 256
Hash算法(HMAC):SHA-1,MD5
具体配置如下:
1、IKE Phase One
crypto isakmp policy 1
encryption 3des
hash sha
authentication pre-share
group 2
crypto isakmp key 0 cisco address [peer ip address]
2、IKE Phase Two
crypto ipsec transform-set *** esp-3des esp-sha-hmac
access-list 100 permit ip [需要×××的地址范围]
crypto map m*** 1 ipsec-isakmp
set peer [peer ip address]
set transform-set ***
match address 100
interface [interface]
crypto map m***