1、在Windows中配置(内置或者专有)IPSec。
2、通过抓包工具抓取建立IPSec的协商密钥过程,和建立之后的加密通信数据包,并进行分析。
3、配置Cisco Packet Tracer软件仿真路由器的VPN,分析密钥协商和加密流程数据包。
1、两台Windows 3虚拟机PC1和PC2,并可以互相ping通。
2、Wireshark抓包软件
3、对于cisco仿真VPN,在win11上完成。
IPsec(Internet Protocol Security)是为IP网络提供安全性的协议和服务的集合,是一组基于网络层的,应用密码学的安全通信协议族,不具体指某个协议。它是 VPN(Virtual Private Network,虚拟专用网)中常用的一种技术。由于IP报文本身没有集成任何安全特性,IP 数据包在公用网络如 Internet 中传输可能会面临被伪造、窃取或篡改的风险。通信双方通过 IPsec 建立一条 IPsec 隧道,IP 数据包通过 IPsec 隧道进行加密传输,有效保证了数据在不安全的网络环境如 Internet 中传输的安全性。
IKE SA和IPSec SA建立过程的理论图如下:
VPN的原理就是在两台直接和公网连接的计算机之间建立一条专用通道。私有网络之间的通信内容经过发送端计算机或设备打包,通过公用网络的专用通道进行传输,然后在接收端解包,还原成私有网络的通信内容转发到私有网络中。这样,公用网络就像普通的通信电缆,而接在公用网络上的两台私有计算机或设备则相当于两个特殊的节点。由于VPN连接的特点,私有网络的通信内容会在公用网络上传输,出于安全和效率的考虑,一般通信内容需要加密或压缩。而通信过程的打包和解包工作则必须通过一个双方协商好的协议进行,从而在两个私有网络之间建立VPN通道将需要一个专门的过程,依赖于一系列不同的协议。这些设备和相关的设备和协议组成了一个VPN系统。
(1)在PC1按下windows+R组合键,输入secpol.msc,打开本地安全设置;在左侧窗口选取IP安全策略,鼠标在右侧窗口右键创建IP安全策略。
(2)点击“下一步”,设置IP安全策略名称;点击“下一步”,编辑属性;点击添加来增加一条规则:
(3)下一步,选择此规则不指定隧道;下一步,选择所有网络连接;下一步,选择添加IP筛选器;填入名称,去掉“添加向导”,点击添加。
(4)之后,默认下一步后结束,点击确认;回到安全规则向导界面,选取刚才新建的筛选器,点击下一步;添加筛选器操作,输入筛选器名称为新筛选器操作;下一步,选取协商安全;下一步,选择不允许不安全的通信;下一步,选择完整性和加密,完成设置。
(5)在本地安全策略中对此进行指派。在PC2中进行和上述一样的操作。
(6)查看PC1和PC2的ip地址,PC1的ip地址:192.168.236.130,PC2的ip地址:192.168.236.128。
(8)在PC1的命令行ping虚拟机PC2,可以看到可以ping通。通过wireshark抓取数据包,分析IKE SA和IPSec SA 建立过程。
(9)对部分抓到的数据包进行分析。
通过以上数据包可以猜测共享密钥已经被加密了。
(10)安装Packet Tracer,初始化配置路由器:在模拟器窗口工具栏下选择file->new。在左下角设备栏选取路由器图标,将2811路由器拖入工作区。单机工作区中的路由器图标,选择CLI项,等待路由器启动后,在交互对话框中输入no并回车。
(11)进入路由器特权模式,配置路由器网卡IP,初始配置router0完成,根据router0的配置过程完成router1的配置,其中router1的f0/0端口IP为10.0.0.2/24,router1的f0/1端口的IP地址为192.168.2.1/24。
具体配置过程如下:进入特权模式,只有在特权模式下才可以对路由器进行配置,配置网卡f0/0端口的IP地址和子网掩码,该网卡连接公网;进入配置状态,通过端口进行配置;进入端口f0/0,配置网卡f0/0的IP地址和子网掩码;开启端口f0/0;返回特权模式。
(12)配置完成后,选择Connections图标,选择虚线,将router0和router1的f0/0端口进行连接。
(13)搭建网络环境:在模拟器左下角选择End Devies图标,选取PC-PT图标拖到工作区。双击PC图标,选择Desktop,选择IP Configuration,配置PC的IP地址和子网掩码。
(14)选取Switches中的2950-24,在Connections中选择Straight-Through将路由器与交换机相连,将交换机与PC机相连,需要对所有的PC机进行上图配置,最后完成如下图:
(15)在路由中配置路由,令路由器两端的网络互通,在router0和router1中CLI配置指令。
(16)测试网络连通性:双击PC0图标,弹出对话框,选择Desktop,选择Command Prompt,进行ping测试是否连通,可以看到能够连通。
(17)配置IPSec VPN。配置router0,首先,定义IKE策略,IKE就是router 0和router1之间的密钥交换策略。 IKE只是密钥的交换策略,我们在使用加密对称和非对称加密算法的时候,需要密钥来对数据加密,上面的IKE策略只是建立一条管理连接,负责加密生成的各种密钥。之后,定义数据的加密方式和认证方式,配置IPSec。然后,将map映射到公网端口,一个端口只能映射一个map。
(18)查看IKE策略、IPSec变换集、crypto maps。
(19)配置router1,定义的IKE的策略,IKE就是router 0和router1之间的密钥交换策略,两者的策略必须匹配起来,除了优先级序号可以不同。定义数据的加密方式和认证方式,配置IPSec,将map映射到公网端口。
(18)测试IPSec VPN。测试连通性,双击PC0图标,在弹出的对话框中,选择Desktop,选择Command Prompt,ping 192.168.2.10,如下图:
(19) 验证数据经过IPSec VPN加密传输,进入simulation mode,切换到相应界面:
(20)再次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地址信息,从而保护了内网的数据。
(21)断开VPN,配置router0和router1的指令。需要注意的是,只断开一端路由器的端口map映射,两边无法连通;两端都断开后,两边网络可以再次保持连接,只是数据不再加密传输。
1、实验过程中遇到的问题及解决办法;
(1)在cisco中配置网络拓扑时,不显示label,需进行设置,才显示端口。
(2)虚拟机中下载wireshark时打不开网页,安装虚拟机工具包,在主机上下载后复制到虚拟机上,需要注意的是要下载适合windows3的win32版本。
(3)在配置好PC1和PC2的安全策略后,无论是使用PC1去ping PC2,还是使用PC2去ping PC1,都ping不通。因为设置的PC1和PC2的共享密钥不同,前者是20020707,后者是buptlqx。于是将PC2的共享密钥设置为20020707,和PC1一样。之后再互相ping,就能ping通了。
2、设计及调试过程中的心得体会。
通过本次实验,我深入了解了虚拟专用网(VPN)的概念和协议,学习了第二层隧道协议和第三层隧道协议,并通过实际操作完成了IPSec的配置。同时,我还通过抓包分析,了解了IKE SA和IPSec SA的建立过程,更深入地理解VPN的工作原理。另外,我还学会了使用Cisco Packet Tracer网络模拟工具进行VPN的配置。通过实践操作,我不仅加深了对所学知识的理解,也提高了自己的技能水平。最重要的是,我认识到网络安全的重要性,并意识到维护网络安全需要我们不断学习和实践。因为网络安全是一个永无止境的工作,需要时刻更新知识和技能,以应对各种威胁和攻击。