资源描述
IPSec VPN典型配置实验
【实验目的】
1、理解IPSec(IP Security)协议在网络安全中的作用。
2、理解IP层数据加密与数据源验证的原理。
3、掌握实现IPSec VPN的典型配置方法。
【实验内容】
1、 按实验一中图1-1搭建本地配置环境,通过Console接口对A和B进行IPSec VPN配置。配置要求为:安全协议采用ESP协议,加密算法采用DES,验证算法采用SHA1-HMAC-96。
2、 按图2-1拓扑结构组网,在A和B之间建立一个安全隧道,对PC A代表的子网(10.1.1.x)与PC B代表的子网(10.1.2.x)之间的数据流进行安全保护。
3、 从子网A向子网B发送数据包,对配置结果进行验证。
【实验环境】
1、 H3C SecPath硬件防火墙两台。
2、 PC个人计算机两台。
3、 Console口配置电缆两根。
4、 RJ-45直通(或交叉)网线三根。
防火墙A
防火墙B
Ethernet1/0 208.38.163.1
Ethernet1/0 208.38.162.1
Ethernet0/0 22.1.2.1
Ethernet0/0 22.1.1.1
PC A:
22.1.1.2
PC B:
22.1.2.2
图2-1 IPSec VPN组网图
【实验参考步骤】
1、按图2-1拓扑结构组网。
2、按实验一相应步骤建立本地配置环境并进入系统视图。
3、配置IPSec VPN
第一步:配置A
(1)定义ethernet 0/0(LAN口)为内部安全区域接口。
[H3C] firewall zone trust
[H3C -zone-trust] add interface ethernet 0/0
[H3C]quit
定义ethernet 1/0(WAN口)为外部广域网接口。
[H3C] firewall zone untrust
[H3C -zone-untrust] add interface ethernet 1/0
[H3C]quit
(2)配置一个访问控制列表,定义由子网10.1.1.x去子网10.1.2.x的数据流。
[H3C] acl number 3101
[H3C-acl-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
[H3C-acl-adv-3101] rule deny ip source any destination any
(3)配置到PC B的静态路由。
[H3C] ip route-static 10.1.2.0 255.255.255.0 202.38.162.1
(4)创建名为tran1的安全提议。
[H3C] ipsec proposal tran1
(5)报文封装形式采用隧道视图。
[H3C-ipsec-proposal-tran1] encapsulation-mode tunnel
(6)安全协议采用ESP协议。
[H3C-ipsec-proposal-tran1] transform esp
(7)选择算法。
[H3C-ipsec-proposal-tran1] esp encryption-algorithm des
[H3C-ipsec-proposal-tran1] esp authentication-algorithm sha1
(8)退回到系统视图。
[H3C-ipsec-proposal-tran1] quit
(9)创建一条安全策略,协商方式为manual。
[H3C] ipsec policy map1 10 manual
(10)引用访问控制列表。
[H3C-ipsec-policy-manual-map1-10] security acl 3101
(11)引用安全提议。
[H3C-ipsec-policy-manual-map1-10] proposal tran1
(12)设置对端地址。
[H3C-ipsec-policy-manual-map1-10] tunnel remote 202.38.162.1
(13)设置本端地址。
[H3C-ipsec-policy-manual-map1-10] tunnel local 202.38.163.1
(14)设置SPI。
[H3C-ipsec-policy-manual-map1-10] sa spi outbound esp 12345
[H3C-ipsec-policy-manual-map1-10] sa spi inbound esp 54321
(15)设置密钥。
[H3C-ipsec-policy-manual-map1-10] sa string-key outbound esp abcdefg
[H3C-ipsec-policy-manual-map1-10] sa string-key inbound esp gfedcba
[H3C-isec-policy-manual-map1-10] quit
(16)配置本端以太网口的IP地址(Ethernet0/0)
[H3C] interface ethernet 0/0
[H3C-Ethernet0/0] ip address 10.1.1.1 255.255.255.0
(17)配置本端广域网口的IP地址(Ethernet1/0)。
[H3C]interface ethernet 1/0
[H3C-Ethernet1/0] ip address 202.38.163.1 255.0.0.0
(18)应用安全策略组。
[H3C-Ethernet1/0] ipsec policy map1
(19)保存当前设置
[H3C]save
第二步:配置B
(1)配置ethernet 0/0(LAN口)为内部安全区域接口。
[H3C] firewall zone trust
[H3C -zone-trust] add interface ethernet 0/0
[H3C]quit
配置ethernet 1/0(WAN口)为外部广域网接口。
[H3C] firewall zone untrust
[H3C -zone-untrust] add interface ethernet 1/0
[H3C]quit
(2)配置一个访问控制列表,定义由子网10.1.2.x去子网10.1.1.x的数据流。
[QuidwayB] acl number 3101
[QuidwayB-acl-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[QuidwayB] rule deny ip source any destination any
(3)配置到PC A的静态路由。
[QuidwayB] ip route-static 10.1.1.0 255.255.255.0 202.38.163.1
(4)创建名为tran1的安全提议。
[QuidwayB] ipsec proposal tran1
(5)报文封装形式采用隧道模式。
[QuidwayB-ipsec-proposal-tran1] encapsulation-mode tunnel
(6)安全协议采用ESP协议。
[QuidwayB-ipsec-proposal-tran1] transform esp
(7)选择算法。
[QuidwayB-ipsec-proposal-tran1] esp encryption-algorithm des
[QuidwayB-ipsec-proposal-tran1] esp authentication-algorithm sha1
(8)退回到系统视图。
[QuidwayB-ipsec-proposal-tran1] quit
(9)创建一条安全策略,协商方式为manual。
[QuidwayB] ipsec policy use1 10 manual
(10)引用访问控制列表。
[QuidwayB-ipsec-policyl-manual-use1-10] security acl 3101
(11)引用安全提议。
[QuidwayB-ipsec-policyl-manual-use1-10] proposal tran1
(12)设置对端地址。
[QuidwayB-ipsec-policyl-manual-use1-10] tunnel remote 202.38.163.1
(13)设置本端地址。
[QuidwayB-ipsec-policyl-manual-use1-10] tunnel local 202.38.162.1
(14)设置SPI 。
[QuidwayB-ipsec-policyl-manual-use1-10] sa spi outbound esp 54321
[QuidwayB-ipsec-policyl-manual-use1-10] sa spi inbound esp 12345
(15)设置密钥。
[QuidwayB-ipsec-policyl-manual-use1-10] sa string-key outbound esp gfedcba
[QuidwayB-ipsec-policyl-manual-use1-10] sa string-key inbound esp abcdefg
[QuidwayB-ipsec-policyl-manual-use1-10] quit
(16)配置本端以太网口的IP地址(Ethernet0/0)
[H3C]interface ethernet 0/0
[H3C-Ethernet0/0] ip address 10.1.2.1 255.255.255.0
(17)配置本端广域网口的IP地址(Ethernet1/0)。
[QuidwayB] interface ethernet 1/0
[QuidwayB-Ethernet1/0] ip address 202.38.162.1 255.0.0.0
(18)应用安全策略组。
[QuidwayB-Ethernet1/0] ipsec policy use1
(19)保存当前设置
[H3C]save
第三步:配置PC机的IP地址
(1) PC A的IP:10.1.1.2
(2) PC B的IP:10.1.2.2
以上配置完成后,A和B之间的安全隧道就建立好了。子网10.1.1.x与子网10.1.2.x之间的数据流将被加密传输。
4、 进行数据加密传输验证
(1) 从PC A发ping 命令,逐级验证到PC B。记录验证结果。
(2) 将A、B两个网段的IP地址改为:192.168.1.0 和192.168.2.0后重新进行配置,记录规划组网的地址信息表;记录配置时遇到的问题和解决办法。
【实验报告】
1、阐述本实验中的加密原理。
2、提交规划组网的地址信息表。
3、对实验结果进行分析说明。
【实验预备知识】
1、VPN原理
虚拟专用网(Virtual Private Network)简称VPN,是近年来随着Internet的广泛应用而迅速发展起来的一种新技术,主要用以实现在公用网络上构建私人专用网络。“虚拟”的意思主要是指这种网络并不真实存在,而是一种逻辑上的网络。
(1)VPN的特点
l 并不实际存在,而是利用现有公共网络,通过资源配置而成的虚拟网络,是一种逻辑上的网络。
l VPN只为特定的企业或用户群体所专用。VPN作为私有专网,一方面与底层承载网络之间保持资源独立性,即在一般情况下,VPN资源不会被承载网络中的其它VPN或非该VPN用户的网络成员所使用;另一方面,VPN提供足够安全性,确保VPN内部信息不受外部的侵扰。
l VPN不是一种简单的高层业务。该业务建立专网用户之间的网络互联,包括建立VPN内部的网络拓扑、路由计算、成员的加入与退出等,因此VPN技术就比各种普通的点对点的应用机制要复杂得多。
图2-2 VPN接入示意图
如上图所示,VPN用户通过PSTN/ISDN网拨入ISP的NAS(Network Access Server)服务器,NAS服务器通过用户名或接入号码识别出该用户为VPN用户后,就和用户的目的VPN服务器建立一条连接,称为隧道(Tunnel),然后将用户数据包封装成IP报文后通过该隧道传送给VPN服务器,VPN服务器收到数据包并拆封后就可以读到真正有意义的报文了。反向的处理也一样。隧道两侧可以对报文进行加密处理,使Internet上的其它用户无法读取,因而是安全可靠的。对用户来说,隧道是其PSTN/ISDN链路的逻辑延伸,操作起来和实际物理链路相同。
隧道可以通过隧道协议来实现。根据是在OSI模型的第二层还是第三层实现隧道,隧道协议分为第二层隧道协议和第三层隧道协议。
2、第二层隧道协议
第二层隧道协议是将整个PPP帧封装在内部隧道中。现有的第二层隧道协议有:
l PPTP(Point-to-Point Tunneling Protocol):点到点隧道协议,由微软、Ascend和3COM等公司支持,在Windows NT 4.0以上版本中支持。该协议支持点到点PPP协议在IP网络上的隧道封装,PPTP作为一个呼叫控制和管理协议,使用一种增强的GRE(Generic Routing Encapsulation,通用路由封装)技术为传输的PPP报文提供流控和拥塞控制的封装服务。
l L2F(Layer 2 Forwarding)协议:二层转发协议,由北方电信等公司支持。L2F协议支持对更高级协议链路层的隧道封装,实现了拨号服务器和拨号协议连接在物理位置上的分离。
l L2TP(Layer 2 Tunneling Protocol):二层隧道协议,由IETF起草,微软等公司参与,结合了上述两个协议的优点,为众多公司所接受,并且已经成为标准RFC。L2TP既可用于实现拨号VPN业务,也可用于实现专线VPN业务。
3、第三层隧道协议
第三层隧道协议的起点与终点均在ISP内,PPP会话终止在NAS处,隧道内只携带第三层报文。现有的第三层隧道协议主要有:
l GRE(Generic Routing Encapsulation)协议:这是通用路由封装协议,用于实现任意一种网络层协议在另一种网络层协议上的封装。
l IPSec(IP Security)协议:IPSec协议不是一个单独的协议,它给出了IP网络上数据安全的一整套体系结构,包括AH(Authentication Header)、ESP(Encapsulating Security Payload)、IKE(Internet Key Exchange)等协议。
GRE和IPSec主要用于实现专线VPN业务。
4、IPSec协议
IPSec(IP Security)协议族是IETF制定的一系列协议,它为IP数据报提供了高质量的、可互操作的、基于密码学的安全性。特定的通信方之间在IP层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性和防重放。
IPSec通过AH(Authentication Header,认证头)和ESP(Encapsulating Security Payload,封装安全载荷)这两个安全协议来实现上述目标。并且还可以通过IKE(Internet Key Exchange,因特网密钥交换协议)来为IPSec提供自动协商交换密钥、建立和维护安全联盟的服务,以简化IPSec的使用和管理。
l AH(Authentication Header)是报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能;然而,AH并不加密所保护的数据报。
l ESP(Encapsulating Security Payload)是封装安全载荷协议,它除提供AH协议的所有功能之外(数据完整性校验不包括IP头),还可提供对IP报文的加密功能。
l IKE用于协商AH和ESP所使用的密码算法,并将算法所需的必备密钥放到恰当位置。
5、安全联盟
IPSec在两个端点之间提供安全通信,端点被称为IPSec对等体。
IPSec能够允许系统、网络的用户或管理员控制对等体间安全服务的粒度。通过SA(Security Association,安全联盟),IPSec能够对不同的数据流提供不同级别的安全保护。
安全联盟是IPSec的基础,也是IPSec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP还是两者结合使用)、协议的操作模式(传输模式或隧道模式)、密码算法(DES或3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。
安全联盟是单向的,在两个对等体之间的双向通信,最少需要两个安全联盟来分别对两个方向的数据流进行安全保护。同时,如果希望同时使用AH和ESP来保护对等体间的数据流,则分别需要两个SA,一个用于AH,另一个用于ESP。
安全联盟由一个三元组来唯一标识,这个三元组包括SPI(Security Parameter Index,安全参数索引)、目的IP地址、安全协议号(AH或ESP)。SPI是为唯一标识SA而生成的一个32比特的数值,它在AH和ESP头中传输。
6、IPSec协议的操作模式
IPSec协议有两种操作模式:传输模式和隧道模式。SA中指定了协议的操作模式。
在传输模式下,AH或ESP被插入到IP头之后但在所有传输层协议之前,或所有其他IPSec协议之前。在隧道模式下,AH或ESP插在原始IP头之前,另外生成一个新头放到AH或ESP之前。不同安全协议在传输模式和隧道模式下的数据封装形式不同。
7、验证算法与加密算法
(1) 验证算法
AH和ESP都能够对IP报文的完整性进行验证,以判别报文在传输过程中是否被篡改。验证算法的实现主要是通过杂凑函数,杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPSec对等体计算摘要,如果两个摘要是相同的,则表示报文是完整未经篡改的。一般来说IPSec使用两种验证算法:
l MD5:MD5通过输入任意长度的消息,产生128bit的消息摘要。
l SHA-1:SHA-1通过输入长度小于2的64次方比特的消息,产生160bit的消息摘要。
SHA-1的摘要长于MD5,因而是更安全的。
(2) 加密算法
ESP能够对IP报文内容进行加密保护,防止报文内容在传输过程中被窥探。加密算法的实现主要是通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。VRP中IPSec实现的加密算法有三种:
l DES(Data Encryption Standard):使用56bit的密钥对一个64bit的明文块进行加密。
l 3DES(Triple DES):使用三个56bit的DES密钥(共168bit密钥)对明文进行加密。
l AES(Advanced Encryption Standard):VRP实现了128bit密钥长度的AES算法,这也是IETF标准要求实现的。
8、协商方式
有两种协商方式建立安全联盟,一种是手工方式(manual),一种是IKE自动协商(isakmp)方式。前者配置比较复杂,创建安全联盟所需的全部信息都必须手工配置,而且IPSec的一些高级特性(例如定时更新密钥)不被支持,但优点是可以不依赖IKE而单独实现IPSec功能。而后者则相对比较简单,只需要配置好IKE协商安全策略的信息,由IKE自动协商来创建和维护安全联盟。
当与之进行通信的对等体设备数量较少时,或是在小型静态环境中,手工配置安全联盟是可行的。对于中、大型的动态网络环境中,推荐使用IKE协商建立安全联盟。
9、IPSec在VRP上的实现
(1) 定义被保护的数据流
数据流是一组流量(traffic)的集合,由源地址/掩码、目的地址/掩码、IP报文承载的协议号、源端口号、目的端口号等来规定。一个数据流用一个ACL来定义,所有匹配一个访问控制列表规则的流量,在逻辑上作为一个数据流。一个数据流可以小到是两台主机之间单一的TCP连接;也可以大到是两个子网之间所有的流量。IPSec能够对不同的数据流施加不同的安全保护,因此IPSec配置的第一步就是定义数据流。
(2) 定义安全提议
安全提议规定了对要保护的数据流所采用的安全协议、验证或加密算法、操作模式(即报文的封装方式)等。
VRP支持的AH和ESP安全协议,两者既可单独使用,也可联合使用。其中,AH支持MD5和SHA-1验证算法;ESP协议支持MD5、SHA-1验证算法和DES、3DES加密算法。VRP支持的操作模式包括传输模式和隧道模式。
对同一数据流,对等体两端必须设置相同的协议、算法和操作模式。另外,对于两个安全网关(例如VRP路由器间)实施IPSec,建议采用隧道模式,以隐藏实际通信的源和目的IP地址。
因此,请先根据需要配置好一个安全提议,以便下一步将数据流和安全提议相关联。
(3) 定义安全策略或安全策略组
安全策略规定了对什么样的数据流采用什么样的安全提议。一条安全策略由“名字”和“顺序号”共同唯一确定。安全策略分为手工安全策略和IKE协商安全策略,前者需要用户手工配置密钥、SPI、SA的生存周期等参数,在隧道模式下还需要手工配置安全隧道两个端点的IP地址;后者则由IKE自动协商生成这些参数。
安全策略组是所有具有相同名字、不同顺序号的安全策略的集合。在同一个安全策略组中,顺序号越小的安全策略,优先级越高。
(4) 接口实施安全策略
在接口上应用安全策略组,安全策略组中的所有安全策略同时应用在这个接口上,从而实现对流经这个接口的不同的数据流进行不同的安全保护。
10、IPSec主要配置
(1) 配置访问控制列表
(2) 定义安全提议
l 创建安全提议
l 选择安全协议
l 选择安全算法
l 选择报文封装形式
(3) 创建安全策略
包括手工创建安全策略和用IKE创建安全策略。
手工创建安全策略:
l 手工创建安全策略
l 在安全策略中引用安全提议
l 在安全策略中引用访问控制列表
l 配置隧道的起点和终点
l 配置安全联盟的SPI
l 配置安全联盟使用的密钥
用IKE创建安全策略:
l 用IKE创建安全策略
l 在安全策略中引用安全提议
l 在安全策略中引用访问控制列表
l 在安全策略中引用IKE对等体
l 配置安全联盟生存周期(可选)
l 配置协商时使用的PFS特性
(4) 配置安全策略模板(可选)
(5) 接口上应用安全策略。
8
展开阅读全文