http://security.ctocio.com.cn/securitycomment/478/8257478.shtml L2TP/IPSEC从字面上理解是在IPSEC上跑L2TP,IPSEC负责数据的封装加密,L2TP的作用和PPTP类似,负责在IP网络上做出×××隧道。从理论上分析L2TP协议应该比PPTP更安全一些,因为L2TP不但能在用户级别实现PPP验证,还能实现计算机级别的身份验证;而PPTP只考虑了对×××用户的身份验证,不支持对计算机身份进行验证。L2TP验证计算机身份可以使用两种方法,预共享密钥和证书。预共享密钥比较简单,只要在×××服务器和客户机上使用约定好的密码就可以证实彼此计算机身份,当然安全性也只能说很一般。证书验证则依靠从CA申请的计算机证书来证明身份,由于证书的高安全性,这种验证方法在安全方面是令人满意的。下面我们把两种方法都通过实验实现一下,实验拓扑和上篇博文完全相同。 一 预共享密钥 预共享密钥需要在×××服务器和×××客户机上设置一个共同约定的密钥作为身份识别标识,首先我们在×××服务器上进行设置。在ISA的管理工具中展开虚拟专用网络,如下图所示,点击右侧面板中的“选择身份验证方法”。 切换到“身份验证”标签,如下图所示,勾选“允许L2TP连接自定义IPSEC策略”,输入“password”作为预与共享密钥。 ×××服务器为L2TP设置了预共享密钥后,接下来我们在×××客户机上进行预共享密钥的设置,如下图所示,在Istanbul的网上邻居属性中,右键点击上篇博文中创建的×××连接“ITET”,选择“属性”。 在×××属性中切换到“网络”标签,选择×××类型是“L2TP IPSEC ×××”。 再在×××属性中切换到“安全”标签,点击“IPSEC设置”。 如下图所示,勾选“使用预共享的密钥作身份验证”,输入密钥的值“password”。 在服务器端和客户端都进行预共享密钥设置后,如下图所示,在Istanbul上点击“连接”,准备连接到×××服务器。 ×××连接成功后,查看×××连接属性,如下图所示,我们看到当前使用的×××协议是L2TP。 二 证书 使用预共享密钥方法简单,但安全性不高,接下来我们使用证书验证计算机身份,安全性会有很大提高。使用证书验证计算机身份,×××服务器需要申请服务器证书,×××客户机需要申请客户端证书。在目前的实验环境中,内网的Denver是证书服务器,类型是独立根,已经被实验用到的所有计算机信任。首先我们在ISA服务器上申请一个服务器证书,如下图所示,在ISA服务器的浏览器中输入http://denver/certsrv,在证书申请页面中选择“申请一个证书”。 选择“高级证书申请”。 选择“创建并向此CA提交一个申请”。 如下图所示,输入证书申请的参数,由于此CA类型是独立根,因此需要输入的参数和企业根有所不同。证书姓名中我们输入了×××服务器的域名 Beijing.contoso.com,我们选择的证书类型是“服务器身份验证证书”,然后选择将证书保存在本地计算机存储中,其他参数随便输入即可。 提交申请后,证书服务器颁发了证书,如下图所示,我们选择“安装此证书”即可完成证书申请工作。注意,独立根CA默认是需要管理员审核才能进行证书核发,我们修改了独立根CA的策略模块,让CA服务器可以自动发放证书。 ×××服务器申请完服务器证书后,接下来我们在Istanbul上申请客户端证书,首先让Istanbul用PPTP协议拨入×××服务器,然后就可以访问内网的CA服务器了,如下图所示,在Istanbul的浏览器中输入http://10.1.1.5/certsrv,选择“申请一个证书”。 选择提交一个“高级证书申请”。 选择“创建并向此CA提交一个申请”,通过表单提交证书申请。 如下图所示,我们选择申请的证书类型是“客户端身份验证证书”,姓名是“Istanbul”,将证书保存在计算机存储中。 提交申请后,CA自动颁发证书,如下图所示,我们在Istanbul上安装了颁发的证书。至此,我们在×××的服务器端和客户端都完成了证书申请,接下来我们分别取消×××服务器端和客户端的预共享密钥设置,重新在Istanbul上用L2TP连接×××服务器,看是否能够使用证书进行计算机身份验证。 如下图所示,×××拨入成功,这次就不是利用预共享密钥而是利用证书验证了,虽然用户使用起来感觉差别不大,其实安全性方面还是改进了许多。 本文出自 “岳雷的微软网络课堂” 博客,请务必保留此出处http://yuelei.blog.51cto.com/202879/92089 |
转载于:https://blog.51cto.com/221983/496769