网安实验5—VPN实验
实验5:VPN
1. 实验内容
- 在Windows IPSEC配置实验中,通过抓包工具抓取IKE SA和IPSEC SA建立过程的数据包,并进行分析。
- PacketTracer里VPN配置实验。
2. 实验环境
- 虚拟机Winxp和Win7;
- Cisco Packet Tracer。
3. 实验过程
3.1. IPSEC Win7与xp通信
xp主机配置
按下windows+R
组合键,输入secpol.msc
,打开本地安全设置。
在IP安全策略处右键,创建安全策略。
下一步,输入名字LLrber的IP安全策略
;下一步,激活默认响应规则;下一步,选择字符串用来保护密钥交换,填写123456
当做共享密钥;下一步,编辑属性,完成;确认。
回到原来的窗口,右键新创建的安全策略,点击指派会看到后方的否变为是。
双击该指派的ipsec策略,点击添加来增加一条规则。
增加一条规则:下一步;下一步,选择此规则不指定隧道;下一步,选择所有网络连接;下一步,输入abcdef;下一步,选择所有IP通信量;下一步,选择需要安全;下一步,完成。由此退出保存设置,xp主机的配置完成。
Win7主机配置
为了完成IPSec通信实验,还需要再配置另一台主机,本实验选择的是Win7的虚拟机进行配置。
同样按下windows+R
组合键,输入secpol.msc
,打开本地安全设置。
在左侧窗口选取IP安全策略,鼠标在右侧窗口右键创建IP安全策略。
下一步;下一步,输入LLrber的IP安全策略
作为名称;下一步;下一步;下一步,编辑属性。点击添加来增加一条规则。
增加一条规则:下一步;下一步,选择此规则不指定隧道;下一步,选择所有网络连接;下一步,选择添加IP筛选器;填入名称,去掉“添加向导”,点击添加;
之后,默认下一步后结束,点击确认;回到安全规则向导界面,选取刚才新建的筛选器,点击下一步;添加筛选器操作,输入筛选器名称为LLrber的筛选器操作
;下一步,选取协商安全;下一步,选择不允许不安全的通信;下一步,选择完整性和加密,完成设置。
在接着在向导中选择下一步,增加身份验证,设置密钥为abcdefg
。
之后,选择中IP筛选器双击。
之后分别查看各属性选项框。
- IP 筛选器列表:可以设置源、目ip和端口及服务类别。
- 筛选器操作:设置符合该ip规则的输入输出流该如何处理,一般可以选择协商安全。
- 身份验证方法:可以使用的身份验证方法,有证书和预共享密钥方法。
- 隧道设置:可以设置隧道端点,如果不设置为传输方式。
- 连接类型。
最后,在本地安全策略中对此进行指派。
开始通信
查看虚拟机的ip地址。
xp的IP地址:
Win7的IP地址:
首先,将Win7的IP安全策略的指派关闭,尝试ping另一台xp主机,发现虽然在同一局域网内但请求超时。
利用Wireshark抓包查看,可以看到Win7一直在发包,请求IPSec的SA,但是总是不成功。
之后,将Win7的IPSec重新开启,并ping虚拟机xp,可以看到可以ping通。
抓包可以看到抓到的都是esp包,其是因为xp和Win7的默认esp加密。
AH通信
将IPSec中的安全措施设置为以MD5为加密算法的AH。
保存后,将刚刚添加的安全措施设为默认。Win7虚拟机也进行如上操作。之后再次ping通进行抓包。
可以通过数据包猜测其共享密钥已经被加密了。
ESP通信
将IPSec中的安全措施设置为不使用加密算法的ESP。
保存后,将刚刚添加的安全措施设为默认。Win7虚拟机也进行如上操作。之后再次ping通进行抓包。
可以看到其未加密的数据中有设置的共享密钥abcdefg...
。
3.2. PacketTracer里VPN配置实验
搭建网络环境
安装Cisco Packet Tracer。
初始化配置路由器。
首先打开Cisco Packet Tracer模拟器,在模拟器窗口工具栏下选择
file->new
。在左下角设备栏选取路由器图标,将2811
路由器拖入工作区。单机工作区中的路由器图标,选择CLI项,等待路由器启动后,在交互对话框中输入no
并回车。进入路由器特权模式,配置路由器网卡IP,输入命令如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25Router>enable #进入特权模式,只有在特权模式下才可以对路由器进行配置
/*********配置网卡f0/0端口的IP地址和子网掩码,该网卡连接公网*********/
Router#configure terminal #进入配置状态,通过端口进行配置
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface fastEthernet 0/0 #进入端口f0/0,配置网卡f0/0的ip地址和子网掩码
Router(config-if)#ip address 10.0.0.1 255.255.255.0 #配置网卡f0/0的ip地址和子网掩码
Router(config-if)#no shutdown #开启端口f0/0
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
Router(config-if)#end #开启端口f0/0
Router#
%SYS-5-CONFIG_I: Configured from console by console
/***********配置网卡f0/1的IP地址和子网掩码,该网卡连接内网************/
Router#configure terminal #进入配置状态,通过端口进行配置
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface fastEthernet 0/1 #配置网卡f0/0的ip地址和子网掩码
Router(config-if)#ip address 192.168.1.1 255.255.255.0 #配置网卡f0/0的ip地址和子网掩码
Router(config-if)#no shutdown #开启端口f0/0
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up
Router(config-if)#end #返回特权模式
Router#
%SYS-5-CONFIG_I: Configured from console by console初始配置router0完成,根据router0的配置过程完成router1的配置,其中router1的f0/0端口IP为10.0.0.2/24,router1的f0/1端口的IP地址为192.168.2.1/24。配置完成后,选择
Connections
图标,选择虚线,将router0和router1的f0/0端口进行连接。进行网络环境搭建。
在模拟器左下角选择
End Devies
图标,选取PC-PT
图标拖到工作区。双击PC图标,选择Desktop,选择IP Configuration,配置PC的IP地址和子网掩码,如下图。
选取Switches
中的2950-24
,在Connections
中选择Straight-Through
将路由器与交换机相连,将交换机与PC机相连,需要对所有的PC机进行上图配置,最后完成如下图。
在路由中配置路由,令路由器两端的网络互通,指令如下。
router0中CLI配置指令。
1 | Router#enable |
router1中CLI配置指令。
1 | Router#enable |
测试网络连通性。
双击PC0图标,弹出对话框,选择Desktop,选择Command Prompt,进行ping测试是否连通。
配置IPSec VPN
配置router0。
双击router 0图标,选择CLI项,进入路由器配置窗口。
首先,定义IKE策略,IKE就是router 0和router1之间的密钥交换策略。
1
2
3
4
5
6
7
8
9
10
11Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#crypto isakmp policy 10 #一个IKE的策略,号码是10,数字越低,策略优先级越高
Router(config-isakmp)#authentication pre-share #使用预定义共享密钥进行设备认证
Router(config-isakmp)#hash md5 #认证方式使用MD5进行认证
Router(config-isakmp)#encryption des #加密方式使用DES,可选AES/DES
Router(config-isakmp)#group 2 #指定DH组
Router(config-isakmp)#lifetime 86400 #注释:对生成新SA的周期进行调 整,两端的路由器都要设置相同的SA周期。
Router(config-isakmp)#exit
Router(config)#crypto isakmp key LLrber address 10.0.0.2 #定义一个密码,密码是bupt,和地址为10.0.0.2的设备去交换密钥。IKE只是密钥的交换策略,我们在使用加密对称和非对称加密算法的时候,需要密钥来对数据加密,上面的IKE策略只是建立一条管理连接,负责加密生成的各种密钥。
之后,定义数据的加密方式和认证方式,配置IPSec。
1
2
3
4
5
6
7
8
9
10
11Router(config)#access-list 110 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 #该条配置定义出访问控制列表,这里的访问控制列表不是对数据进行过滤,是定义那些数据应该被加密,也可以理解哪些数据触发IPSec 流。
Router(config)#crypto ipsec transform-set mine esp-des esp-md5-hmac #该配置设置数据的加密方式,策略名字为mine,使用ESP-DES对数据加密,ESP-MD5-HMAC对数据认证。
Router(config)#crypto map mymap 101 ipsec-isakmp #定义一个map,来调用我们刚才做的策略。
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
Router(config-crypto-map)#match address 110 #匹配出访问控制列表110的数据
Router(config-crypto-map)#set peer 10.0.0.2 #标识对端路由器的合法IP地址
Router(config-crypto-map)#set pfs group2
Router(config-crypto-map)#set transform-set mine #使用什么方式对匹配的数据加密,使用刚才定义好的策略对数据加密。
Router(config-crypto-map)#set security-association lifetime seconds 86400 #指定IPSec SA的存活期
Router(config-crypto-map)#exit然后,将map映射到公网端口,一个端口只能映射一个map。
1
2
3
4Router(config)#interface fastEthernet 0/0
Router(config-if)#crypto map mymap
*Jan 3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
Router(config-if)#end最后,查看IKE策略。
1
Router#show crypto isakmp policy
查看IPSec变换集。
1
Router#show crypto ipsec transform-set
查看 crypto maps。
1
Router#show crypto map
配置router1。
定义的IKE的策略,IKE就是router 0和router1之间的密钥交换策略,两者的策略必须匹配起来,除了优先级序号可以不同。
1
2
3
4
5
6
7
8
9
10
11Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#crypto isakmp policy 10
Router(config-isakmp)#authentication pre-share
Router(config-isakmp)#hash md5
Router(config-isakmp)#encryption des
Router(config-isakmp)#group 2
Router(config-isakmp)#lifetime 86400
Router(config-isakmp)#exit
Router(config)#crypto isakmp key LLrber address 10.0.0.1 #对端合法IP地址定义数据的加密方式和认证方式,配置IPSec。
1
2
3
4
5
6
7
8
9
10
11
12Router(config)#crypto isakmp key LLrber address 10.0.0.1
Router(config)#access-list 110 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
Router(config)#crypto ipsec transform-set mine esp-des esp-md5-hmac
Router(config)#crypto map mymap 101 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
Router(config-crypto-map)#match address 110
Router(config-crypto-map)#set peer 10.0.0.1
Router(config-crypto-map)#set pfs group2
Router(config-crypto-map)#set transform-set mine
Router(config-crypto-map)#set security-association lifetime seconds 86400
Router(config-crypto-map)#exit将map映射到公网端口。
1
2
3
4Router(config)#interface fastEthernet 0/0
Router(config-if)#crypto map mymap
*Jan 3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
Router(config-if)#end
测试IPSec VPN
测试连通性。
双击PC 0图标,在弹出的对话框中,选择Desktop,选择Command Prompt,ping 192.168.2.10,如下图。
验证数据经过IPSec VPN加密传输。
进入simulation mode,切换到相应界面。
再次ping 192.168.2.10,在simulation Panel中选取Auto Capture,观察工作区动画,双击在路由器router 0处数据包,弹出面板可以分析出数据包的信息。
从图中可以看到,进入路由器的数据包(左侧)的信息源IP为192.168.1.10,目的IP为192.168.2.10,但是路由器出去的数据包的源IP转为了10.0.0.1,目的IP为10.0.0.2,另外可以看到下面的第6条信息中可以看到ESP的encrypts the received packet包。
由此可以看出,从PC0发往PC3的数据包经过路由器的IPSec VPN模块加密处理,隐藏了内网的IP地址信息,从而保护了内网的数据
断开VPN。
配置router0和router1的指令。
1
2
3
4
5
6
7Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface fastEthernet 0/0
Router(config-if)#no crypto map mymap
%CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is OFF
Router(config-if)#end需要注意的是,只断开一端路由器的端口map映射,两边无法连通;两端都断开后,两边网络可以再次保持连接,只是数据不再加密传输。