理论:
- 安全联盟SA:安全联盟是要建立IPSec 隧道的通信双方对隧道参数的约定,包括隧道两端的IP地址、隧道采用的验证方式、验证算法、验证密钥、加密算法、共享密钥以及生命周期等一系列参数。
- SA由三元组来唯一标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址和使用的安全协议号(AH或ESP)。其中,SPI是为唯一标识SA而生成的一个32位比特的数值,它在AH和ESP头中传输。在手工配置SA时,需要手工指定SPI的取值。使用IKE协商产生SA时,SPI将随机生成。
- SA是单向的逻辑连接,因此两个IPSec对等体之间的双向通信,最少需要建立两个SA来分别对两个方向的数据流进行安全保护。
- IKE是一个混合协议:
- 1、SKEME:定义如何通过公共密钥技术(DH算法)实现密钥交换
- 2、Oakley:提供了IPSec对各种基数的支持,例如对新的加密与散列技术。并没有具体定义使用什么样的技术。
- 3、ISAKMP:定义了消息交换的体系结构,包括两个IPSEC对等体分组形势的状态转变。(定义了封装的格式和协商包交换的方式)
- SA是IPSec的一个基本组成部分,SA是SADB的一个条目,它包含双方关于IKE和IPSec已经协商完毕的安全信息。
- IKE or ISAKMP SA:双向的,决定了IKE协议处理相关细节
- IPSec SA:单向的,与封装协议相关,决定了具体加密流量的处理方式
- IKEv1协商阶段1支持两种协商模式:主模式6个包(Main Mode)和野蛮模式3个包(Aggressive Mode)。
- IKEv1协商阶段2协商模式:快速模式3个包。
- 第一阶段的主要任务:
- 消息①和②用于策略交换
发起方发送一个或多个IKE安全提议,响应方查找最先匹配的IKE安全提议,并将这个IKE安全提议回应给发起方。匹配的原则为协商双方具有相同的加密算法、认证算法、认证方法和Diffie-Hellman组标识。 - 消息③和④用于密钥信息交换
双方交换Diffie-Hellman公共值和nonce值,用于IKE SA的认证和加密密钥在这个阶段产生。 - 消息⑤和⑥用于身份和认证信息交换(双方使用生成的密钥发送信息),双方进行身份认证和对整个主模式交换内容的认证。
- 第二阶段的主要任务是:
- 1、 协商IPSec策略(处理感兴趣流)
- 2、 建立IPSec SA (单向、协议相关)
在IKEv1中,双方的感兴趣刘必须互为镜像,不能取交集。而在IKEv2中可以取交集。
- PFS
- 1、 Perfect Forward Secrecy 完美向前保密
- 2、 Cisco默认不开启PFS功能
- 3、 在IPsec SA 协商阶段重新进行一次DH交换来产生新的密钥
IKE与IPSec的关系:
IKE为IPSec提供了自动协商密钥、建立IPSec安全联盟的服务,能够简化IPSec的使用和管理,大大简化IPSec的配置和维护工作。
野蛮模式的场景:
与主模式相比,野蛮模式减少了交换信息的数目,提高了协商的速度,但是没有对身份信息进行加密保护。虽然野蛮模式不提供身份保护,但它可以满足某些特定的网络环境需求:
- 当IPSec隧道中存在NAT设备时,需要启动NAT穿越功能,而NAT转化会改变对等体的IP地址,由于野蛮模式不依赖于IP地址标识身份,使得采用预共享密钥验证方式时,NAT穿越只能在野蛮模式中实现。
- v 如果发起方的IP地址不固定或者无法预知,而双方都希望采用预共享密钥验证方法来创建IKE SA,则只能采用野蛮模式。
- 如果发起方已知响应方的策略,或者对响应者的策略有全面的了解,采用野蛮模式能够更快地创建IKE SA。
主模式场景:要求两端都是固定IP地址
配置案例
网络初始化
验证网络:
ASA
crypto ikev1 enable outside
crypto ikev1 policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 28800
access-list outside_cryptomap extended permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0
crypto ipsec ikev1 transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto map outside_map 1 match address outside_cryptomap
crypto map outside_map 1 set pfs
crypto map outside_map 1 set peer 162.106.1.1
crypto map outside_map 1 set ikev1 transform-set ESP-3DES-SHA
crypto map outside_map interface outside
crypto ikev1 enable outside
tunnel-group 162.106.1.1 type ipsec-l2l
tunnel-group 162.106.1.1 ipsec-attributes
ikev1 pre-shared-key cisco
ikev1 pre-shared-key cisco
Branch
access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
crypto isakmp policy 10
encr 3des
authentication pre-share
hash sha
group 2
lifetime 28800
crypto isakmp key cisco address 202.100.1.10
!
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
mode tunnel
!
crypto map maptest 1 ipsec-isakmp
set peer 202.100.1.10
set transform-set ESP-3DES-SHA
set pfs group2
match address 100
interface FastEthernet0/0
crypto map maptest
验证
图形化配置 可以跟着引导一步一步做 这里省略.