IPsec在企业网中的应用

IPsec简介
IPsec(IP Security)是IETF制定的三层隧道加密协议,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。特定的通信方之间在IP层通过加密与数据源认证等方式,提供了以下的安全服务:
l 数据机密性(Confidentiality):IPsec发送方在通过网络传输包前对包进行加密。
l 数据完整性(Data Integrity):IPsec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。
l 数据来源认证(Data Authentication):IPsec在接收端可以认证发送IPsec报文的发送端是否合法。
l 防重放(Anti-Replay):IPsec接收方可检测并拒绝接收过时或重复的报文。
IPsec具有以下优点:
l 支持IKE(Internet Key Exchange,因特网密钥交换),可实现密钥的自动协商功能,减少了密钥协商的开销。可以通过IKE建立和维护SA的服务,简化了IPsec的使用和管理。
l 所有使用IP协议进行数据传输的应用系统和服务都可以使用IPsec,而不必对这些应用系统和服务本身做任何修改。
l 对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。

IPsec基本概念
1. 安全联盟(Security Association,SA)
IPsec在两个端点之间提供安全通信,端点被称为IPsec对等体。
SA是IPsec的基础,也是IPsec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法(DES、3DES和AES)、特定流中保护数据的共享密钥以及密钥的生存周期等。建立SA的方式有手工配置和IKE自动协商两种。
SA是单向的,在两个对等体之间的双向通信,最少需要两个SA来分别对两个方向的数据流进行安全保护。同时,如果两个对等体希望同时使用AH和ESP来进行安全通信,则每个对等体都会针对每一种协议来构建一个独立的SA。
SA由一个三元组来唯一标识,这个三元组包括SPI(Security Parameter Index,安全参数索引)、目的IP地址、安全协议号(AH或ESP)。
SPI是用于唯一标识SA的一个32比特数值,它在AH和ESP头中传输。在手工配置SA时,需要手工指定SPI的取值。使用IKE协商产生SA时,SPI将随机生成。
通过IKE协商建立的SA具有生存周期,手工方式建立的SA永不老化。IKE协商建立的SA的生存周期有两种定义方式:
l 基于时间的生存周期,定义了一个SA从建立到失效的时间;
l 基于流量的生存周期,定义了一个SA允许处理的最大流量。
生存周期到达指定的时间或指定的流量,SA就会失效。SA失效前,IKE将为IPsec协商建立新的SA,这样,在旧的SA失效前新的SA就已经准备好。在新的SA开始协商而没有协商好之前,继续使用旧的SA保护通信。在新的SA协商好之后,则立即采用新的SA保护通信。
2. 封装模式
IPsec有如下两种工作模式:
l 隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通讯。
l 传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通讯。

3. 认证算法与加密算法
(1) 认证算法
认证算法的实现主要是通过杂凑函数。杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPsec对等体计算摘要,如果两个摘要是相同的,则表示报文是完整未经篡改的。IPsec使用两种认证算法:
l MD5:MD5通过输入任意长度的消息,产生128bit的消息摘要。
l SHA-1:SHA-1通过输入长度小于2的64次方bit的消息,产生160bit的消息摘要。
MD5算法的计算速度比SHA-1算法快,而SHA-1算法的安全强度比MD5算法高。
(2) 加密算法
加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。目前设备的IPsec实现三种加密算法:
l DES(Data Encryption Standard):使用56bit的密钥对一个64bit的明文块进行加密。
l 3DES(Triple DES):使用三个56bit的DES密钥(共168bit密钥)对明文进行加密。
l AES(Advanced Encryption Standard):使用128bit、192bit或256bit密钥长度的AES算法对明文进行加密。
这三个加密算法的安全性由高到低依次是:AES、3DES、DES,安全性高的加密算法实现机制复杂,运算速度慢。对于普通的安全要求,DES算法就可以满足需要。
4. 协商方式
有如下两种协商方式建立SA:
l 手工方式(manual)配置比较复杂,创建SA所需的全部信息都必须手工配置,而且不支持一些高级特性(例如定时更新密钥),但优点是可以不依赖IKE而单独实现IPsec功能。
l IKE自动协商(isakmp)方式相对比较简单,只需要配置好IKE协商安全策略的信息,由IKE自动协商来创建和维护SA。
当与之进行通信的对等体设备数量较少时,或是在小型静态环境中,手工配置SA是可行的。对于中、大型的动态网络环境中,推荐使用IKE协商建立SA。
5. 安全隧道
安全隧道是建立在本端和对端之间可以互通的一个通道,它由一对或多对SA组成。

二:案例一
1.配置需求
上边路由器(r4)为总公司的,左边为分支机构1(r2),右边为分支机构2(r5),需要在总公司分别和分支机构1 分支机构2之间建立一个安全隧道对总公司代表的子网与分支机构代表的子网之间的数据流进行安全保护。安全协议采用ESP协议,加密算法采用DES,认证算法采用sha-hmac-96.其中我们用一台三层交换机来模拟internet。
2.拓扑图

 

 

配置步骤

1---》三层交换机的配置步骤

#

vlan 1

#

vlan 10

#

vlan 20

#

vlan 30

#

interface Vlan-interface1

 ip address 192.168.101.21 255.255.255.0

#

interface Vlan-interface10

 ip address 10.10.10.2  255.255.255.0

#

interface Vlan-interface20

 ip address 20.20.20.2  255.255.255.0

#

interface Vlan-interface30

 ip address 30.30.30.2  255.255.255.0

#

interface Aux0/0

#

interface Ethernet0/1

#

interface Ethernet0/2

#

interface Ethernet0/3

#

interface Ethernet0/4

#

interface Ethernet0/5 

port access vlan 10

#

interface Ethernet0/6

 port access vlan 20

#

interface Ethernet0/7

port access vlan 30

#

2---.>>总公司(r4)的配置步骤
[Router]int loop1
[Router-loopback1]ip add 192.168.1.1 24 //配置loop1地址
[Router] ip route-static 0.0.0.0 0.0.0.0 10.10.10.2 preference 60  //配置默认网关,是r4能与internet通信
[Router] acl 3001
[Router-acl-3001] rule permit ip source 192.168.1.0 0.0.0.255 destination
192.168.2.0 0.0.0.255
[Router-acl-3001] rule deny ip source any destination any //配置一个访问控制列表,定义由子网192.168.1.0去子网192.168.2.0的数据流。
[Router] acl 3002
[Router-acl-3002] rule permit ip source 192.168.1.0 0.0.0.255 destination
192.168.3.0 0.0.0.255
[Router-acl-3002] rule deny ip source any destination any //配置一个访问控制列表,定义由子网192.168.1.0去子网192.168.3.0的数据流。

[Router] ipsec proposal tran1 //创建名为tran1的安全提议
[Router-ipsec-proposal-tran1] encapsulation-mode tunnel //报文的封装采用隧道模式
[Router-ipsec-proposal-tran1] transform esp-new //安全协议采用ESP协议
[Router-ipsec-proposal-tran1] esp-new encryption-algorithm des  //选择认证算法
[Router-ipsec-proposal-tran1] esp-new authentication-algorithm sha1-hmac-96 //选择加密算法
[Router] ipsec  policy  policy1 10 isakmp  //创建一个与分支机构1的安全策略,协商方式为isakmp
[Router-ipsec-policy-policy1-10] tunnel remote 20.20.20.1 //设置对端地址
[Router-ipsec-policy-policy1-10] proposal tran1 //引用安全提议
[Router-ipsec-policy-policy1-10] security acl 3001 //引用访控列表
[Router] ipsec policy policy2 11 isakmp  //创建一个与分支机构2安全策略,协商方式为isakmp
[Router-ipsec-policy-policy2-11] tunnel remote 30.30.30.1 //设置对端地址
[Router-ipsec-policy-policy2-11] proposal tran1 //引用安全提议
[Router-ipsec-policy-policy2-11] security acl 3002 //引用访控列表
[Router] interface serial 0/1  //配置串口seral 0/1
[Router-Serial0/1] ip address 10.10.10.1 255.255.255.0 
[Router-Serial0/1] ipsec policy policy1  //在串口上应用安全策略
[Router-Serial0/1] ipsec policy policy2  //在串口上应用安全策略
[Router] ike pre-shared-key abcde remote 20.20.20.1  //相应的IKE配置
[Router] ike pre-shared-key abcde remote 30.30.30.1  //相应的IKE配置

3---》分支机构1(r2)的配置步骤
[Router]int loop1
[Router-loopback1]ip add 192.168.2.1 24 //配置loop1地址
[Router] ip route-static 0.0.0.0 0.0.0.0 20.20.20.2 preference 60  //配置默认网关,是r2能与internet通信
[Router] acl 3001
[Router-acl-3001] rule permit ip source 192.168.2.0 0.0.0.255 destination
192.168.1.0 0.0.0.255
[Router-acl-3001] rule deny ip source any destination any //配置一个访问控制列表,定义由子网192.168.2.0去子网192.168.1.0的数据流。
[Router] ipsec proposal tran1 //创建名为tran1的安全提议
[Router-ipsec-proposal-tran1] encapsulation-mode tunnel //报文的封装采用隧道模式
[Router-ipsec-proposal-tran1] transform esp-new //安全协议采用ESP协议
[Router-ipsec-proposal-tran1] esp-new encryption-algorithm des  //选择认证算法
[Router-ipsec-proposal-tran1] esp-new authentication-algorithm sha1-hmac-96 //选择加密算法
[Router] ipsec policy policy1 10 isakmp  //创建一个与总公司的安全策略,协商方式为isakmp
[Router-ipsec-policy-policy1-10] tunnel remote 10.10.10.1 //设置对端地址
[Router-ipsec-policy-policy1-10] proposal tran1 //引用安全提议
[Router-ipsec-policy-policy1-10] security acl 3001 //引用访控列表
[Router] interface serial 0/1  //配置串口seral 0/1
[Router-Serial0/1] ip address 20.20.20.1 255.255.255.0 
[Router-Serial0/1] ipsec policy policy1  //在串口上应用安全策略
[Router] ike pre-shared-key abcde remote 10.10.10.1  //相应的IKE配置

4---》在分支机构2(r5)上的配置信息

因为其配置信息和第3步基本一致,在这里就不上传其配置信息了!

4---》测试结果
总公司ping分支机构1
 [Router]ping 192.168.2.1

PING 192.168.2.1: 56 data bytes, press CTRL_C to break

Reply from 192.168.2.1: bytes=56 Sequence=0 ttl=255 time = 3 ms

Reply from 192.168.2.1: bytes=56 Sequence=1 ttl=255 time = 3 ms

Reply from 192.168.2.1: bytes=56 Sequence=2 ttl=255 time = 3 ms

Reply from 192.168.2.1: bytes=56 Sequence=3 ttl=255 time = 3 ms

Reply from 192.168.2.1: bytes=56 Sequence=4 ttl=255 time = 3 ms
总公司ping分支机构2
 [Router]ping 192.168.3.1

PING 192.168.3.1: 56 data bytes, press CTRL_C to break

Reply from 192.168.3.1: bytes=56 Sequence=0 ttl=255 time = 3 ms

Reply from 192.168.3.1: bytes=56 Sequence=1 ttl=255 time = 3 ms

Reply from 192.168.3.1: bytes=56 Sequence=2 ttl=255 time = 3 ms

Reply from 192.168.3.1: bytes=56 Sequence=3 ttl=255 time = 3 ms

Reply from 192.168.3.1: bytes=56 Sequence=4 ttl=255 time = 3 ms

你可能感兴趣的:(VPN,IPSec)