与该博文的同步演示录像:http://edu.51cto.com/lecturer/user_id-7648423.html

在《密码学与身份鉴别》的课程中。


目标:

理解PEAP(protectedExtensible Authentication Protocol )

关于PEAP的工作过程:

PEAP-MS-CHAP v2MS-CHAP v2是不是同一个协议,如果不是区别在哪里?

4演示:使用PKI架构完成×××的PEAP身份认证


解PEAP(protectedExtensible Authentication Protocol )

受保护的可扩展身份验证协议 (PEAP) 是可扩展身份验证协议 (EAP) 协议的一个新成员,PEAP是为在TLS保护的通道中执行某种EAP类型的身份验证,这个某种EAP类型的身份验证可能是基于微软可扩展身份验证协议EAP-MS-CHAPv2,它要求基于鉴别服务器的证书完成。或者说PEAP只需要×××服务器的证书就可完成安全通信的建立,通常在没有活动目录的独立网络环境中,建议使用PEAP来加强身份验证的安全性。具体工作过程如下所述:


关于PEAP的工作过程:

如下图4.79所示,×××服务器将代表自己身份的机器证书(事实上证书上存放的正是×××服务器的公钥)发送给×××客户端,客户端使用×××服务器的证书来建立加密隧道保护MSCHAPv2的身证鉴别过程,这样使其MSCHAPv2的身证鉴别过程更安全,因为它的整个过程被安全隧道所保护,只有×××服务器可以使用自己的私钥来解密

001712152.png

PEAP-MS-CHAPv2MS-CHAP v2是不是同一个协议,如果不是区别在哪里?

事实上它们是同一个协议,区别在于PEAP-MS-CHAP v2在实施身份鉴别过程时,被加密隧道所保护,而MS-CHAPv2则没有被保护,所以PEAP-MS-CHAPv2的安全性高于MS-CHAPv2,它们的具体区别下表4.80所示:

001821735.png

演示:使用PKI架构完成×××的PEAP身份认证

演示目标:在微软的×××解决方案中使用PEAP完成身份鉴别

演示环境:如下图4.81所示。

002024398.png

演示背景:边界×××网关将企业网络分为内外两个部分,为了证实验更真实路由器允当电信运营商设备(公共网络上的路由器),202.202.2.2为×××客户端,它需要使用远程拨号×××的形式访问企业内部网络上的文件服务器,在通常的情况下多数用户都使使用PPTP的拨号方式,MS-CHAPv2的方案来完成身份鉴别,因为这种方案实施简单且快捷,但是在这个演示任务中,需要提升×××网络的身份鉴别安全级别,要求在PKI的环境中,使用证书来完成PEAP的身份鉴别,事实上就是使用×××服务器安全证书来建立保护MS-CHAPv2的鉴别过程。关于PEAP的身份鉴别的原理请参看本项目的任务一。

演示步骤:

第一步:完成图4.81所示网络环境的基础配置,其中包括配置路由器R1、在路由器R1上启动路由,具体配置如下所示:


路由器R1的接口地址配置:

R1(config)#inte e1/0

R1(config-if)#ip address 202.202.1.2 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#inte e1/1

R1(config-if)#ipaddress 202.202.2.1 255.255.255.0

R1(config-if)#noshutdown

R1(config-if)#exit

R1(config)#inte e1/2

R1(config-if)#ipaddress 202.202.3.1 255.255.255.0

R1(config-if)#noshutdown

R1(config-if)#exit


在路由器R1为各个子网启动RIPv2的路由:

R1(config)#router rip

R1(config-router)#version 2

R1(config-router)#no auto-summary

R1(config-router)#network202.202.1.0

R1(config-router)#network202.202.2.0

R1(config-router)#network202.202.3.0

R1(config-router)#exit

第二步:现在开始配置×××服务器的×××功能和路由功能,在配置前就将服务器上的两张网卡,分别如下4.82所示,进行标识性命名,这样在配置时,可以更直观的让管理明白,哪张网卡连接的是内网,哪张连接的是外网。然后启动Windows2003的路由和远程访问功能,弹出如下4.83所示,要求为远程访问服务器确定远程访问的功能,在这里请选择“远程访问(拨号或者×××然后单击下一步。

002210552.png

4.84的对话框中选择远程访问服务器的具体功能,在这里请选择“×××”,然后下一步,在4.85的对话框中选择用于连接到Internet网络的接口(事实上,就是要求管理员指定外部接口),选择“out”这张网卡。然后单击下一步。

002304795.png

出现如图4.86的对话框,要求为×××客户端指定分配IP地址的方案,这里有两个选项,它们的意义分别如下所述:

ü自动:指示如果用户的内部网络中存在DHCP服务器,那么这将是一个很好的选择,你就不需要在×××服务器上为×××客户端指派需要分配的IP地址,整个过程将由DHCP服务器完成。

ü来自一个指定地址范围:指示如果用户的内部网络上不存在DHCP服务器,那么,此时可以在×××服务器上为×××客户端指派需要分配的IP地址。


在这里请选择“来自一个指定地址范围:”然后弹出如下图4.87所示的对话框,在其中

输入当×××客户端拨号时,需要分配给它们的开始地址和结束地址,那么在这个开始地址和结束地址之间的IP地址将被分配给×××客户端。确定后下一步。

002356179.png

注意:微软的×××服务器在给×××客户端分配IP地址时遵守这样一个原则:在配置的地址池中的第一个地址将被×××网关所使用(也可以理解成×××客户端拨号成功后,用于连入内网的网关)然后将第二个地址分配给×××客户端,比如图4.87所配置的地址范围,192.168.1.200将被×××服务器所使用,然后将192.168.1.201分配给第一个×××客户,那么×××客户就使用192.1681.201这个地址来连接×××网关192.168.1.200。


图4.88的对话框中,提示是否管理多个远程访问服务器,也就是选择×××服务器完成身份验证的方式,它提供了如下两种方式:


ü否,使用路由和远程访问来对连接请求进行身份验证:如果网络上暂时只有一台×××服务器,不存在多台×××服务器需要被管理,可以选择该选项,选择该选项的意思就是,使用×××服务器对远程×××客户端进行身份验证,此时的鉴别服务器就是×××服务器。鉴别所需要的用户名和密码,就存储在×××服务器本地,使用这种验证方式存在一个问题如果网络上有多台×××服务器,那么进行安全验证的数据库将被分存在多个不同的地方,这对提升安全的可靠性不太有利,因为分散的安全验证永不如集中的安全验证。

ü否,设置此服务器与RADIUS服务器一起工作:如果网络上有多台×××服务器,那么这将是一个不错的选择,如下图4.89所示,此时所有的×××服务器不再充当身份鉴别服务器,最多算是个身份鉴别代理,它将接收所有客户端发来的身份验证请求,但是它不负责验证,只将这些验证请求转发给网络中的RADIUS服务器(也就是集中验证服务器),由它来负责谁可拨入,谁不可拨入。因为所有验证要求的用户名和密码不再存储于多台且分散的×××服务器上,而是统一的存储在RADIUS服务器上,因为集中安全总比分散安全更好。

002521647.png

当完成上述配置后,单击下一步,会出现路由和远程访问服务配置完成的对话框,请点击完成,然后待系统启动路由和远程访问服务即可,启动完成后,最终会得到如4.90的界面。

002606962.png

现在来配置×××服务器的路由功能,为了让实验的效果完全与真实环境的×××一样,所以该演示项目严格区别公共IP地址和RFC1918(私有网络专用IP地址),并且使用了一台路由器来模拟运营商的设备,所以必须要为×××服务器启动路由,达到两个目标,第一:×××服务器的内部网络不被RIP所公告,因为在真实的工作环境中,你公告企业网络的私有专用IP也没有任何意义,因为公共网络不认可RFC1918地址。第二:必须保证×××客户端在没有进行×××拨号之前,可以使用本身的公共IP到达 ×××服务器的外部接口202.202.1.1,同理,×××服务器,必须能成功的到达202.202.2.0/24和202.202.3.0/24的目标公共网络。具体配置如下所述:

首先如下图4.91在“IP路由选择”下的“常规”选择“新增路由协议”,出现图4.92先择“用于Internet协议的RIP版本2单击“确定”完成路由协议RIPv2的添加。

002728154.png

当完成对×××服务器增加RIPv2路由协议后如下图4.93所示,选择RIP右击,选择“新增接口”为RIP路由协议增加需要公告路由的接口,出现如图4.94选择“out”外部接口,在该环境中只需要在外部接口上启动RIP路由,没必要在“in”接口上启动RIP路由,原因在真实环境中启动了也没有任何意义,记住公共网络不会认可RFC1918地址。

002852492.png

确保在“out”接口上启动RIP路由协议后,出现如4.95所示的对话框,包括RIP的操作查式、更新周期、传入或者传出的RIP版本,请保持默认属性,点击确定。当完成上述RIP的所有配置后,等待30秒左右,然后,在×××服务器上使用routeprint指令,查看路由表,如下4.96所示,必须确保202.202.2.0202.202.3.0的子网被×××服务器成功学习。到此为止,完成所有通信必须的基础配置。

003326928.png

现在来建立×××拨号的用户并配置该用户允许拨入,如下4.97所示,在×××服务器的“计算机管理”中的“本地用户和组”中建立一个名为***user1的拨号用户,然后选择该用户,使用鼠标右击属性,在如4.98所示的拨入对话框中选择“允许访问”。

003423191.png

003456297.png

注意:到此处为止,完成基本×××的配置,但是目前不包括任何PEAP和使用证书的配置,在现在的配置基础上,×××可以使用PPTP协议接合常规的认证方案比如:MS-CHAPv2完成拨入身份鉴别,现在首先偿试常规鉴别方式进行×××拨号,为什么在这里需要做一次常规鉴别的×××拨号?原因很简单,为了让学生体会,常规×××鉴别与PEAP鉴别的差异。



第三步:没有实施PEAP保护的×××客户端的拨号配置,首新建立一个连接向导,在如图4.99中选择“虚拟专用网络连接”然后下一步,跟着向导的提示配置,在图4.100的对话框中输入×××服务器的IP地址(事实上,就是×××服务器的外部网卡上的IP地址)。


003603480.png

当完成新建×××连接的配置后,如4.101开始正式拨号,在拨号对话框中输入拨号的用户名和密码,该用户名和密码被事先配置并存储在×××服务器上。如果前面的配置没有错误,那么此时,应该拨号成功,可以看到如4.102所示的成功拨号的详细信息,可以看出它所使用的身份验证方式是MS CHAPV2

003704411.png

  最后你在×××客户端上跟踪到内网192.168.1.100的路径,如下图4.103所示,可以看到×××客户端直接通过192.168.1.200就到达了192.168.1.100,这里的192.168.1.200正是×××服务器所引用的地址池中的第一个IP地址,在第二步中对此有相关描述。可看出整个的路由跟踪过程中,没有出现任何公共IP地址,因为×××执行了隧道化转发。

003801743.png

引出PEAP的配置:现在管理员认为常规的MS-CHAPV2的身份鉴别不安全,要求配置×××服务器支持PEAP认证,要求客户端在拨号时通过×××服务器证书确认×××服务器的身份,并要求×××客户端使用×××服务器的证书建立安全通道,让MS-CHAPV2的身份鉴别在安全通道中进行。


第四步:部署202.202.3.100为证书服务器,并让×××服务器身证书服务器去申请一张机器证书。在该环境中部署的证书服务器是基于独立环境下的CA,如下图4.104所示,注意用户在安装独立CA之前,必须安装IIS组件,因为客户端将使用Web页面去向CA申请证书,当根据向导完成证书服务器的安装后,会得到如下图4.105所示的证书管控台。

003901534.png

第五步:现在让×××服务器去向CA申请一张服务器验证的证书,在×××服务器的IE中输入证书服务器的Web注册页面,如下图4.106所示,在该页面中填入申请证书相关的唯一性标识信息,然后在“需要的证书类型”中选择“服务器身份验证证书”然后钩选“将证书保存在本地计算机存储中”这样可以确何用户得到将是一张机器证书,因为PEAP必须使用×××服务器的机器证书。


注意:基于部署PEAP鉴别类型×××的原理,只要求使用×××服务器的机器证书,不要求客户端使用任何证书,所以×××客户端不需要向CA申请任何证书,关于这一点可参看本项目任务四中对PEAP工作过程的描述。


004105325.png


当完成上述的证书申请后,待CA上的证书管理员为×××服务器颁发证书后,在×××服务器的IE中再次定位到证书申请 Web页面,如图4.107可看到一张服务器身份验证证书,请在×××服务器上点击并安装该证书。然后在如图4.108的提示安装证书链,这样可以使×××服务器信任该证书颁发机构所颁发的证书,如果不安装证书链,在×××服务器上的证书将不受信任,出现一把红色的小叉。


004203328.png

当×××服务器完成了证书安装,并下载了证书链后,可以通过MMC(基于计算机帐户而不是用户)打开证书管控台,如下图4.109所示,可看出,该证书的目的是用于保证远程计算机的身份。

004251292.png

第六步:配置×××服务器使用自己的机器证书支持PEAP,要配置×××服务器支持PEAP,那么此时就需要调整×××服务器的远程访问策略,首先就要理解什么是×××的远程访问策略。


理解远程访问策略:

远程访问策略是控制远程访问行为(当然也包括×××拨号)的一种控制措施,它包括了具体什么时间、哪些用户可以进行远程接入,对这些远程接入是否授予接入权限、使用什么样的身份鉴别技术、允许访问到什么程度,访问多长时间等。Windows 2003的×××服务器有一个默认的远程访问策略。用户可以配置默认的远程访问策略来支持PEAP的认证,也可以新建一个远程访问策略来支持PEAP认证。在这里将选择新建一个远程访问策略来支持PEAP的认证。


打开×××服务器的“路由和远程访问”控制台,选择“远程访问策略”,可以看到系统默认的远程访问策略,现在将这个默认的远程访问策略删除,然后选择“远程访问策略”右击鼠标选择新一个远程访问策略,弹出如下图4.110的对话框要求为新建的远程访问策略命名,在这里将其命名为“×××+EAP”,然后下一步,在如图4.111的对话框中选择为“×××”网络创建访问方法然后下一步。

004352696.png

在如图4.112的对话框中,选择将访问权限授予给“用户”,然后下一步,在如图4.113身份验证对话框中,确何只选中“可扩展身份验证协议(EAP)”,在“类型(基于访问方法和网络配置)”中选中“受保护的EAP(PEAP)”,然后点击“配置”。

004446271.png

弹出如4.114所示的对话框,在其中选择要用于保护EAP协议的证书,在这里请选择×××server这张证书,然后在EAP类型中选择“受保护的密码(EAP-MSCHAPv2)”然后点击确定。事实上,这是整个×××使用PEAP验证的关键,选择的×××server这张证书,是×××服务器向客户端证实自己身份的证书,也是×××客户端使用创建安全隧道所使用的公钥,然而MSCHAPv2将在这个安全隧道中受保护的运行。然后在4.115所示的对话框内选择需要使用的加密算法,可以将40位、56位、128位的加密算法全部钩选。然后下一步,在4.116的对话框中,提示整个针对×××网络的安全策略配置完成,然后显示你完成关于该策略的重点配置参数有那些,确保所有信息无误后点击完成。

004617334.png

004617239.png

当完成×××远程访问策略的配置后,还需要双击策略,在如图4.117的对话框中明确申明“授予远程访问权限”。注意必须这样做,否则×××客户端将无法拨入,因为配置远程策略的一个重要指导思想就是:“谁能接入,它的接入是被允许还是拒绝”。

当完成上述运程访问策略的建立后,还必须在×××服务器的“计算机管理”的“本地用户和组”中选中×××拨号用户***user1,然后选择“拨入”属性中的“远程访问权限”的“通过远程访问策略控制访问”,具体如图4.118所示,这也是必须的,因为管理员现在已经建立了远程访问策略,所以要求用户在拨号时通过策略来评估是否允许接入。而不是简单的“允许访问”或者“拒绝访问”。

004756823.png

第七步配置×××客户端支持PEAP在如图4.199的对话框中选择“属性”,然后择选安全选项卡下的“高级(自定义设置)”的“设置”,如图4.120所示。

004905437.png

设置受保护的EAP属性,如下图4.121所示,选择当发生连接时“验证服务器证书”选择“连接到这些服务器:”并填写×××服务器的IP地址202.202.1.1,然后在受信任的根证书颁发机构中选择当前环境的证书颁发机构(×××CA517),用户可以根据自身网络环境中的证书颁发机构进行设置。然后选择身份验证的方法为“安全密码(EAP-CHAPV2)”最后点击确定,在如图4.122对话框中,输入访问凭证,用户和密码开始拨号。


005014619.png

当开始拨号时,会弹出如图4.123所示的提示,您已经到达了×××服务器,要求验证服务器的证书,问您是否确认它是正确的服务器,此时你可以点击“查看服务器证书”出现如图4.124所示的×××服务器证书来确认是否是×××服务器。如果核实证书无误后请在图4.123中单击确定。

005101278.png

当完成拨号后,查看成功拨号的属性,可看到如4.125所示的信息,可看到×××书的方法从传统的MS-CHAPv2变成了EAP验证方式。

005155439.png

注意:此时,完成了整个关于PEAP作为×××身份鉴别方案的配置,PEAP只需要鉴别服务器的证书,也就×××服务器的证书,不需要客户端提供任何证书,如果为了更高的安全性,要求服务器和客户端都提供证书完成×××的身份鉴别,这需要实施EAP-TLS验证,关于这种验证方案的配置将在下一个任务中描述。