一:IPSec概述

IPSec(IP Security)协议族是IETF制定的一系列协议,它为ip数据包提供了高质量的、可互操作的、基于密码学的安全性。特定通信方之间

在ip层通过加密与数据源验证等方式,来保证数据包在网络上传输时的私有性、完整性、真实性和防重放

1:私有性指对用户数据进行加密保护,用密文的形式传送

2:完整性指对接收的数据进行验证,以判定报文是否被篡改

3:真实性指验证数据源,以保证数据来自真实的发送者

4:防重放指防止恶意用户通过重复发送捕获到的数据包所进行的***,即接收方会拒绝旧的或重复的数据包

IPSec 是网络层的安全机制。通过对网络层包信息的保护,上层应用程序即使没有实现安全性,也能够自动从网络层提供的安全性中获益。这

打消了人们对×××(Virtual Private Network,虚拟专用网络)安全性的顾虑。使得××× 得以广泛应用。

二:IPSec的两种工作模式:传输模式和隧道模式

1:在AH协议中,传输模式只在数据的前面加上了一个AH字段,而原ip数据包头在显示在整个数据报的前面,在这中模式中,源ip地址是不

加认证发送的;在隧道模式中,源ip地址被隐藏在在AH协议字段中,在最前面新加上了一个ip包头,这种模式对原始ip数据报都进行了验证。

p_w_picpath

2:在ESP协议中,传输模式只在数据部分的前面加上了一个ESP头部,在数据部分的前面加上了ESP尾部和ESP验证,而原ip数据包头在显

示在整个数据报的前面,在这种模式中,源ip地址是不加密发送的。在隧道模式中,将源ip数据报全部包含在ESP中,最前面加上了一个新ip

包头,尾部加上了一个ESP验证。这种模式对原始ip数据报都进行了加密和认证

p_w_picpath 

三:IPSec使用安全协议:

1:AH(认证头,协议号51):是一个用户提供ip数据报完整性和认证的机制。其完整性是保证数据包不被无意的或恶意的方式改变。它是

通过散列算法来保证数据的完整性,散列算法是一种单向算法,首先将数据进行散列算法,得到一个散列值,然后重新计算得到的散列值同传

送过来的散列值相比较,如果相同则表示数据是完整的,如不同则表示数据被改动过。常见的散列算法有:HMAC-MD5(128位保密密钥)

和HMAC-SHA-1(160位保密密钥)。AH不提供数据的加密机制,只提供数据的完整性的认证

2:ESP(封装安全荷载):ESP提供IP数据报的完整性和可信心服务。它可以对数据进行认证,认证方法主要是散列算法(HMAC-MD5和

HMAC-SHA-1),并且可以对数据进行加密。加密算法有:des、3des等。

3:IKE(因特网密钥交换协议):ike是混合协议,其中包含部分oakley协议以及内置在ISAKMP协议中的部分SKEMK协议,所以ike也可以

写作ISAKMP/oakley,它是针对密钥安全的是用来保证密钥的安全传输、交互以及存储,主要针对密钥进行操作

四:安全联盟(SA)

1:安全联盟(SA)是IPsec的基础,也是本质。SA是通信对等体间对某些要素的约定。例如:使用哪种协议(AH、ESP)、协议的操作模

式(隧道模式和传输模式)、加密算法(DES、3DES等)、特定流中保护数据的共享密钥以及密钥的生存周期等

2:安全联盟(SA)是单向的、在两个对等体之间的双向通信,最少需要两个安全联盟来分别两个方向的数据流进行安全保护。安全联盟由一

个三元组来唯一标识,这个三元组包括SPI(安全参数索引)、目的ip地址、安全协议号(AH或ESP)。SPI是为唯一标识SA而生成的一个32

比特的数据,他在AH或ESP投中传输。

3:安全联盟可通过手工配置(manual)和自动协商(ISAKMP)两种方式建立。手工建立(manual)安全联盟的方式是指用户通过在两端

手工设置一些参数,然后在接口上应用安全策略建立安全联盟。自动协商方式(ISAKMP)由IKE 生成和维护,通信双方基于各自的安全策略

库经过匹配和协商,最终建立安全联盟而不需要用户的干预。手动方式配置相对

复杂,对于节点较多的情况则使用自动协商方式比较合适。

案例:

1:原理:如图所以:R9路由器为北京所在总公司,R6和R14是下属的分支机构,通过在这个三个路由器上配置IPSec实现总公司与分支机构

的网络互通。

2:拓扑方案:

p_w_picpath 

3:配置:

R9:

[R9]int e 0
[R9-Ethernet0]ip add 172.16.1.1 24
[R9-Ethernet0]int e 1
[R9-Ethernet1]ip add 192.168.1.1 24
[R9-Ethernet1]qu
[R9]acl 3000
[R9-acl-3000]rule permit ip source 192.168.1.0 0.0.0.255 des 192.168.2.0 0.0.0.255    #创建acl,允许192.168.1.0/24网段访问192.168.2.0/24
[R9-acl-3000]rule deny ip source any des any      #其他的流量全部拒绝
[R9]acl 3001
[R9-acl-3001]rule permit ip source 192.168.1.0 0.0.0.255 des 192.168.3.0 0.0.0.255    #创建acl,允许192.168.1.0/24网段访问192.168.3.0/24
[R9-acl-3001]rule deny ip sour any des any
[R9-acl-3001]qu
[R9]ipsec proposal tran1      #定义安全提议tran1
[R9-ipsec-proposal-tran1]encapsulation-mode  tunnel    #选择隧道模式tunnel
[R9-ipsec-proposal-tran1]transform esp-new        #选择安全协议esp
[R9-ipsec-proposal-tran1]esp-new encryption-algorithm des      #选择加密算法des
[R9-ipsec-proposal-tran1]esp-new authentication-algorithm sha1-hmac-96      #选择认证方式sha1-hmac-96
[R9-ipsec-proposal-tran1]qu
[R9]ipsec policy policy1 10 isakmp      #使用自动协商方式建立安全联盟SA,策略命名为policy1,编号10
[R9-ipsec-policy-policy1-10]secur acl 3000       #使用acl3000 ,定义需要加密的流量
[R9-ipsec-policy-policy1-10]tunnel remote 172.16.2.1      #设置安全隧道的终点
[R9-ipsec-policy-policy1-10]proposal tran1      #配置安全策略中的使用的安全提议
[R9-ipsec-policy-policy1-10]qu
[R9]ipsec policy policy1 11 isakmp      #使用自动协商方式建立安全联盟SA,策略命名为policy1,编号11
[R9-ipsec-policy-policy1-11]secur acl 3001          #使用acl3001,定义需要加密的流量
[R9-ipsec-policy-policy1-11]tunnel remote 172.16.3.1      #设置安全隧道的终点
[R9-ipsec-policy-policy1-11]proposal tran1       #配置安全策略中的使用的安全提议
[R9-ipsec-policy-policy1-11]qu
[R9]int e 0
[R9-Ethernet0]ipsec policy policy1          #将安全策略policy1运用在端口上
[R9]ike pre-shared-key abcd remote 172.16.2.1         #定义通信双方预共享认证密钥abcd,隧道终点为172.16.2.1
[R9]ike pre-shared-key abcde remote 172.16.3.1        #定义通信双方预共享认证密钥abcde,隧道终点为172.16.3.1
[R9]ip route 0.0.0.0 0.0.0.0 172.16.1.2        #配置静态路由,使数据能够发送向互联网

R6:

[R6]int e 0
[R6-Ethernet0]ip add 172.16.2.1 24
[R6-Ethernet0]int e 1
[R6-Ethernet1]ip add 192.168.2.1 24
[R6-Ethernet1]qu
[R6]acl 3000
[R6-acl-3000]rule permit ip source 192.168.2.0 0.0.0.255 des 192.168.1.0 0.0.0.255
[R6-acl-3000]rule deny ip source any dest any
[R6]ipsec proposal proposal1
[R6-ipsec-proposal-proposal1]encapsulation-mode tunnel     #与R9上的模式选择必须相同
[R6-ipsec-proposal-proposal1]transform esp-new        #与R9上的选择的安全协议相同
[R6-ipsec-proposal-proposal1]esp-new encryption-algorithm des      #与R9上的加密方法相同
[R6-ipsec-proposal-proposal1]esp-new authentication-algorithm sha1-hmac-96      #与R9上的认证方法相同
[R6-ipsec-proposal-proposal1]qu
[R6]ipsec policy policy1 10 isakmp
[R6-ipsec-policy-policy1-10]secur acl 3000
[R6-ipsec-policy-policy1-10]tunnel remote 172.16.1.1
[R6-ipsec-policy-policy1-10]proposal proposal1
[R6-ipsec-policy-policy1-10]qu
[R6]int  e0
[R6-Ethernet0]ipsec policy policy1
[R6-Ethernet0]qu
[R6]ip route 0.0.0.0 0.0.0.0 172.16.2.2 
[R6]ike pre-shared-key abcd remote 172.16.1.1        #与R9上在同一链路的共享密钥保持一致

R16:

[r16]interface e0
[r16-Ethernet0]ip add 172.16.3.1 255.255.255.0
[r16]interface e 1
[r16-Ethernet1]ip add 192.168.3.1 255.255.255.0
[r16]acl 3000
[r16-acl-3000]rule permit ip source 192.168.3.0 0.0.0.255 dest 192.168.1.0 0.0.0.255
[r16-acl-3000]rule deny ip source any dest any
[r16-acl-3000]qu
[r16]ipsec proposal tran1
[r16-ipsec-proposal-tran1]encapsulation-mode tunnel       #与R9上选择相同模式
[r16-ipsec-proposal-tran1]transform esp-new           #与R9上选择相同的安全协议
[r16-ipsec-proposal-tran1]esp-new encryption-algorithm des        #与R9选择相同的加密算法
[r16-ipsec-proposal-tran1]esp-new authentication-algorithm sha1-hmac-96         #与R9采用相同的认证机制
[r16-ipsec-proposal-tran1]qu
[r16]ipsec policy policy1 10 isakmp
[r16-ipsec-policy-policy1-10]tunnel remote 172.16.1.1
[r16-ipsec-policy-policy1-10]proposal tran1
[r16-ipsec-policy-policy1-10]security acl 3000
[r16]interface e 0
[r16-Ethernet0]ipsec policy policy1
[r16-Ethernet0]qu
[r16]ip route-static 0.0.0.0 0.0.0.0 172.16.3.2
[r16]ike pre-shared-key abcde remote 172.16.1.1        #与R9上在同一链路的共享密钥保持一致

中间防火墙模拟互联网,简单配置:

p_w_picpath

p_w_picpath

测试:

1:测试R9到两个分支机构R6和R16的连通性:

p_w_picpath

p_w_picpath

2:测试分支机构R6和R16到总公司R9的网络连通性:

p_w_picpath

p_w_picpath

3:查看R9的安全倡议、安全策略:

p_w_picpath

p_w_picpath

查看R9、的安全联盟,在R9上要建立起两个安全联盟SA:

p_w_picpath

p_w_picpath

4:查看R6的安全倡议、安全策略及安全联盟:

p_w_picpath

p_w_picpath

p_w_picpath

5:查看R16的安全倡议、安全策略及安全联盟:

p_w_picpath

p_w_picpath

p_w_picpath