一、IPSEC基本原理

 

1.IPSEC简介及特点

IPSec 是包括安全协议(Security Protocol)和密钥交换协议(IKE),由IETF(Internet Engineering TaskForce,Internet 工程任务组)开发的,可为通讯双方提供访问控制、无连接的完整性、数据来源认证、反重放、加密以及对数据流分类加密等服务的一系列网络安全协议的总称,其中安全协议又包括AH(头验证协议)和ESP(安全封装载荷);而IKE是一种基于ISAKMP(Internet Security Association and Key Management Protocol,互联网安全关联和密钥管理协议)中TCP/IP框架,合并了Oakley(密钥交换协议)的一部分和SKEME(密钥技术协议)的混合协议。

2.IPSEC的安全特性

(1)不可否认性:"不可否认性"可以证实消息发送方是唯一可能的发送者,发送者不能否认发送过消息。"不可否认性"是采用公钥技术的一个特征,当使用公钥技术时,发送方用私钥产生一个数字签名随消息一起发送,接收方用发送者的公钥来验证数字签名。由于在理论上只有发送者才唯一拥有私钥,也只有发送者才可能产生该数字签名,所以只要数字签名通过验证,发送者就不能否认曾发送过该消息。但"不可否认性"不是基于认证的共享密钥技术的特征,因为在基于认证的共享密钥技术中,发送方和接收方掌握相同的密钥。
(2)抗重播性(Anti-Replay): IPsec接收方可根据数据包数据段前加入的32位序列号来检测每个IP包的唯一性并拒绝接收过时或重复的报文,以防止***者截取破译信息后,再用相同的信息包冒取非法访问权(即使这种冒取行为发生在数月之后)。
(3)数据完整性(Data Integrity): IPsec接收方利用md5,sha-1等哈希算法对发送方发送来的包进行认证,防止传输过程中数据被篡改,确保发出数据和接收数据的一致性。
(4)数据可靠性(Confidentiality):IPsec发送方在通过des,3des,aes等对称加密算法在网络传输包前对包进行加密,保证在传输过程中,即使数据包遭截取,信息也无法被读。该特性在IPSec中为可选项,与IPSec策略的具体设置相关。
(5)数据来源认证(Data Authentication):IPsec在接收端通过preshared key(域共享密钥),证书,kerberos v5等可以认证发送IPsec报文的发送端是否合法。

3.IPSEC的工作模式

(1)隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通讯。
(2)传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通讯。

4.IPsec基本概念(基于H3C)

数据流:在 IPSec 中,一组具有相同源地址/掩码/端口、目的地址/掩码/端口和上层协议的数据集称为数据流。通常,一个数据流采用一个访问控制列表(acl)来定义,所有为ACL 允许通过的报文在逻辑上作为一个数据流。
安全策略:由用户手工配置,规定对什么样的数据流采用什么样的安全措施。对数据流的定义是通过在一个访问控制列表中配置多条规则来实现,在安全策略中引用这个访问控制列表来确定需要进行保护的数据流。一条安全策略由“名字”和“顺序号”共同唯一确定。
安全策略组:所有具有相同名字的安全策略的集合。在一个接口上,可应用或者取消一个安全策略组,使安全策略组中的多条安全策略同时应用在这个接口上,从而实现对不同的数据流进行不同的安全保护。在同一个安全策略组中,顺序号越小的安全策略,优先级越高。
安全联盟(Security Association,简称SA):IPSec 对数据流提供的安全服务通过安全联盟SA 来实现,它包括协议、算法、密钥等内容,具体确定了如何对IP 报文进行处理。一个SA 就是两个IPSec 系统之间的一个单向逻辑连接,输入数据流和输出数据流由输入安全联盟与输出安全联盟分别处理。安全联盟由一个三元组(安全参数索引(SPI)、IP 目的地址、安全协议号(AH或ESP))来唯一标识。
安全联盟可通过手工配置和自动协商两种方式建立。
手工建立安全联盟的方式是指用户通过在两端手工设置SA的全部信息,然后在接口上应用安全策略建立安全联盟,缺点是配置复杂,而且不支持一些高级特性(如定时更新密钥),适用于小型企业。
自动协商方式由IKE 生成和维护,通信双方基于各自的安全策略库经过匹配和协商,最终建立安全联盟而不需要用户的干预,配置简单,适用于大型企业。在自动协商中又分为主模式与野蛮模式,野蛮模式交换与主模式交换的主要差别在于,野蛮模式不提供身份保护。在对身份保护要求不高的场合,使用交换报文较少的野蛮模式可以提高协商的速度;在对身份保护要求较高的场合,则应该使用主模式。
安全参数索引(SPI):是一个32 比特的数值,在每一个IPSec 报文中都携带该值。SPI、IP 目的地址、安全协议号三者结合起来共同构成三元组,来唯一标识一个特定的安全联盟。在手工配置安全联盟时,需要手工指定SPI 的取值。为保证安全联盟的唯一性,每个安全联盟需要指定不同的SPI 值;使用IKE协商产生安全联盟时,SPI 将随机生成。
安全提议:包括安全协议、安全协议使用的算法、安全协议对报文的封装形式,规定了把普通的IP 报文转换成IPSec 报文的方式。在安全策略中,通过引用一个安全提议来规定该安全策略采用的协议、算法等。

 

二.案例

1.实验拓扑图
 

                          2012-08-09_165007

2.实验环境说明

设备:3台华为路由器 quidway2600series,1台华为防火墙 f100c
Pc1、R2的lo1和R3的lo1 跨Internet 网络,采用*** 隧道方式进行通信。路由器R14, R2和R3 为***隧道的三个端点,在R14和R2间建立***通道,R14和R3之间建立***通道,实现R14和R2,R14和R3之间互通。

3.实验步骤

R14配置:

接口配置

interface Ethernet0 
    ip address 1.1.1.1 255.255.255.252  

interface Ethernet1 
    ip address 192.168.1.1 255.255.255.0 

创建访问列表

ike pre-shared-key qazwsx remote 1.1.3.1 
   ike pre-shared-key abcdefg remote 1.1.2.1 
  acl 3000 match-order auto 
    rule normal permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 
    rule normal deny ip source any destination any

acl 3001 match-order auto 
    rule normal permit ip source 192.168.1.0 0.0.0.255 destination 192.168.3.0 0.0.0.255 
    rule normal deny ip source any destination any

分别创建名为tran1、tran2的安全提议

ipsec proposal tran2

ipsec proposal tran1

创建一条安全策略,协商方式为isakmp

ipsec policy policy1 10 isakmp

引用访问列表

security acl 3000

引用安全提议

proposal tran1

设置末端地址

tunnel remote 1.1.2.1

创建另一条安全策略,及相关配置

ipsec policy 1 11 isakmp

    security acl 3001                     
    proposal tran2                        
    tunnel remote 1.1.3.1 

使用IKE 协商方式,并配置IKE 预设认证字

ike pre-shared-key qazwsx remote 1.1.3.1   
ike pre-shared-key abcdefg remote 1.1.2.1

在串口上应用安全策略组

interface Ethernet0

ipsec policy 1

ip route-static 0.0.0.0 0.0.0.0 1.1.1.2 preference 60          默认路由

R2配置:

接口配置

interface Ethernet0 
    ip address 1.1.2.1 255.255.255.252
interface LoopBack1    
ip address 192.168.2.1 255.255.255.0

使用ike协商方式,并使用IKE预设认证字

ike pre-shared-key abcdefg remote 1.1.1.1

创建访问列表

acl 3000 match-order auto 
    rule normal permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 
    rule normal deny ip source any destination any

创建名为tran1的安全提议

ipsec proposal tran1

创建一条安全策略,协商方式为isakmp

ipsec policy policy2 10 isakmp

引用访问列表

security acl 3000

引用安全提议

proposal tran2

设置末端地址

tunnel remote 1.1.1.1

在串口上应用安全策略组

interface Ethernet0  
    ipsec policy 2     

ip route-static 0.0.0.0 0.0.0.0 1.1.2.2 preference 60    默认路由

R3配置

接口配置

interface Ethernet0 
    ip address 1.1.3.1 255.255.255.252    
         interface LoopBack1 
    ip address 192.168.3.1 255.255.255.0 

使用IKE 协商方式,并配置IKE 预设认证字

ike pre-shared-key qazwsx remote 1.1.1.1

创建访问列表

acl 3001 match-order auto 
    rule normal permit ip source 192.168.3.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 
    rule normal deny ip source any destination any

创建名为tran2的安全提议

ipsec proposal tran2

创建一条安全策略,协商方式为isakmp

ipsec policy 3 11 isakmp

引用访问列表

security acl 3001

引用安全提议

proposal tran2

设置末端地址

tunnel remote 1.1.1.1

在串口上应用安全策略组

interface Ethernet0

ipsec policy 3

ip route-static 0.0.0.0 0.0.0.0 1.1.3.2 preference 60             默认路由

防火墙配置

interface Ethernet0/0  

ip address 1.1.1.2 255.255.255.252

interface Ethernet0/1

ip address 1.1.2.2 255.255.255.252

interface Ethernet0/2

ip address 1.1.3.2 255.255.255.252

添加trust区域

firewall zone trust

add interface Ethernet0/0

set priority 85

添加untrust区域

firewall zone untrust

add interface Ethernet0/1

add interface Ethernet0/2

add interface Ethernet0/3

set priority 5

测试

2012-08-09_120941

2012-08-09_121002