Windows域与802.1X协议统一认证解决方案
【课程星级】★★★★★
【实验名称】Windows域与802.1X协议统一认证解决方案
【实验目的】使管理人员了解Windows域与802.1X协议结合进行统一认证的配置方法。
【背景描述】
随着局域网的迅速发展,办公用户的网络安全问题日益突出。目前,各企业面临的安全威胁之一就是外围设备非法接入到内部网络后的破坏性攻击行为。在许多企业的IT 管理过程中,往往注重对来自因特网的外部威胁防御,忽略了来自内部的非法访问威胁。
这种威胁在大中型企业的IT 环境中影响尤其明显。因此,建立内部网络接入防御体系势在必行。很多企事业单位已经建立了基于Windows域的信息管理系统,通过Windows域管理用户访问权限和应用执行权限。然而,基于Windows的权限控制只能作用到应用层,而无法实现对用户的物理访问权限的控制,比如对网络接入权限的控制,非法用户可随意接入用户网络,这就给企业网的网络和应用安全带来很多隐患。为了更加有效地控制和管理网络资源,提高网络接入的安全性,很多政府和企业网络的管理者希望通过802.1x认证实现对接入用户的身份识别和权限控制。
通过802.1x 协议和活动目录技术相结合的方案,来实现设备接入的合法验证和管理。只有通过了内部域用户验证的计算机才能正常进行网络通讯,否则其接入端口数据将被阻隔。
下面我们就来看一下Windows域与802.1X协议统一认证解决方案的实现过程。
【实验拓扑】
实验环境说明:本实验需要用到Windows 2003 Server,并且在Windows 2003 Server安装DNS、AD、DHCP、CA、IAS等组件,并且要求交换机支持802.1X协议与Guest VLAN功能。
本文详细地记录了配置Windows 2003 Server和交换机每一个步骤的实现过程,并力求层次清晰。但还是希望没有接触过Windows 2003 Server的读者了解Windows 2003 ServerDNS、 AD、DHCP、CA和IAS的相关知识,请参考相关书籍和网站。
拓扑说明:Windows 2003 Server IP:192.168.0.254
交换机IP:192.168.0.250
路由器LAN接口IP:192.168.0.1
橘红色端口所属的VLAN为Guest VLAN,名称为V10, VID为10
蓝色端口所属的VLAN名称为V20, VID为20
绿色端口为需要进行802.1X认证的端口
测试计算机的IP为从Windows 2003 Server 自动获取
根据上面的拓扑环境,测试PC通过了windows域的认证以后,自动在交换机端口上进行802.1X认证,认证通过以后,PC被交换机自动分配到了V20里面,从而可以接入到互联网中。若PC没有通过802.1X认证,则只能访问Guest VLAN里面的资源。
【实验设备】Windows 2003 Server 1台,DES-3526 1台,路由器1台,测试PC1台,网线若干。
【实验步骤】
一.
配置Windows 2003 Server
1. 安装Windows 2003 Server AD(活动目录)
在Windows 2003 Server上,点击“开始”----“运行”,输入“dcpromo”,点“确定”,启动“活动目录安装向导”。如下图:
此处选择“新域的域控制器”,使此计算机作为此域的域控制器(DC)。
此处选择“在新林中的域”。
输入“test.com”作为新建域的域名。
设置NetBIOS域名,此处使用默认的“TEST”。
设置数据库和日志文件的保存路径,此处选择默认设置。
设置共享的系统卷,此处使用默认设置。
DNS注册诊断,由于此服务器还没有安装DNS服务器组件,因此显示诊断失败,这里选择“在这台计算机安装并配置DNS服务器,并将这台DNS服务器设为计算机的首选DNS服务器”。
设置用户和组对象的默认权限,此处选择默认设置。
设置目录还原模式的管理员密码。
开始安装和配置活动目录。
活动目录安装完毕。
点击“立即重新启动”,重启windows 2003 server。
2. 安装并配置windows 2003 server DHCP服务器
进入控制面板界面。
选择“添加或删除程序”。
选择“添加/删除windows组件”。
选中“网络服务”,点击“详细信息”。
选择“动态主机配置协议(DHCP)”。
进行DHCP组件的安装。
完成安装。
在windows 2003 server 管理工具中选择DHCP。
这台DHCP服务器未经授权,不能为网络中的计算机提供服务,因此要对此DHCP服务器进行授权。
右键点击“DHCP”,选择“管理授权的服务器”。
输入DHCP的IP地址。
确认授权。
重新启动DHCP服务以后,DHCP服务器附带的状态标识由红色的向下的箭头转换为绿色的向上的箭头,说明DHCP服务器已经成功授权。
右键单击DHCP服务器,选择“新建作用域”。
输入作用域名称。
输入各项参数。
添加默认网关的IP地址。
选择现在激活作用域。
完成新建域向导。
右键单击“作用域选项”,选择“配置选项”。
选中“DNS”服务器,添加192.168.0.254和192.168.0.1两个地址。
这样就完成了DHCP服务器的配置工作。
3. 安装并配置证书服务器(CA)
IEEE 802.1X在允许网络客户端访问网络之前使用EAP来对其进行身份验证。EAP最初设计用于点对点协议(PPP)连接,它允许用户创建任意身份验证模式来验证网络访问。请求访问的客户端和进行身份验证的服务器必须首先协商特定EAP身份验证模式(称为EAP类型)的使用。在就EAP类型达成一致之后,EAP允许访问客户端和身份验证服务器(通常是一个RADIUS服务器)之间进行无限制的对话。
在基于802.1X的认证协议中,我们采用的是PEAP(Protected Extensible Authentication Protocol)的验证方式。这是一种基于密码的验证协议,可以帮助企业实现简单、安全的验证功能。
PEAP是一种EAP类型,它首先创建同时被加密和使用传输层安全(TLS)来进行完整性保护的安全通道。然后进行另一种EAP类型的新的 EAP协商,从而对客户端的网络访问尝试进行身份验证。由于TLS通道保护网络访问尝试的EAP协商和身份验证,因此可以将通常容易受到脱机字典攻击的基于密码的身份验证协议可用于在安全的网络环境中执行身份验证。
PEAP是一种通过TLS来进一步增强其它EAP身份验证方法安全性的身份验证机制。面向Microsoft 802.1X身份验证客户端的PEAP提供了针对TLS(PEAP-TLS,同时在服务器身份验证过程与客户端身份验证过程中使用证书)与 Microsoft质询握手身份验证协议2.0版(PEAP-MS-CHAP v2,在服务器身份验证过程中使用证书,而在客户端身份验证过程中使用基于口令的授权凭证。若客户端希望对网络进行认证,必须下载证书)的支持能力。
MS-CHAP v2是一种基于密码的质询-响应式相互身份验证协议,使用工业标准的“信息摘要 4(Message Digest 4,MD4)”和数据加密标准(Data Encryption Standard,DES)算法来加密响应。身份验证服务器质询接入客户端,然后接入客户端又质询身份验证服务器。如果其中任一质询没有得到正确的回答,连接就被拒绝。
通过上面的介绍,我们可以得出结论:不管对无线连接使用哪种身份验证方法(PEAP-TLS 或 PEAP-MS-CHAP v2),都必须在 IAS 服务器上安装计算机证书。
安装一种证书服务即指定一个证书颁发机构 (CA),证书可以从第三方的CA机构获取,比如VeriSign,或者从企业内部的CA机构颁发。这两种方案在传统意义上都是可行的,但是对于小型企业来说并不现实,因为小型企业不愿意每年花很多额外的钱购买第三方认证机构的证书,因此可以考虑在企业内部自己架设 CA服务器。
我们这里采取的是在IAS服务器和客户端上都需要安装证书,以完成双方的互相认证。客户端通过web从CA上下载证书,首先需要安装IIS。
在“windows组件向导”选择“应用程序服务器”,点击“详细信息”。
完成IIS服务安装。接下来安装证书服务。
在“windows组件向导”选择“证书服务”,点击“详细信息”。
点击是,选中“证书服务”和“证书服务Web注册支持”。
选择“企业根CA”。
输入CA公钥名称。
出现生成公钥过程,并提示设置证书数据库。
完成CA的安装。
4. 安装IAS服务器
在“添加/删除Windows组件”中,选择“网络服务”,单击“详细信息”
选择“Internet验证服务”,单击“确定”。
然后返回原对话框,点击“下一步”。
点击完成按钮。
接下来开始为IAS服务器申请证书,如果将DC(域控制器)和IAS服务器安装在同一台计算机上,DC会自动为此IAS服务器颁发一个证书。为了使大家明白IAS服务器计算机证书的安装过程,特给大家进行演示操作。
在IAS服务器上点击“开始”----“运行”,输入“mmc”,点击“确定”。
在控制台上,选择“文件”----“添加/删除管理单元”。
在控制台根节点下点击“添加”按钮。
在添加独立管理单元选择“证书”,点击添加按钮。
选择“计算机帐户”,点击“下一步”。
选择“本地计算机”,点击“完成”。
点击确定。
在控制台根节点下,展开“证书”,右键单击“个人”----“所有任务”----“申请新证书”。
证书类型选择“域控制器”。
输入证书的名称。
完成IAS服务器证书的申请。
提示证书申请成功。
在控制台根节点下,查看个人证书,可以看到刚才申请的证书,以及自动为此计算机颁发的证书。
5. 建立域用户帐户
进入活动目录用户和计算机。
右键单击“test.com”选择“新建”----“用户”。
建立一个登录名为“liming”的用户帐户。
为“liming”这个账户创建密码,选择“用户不能更改密码”。
创建用户帐户完成。
右键单击新建的“liming”用户帐户,选择“属性”。
在“拨入”选项卡中“远程访问权限”赋予此用户“允许访问”权限,点击“应用”。
在“隶属于”选项卡,可以看到这个账户属于“Domain Users”这个用户组。
6. 配置IAS服务器
如果用户是利用活动目录内的用户帐户来连接网络,则IAS服务器必须向域控制器询问用户帐户的信息,才能决定用户是否有权连接。首先必须将IAS服务器注册到活动目录中,IAS服务器才能够读取活动目录的用户帐户信息。
选择“Internet验证服务”。
右击“Internet验证服务(本地)”,选择“在Active Directory中注册服务器”。
接下来配置IAS服务器,包括配置IAS客户端和远程访问策略。
输入客户端的名称和IP地址。注意:这里的客户端指的是交换机。
客户端供应商这里选择的是“RADIUS Standard”,“共享机密”指的是IAS服务器和交换机上设置的预共享密钥。只有双方密钥相同时,IAS服务器才会接受RADIUS客户端传来的验证、授权和记账请求。此处密钥区分大小写。
RADIUS客户端建立完成后,出现如上的显示。
然后新建远程访问策略。
选择“lan access”,右键“属性”。
选择“编辑配置文件”。
高级选项卡里面的高级属性类型如上。
确保此策略“授予远程访问权限”,点击“确定”完成IAS服务器配置。
二.配置DES-3526交换机
“config vlan default delete 1-26” 将1-26 端口从默认的VLAN删除
“create vlan v10 tag 10” 创建VLAN 10,名称:v10
“create vlan v20 tag 20” 创建VLAN 20,名称:v20
“config vlan v10 add untagged 1-16” 将交换机的1-16端口以非标签的形式添加到V10 里面
“config vlan v20 add untagged 17-26” 将交换机的17-26端口以非标签的形式添加到V20 里面
将交换机的IP地址改为192.168.0.250,并将它指定到V10里面。PC要进行认证,IAS 服务器和交换机之间必须是能够进行正常通信的。我们将IAS服务器放在V10里面,交换机的IP 地址在默认情况下是属于default VLAN 的,必须将它指定到V10里面。
默认情况下,交换机的802.1X协议时关闭的,可以使用“enable 802.1x”命令来启用它。创建Guest VLAN,将V10指定为Guest VLAN,然后将交换机的1-16端口的Guest VLAN功能开启。
将交换机的第1-8 端口设置为需要认证的端口,连接到这些端口的计算机必须通过认证才能够接入网络,否则只能够与同在Guest VLAN里面的计算机进行通信。
使用“config radius add 1 192.168.0.254 key 123456 default”将IP地址为192.168.0.254的认证服务器(IAS服务器)添加到交换机,交换机接收到认证请求信息之后将把认证请求发送到认证服务器上。
命令中的参数“1”表示的是RADIUS服务器的序号;参数“123456”是交换机和认证服务器之间通信时的预共享秘钥,双方设置必须一致;默认情况下“1812”和“1813”是UDP协议用的两个端口,“1812”是认证端口,“1813”是计费端口,这两个端口设置交换机和认证服务器双方也要一致,这里使用交换机默认配置。
以上就完成了交换机的配置。
三.
配置客户端
将一台计算机接入到交换机的第一个端口,然后设置此计算机加入到前面新建的test.com域。
在计算机桌面上,右键单击“我的电脑”,选择“属性”。
点击“更改”按钮。
在隶属于下面的“域”填入新建的test.com。
输入域管理员帐号和密码。
提示已经加入test.com域,然后重新启动计算机。
计算机重新启动以后,使用“liming”来进行登录到test域中。
登录到域以后,通过WEB方式从CA上下载数字证书。
在浏览器中输入:192.168.0.254/certsrv,在弹出的对话框中输入用户名和密码。
选择“申请一个证书”。
选择用户证书。
点击“提交”。
点击“是”申请证书。
点击“安装此证书”。
点击“是”。
显示证书已经成功安装。
接下来设置身份验证属性。
我的电脑,右键单击“属性”。
此计算机的OS 版本是Windows XP SP 3。
Wired Autoconfig 服务是在以太网口上执行IEEE 802.1x 身份认证,而Service
Pack3 默认将XP 的Wired Autoconfig 的启动类型设置为手动,所以需要更改为
自动并确保该服务的状态是启动。方法如下:
控制面板中选择“管理工具”。
选择“服务”。
启动类型选择“自动”,点击“启动”按钮。
注意:以上问题在windows xp sp2上不存在。
本地连接属性选择“身份验证”选项卡。
网络身份验证方法选择“受保护的EAP”,点击“设置”按钮。
勾选“验证服务器证书”,“连接到这些服务器”中的内容为空。在“受信任的证书颁发机构”中选择“lan”,这是我们建立的CA服务器的名称。在通过身份验证以后,客户端会自动在“连接到这些服务器”填入服务器的名称。
在“选择身份验证方法”中选择“安全的密码(EAP-MSCHAP v2)”,然后点击“配置”
勾选“自动使用Windows登录名和密码”,这样用户在登录的时候只需要输入一次域的用户帐户和密码就可以完成域和802.1X的双重认证。
回到原对话框,点击“确定”完成身份验证的设置,弹出下面的信息:
点击弹出的信息,出现下面的对话框。
点击“查看服务器证书”。
状态为“该证书没有问题”,在验证完服务器的证书后,客户端会自动将此信息添加到“连接到这些服务器”里面,以便下次进行自动验证。用户就不会再重复确认上面的信息了。
以上就完成了对客户端的设置。
四:配置验证
在完成了以上三个部分的配置以后,下面我们来测试一下配置效果
在用户登过程中,交换机的显示信息如下(用户计算机连接到交换机第1个端口):
客户端已经连接,还没有开始认证。
客户端正在进行认证。
客户端没有通过认证时的VLAN端口情况。
客户端已经通过认证。
客户端通过认证以后,交换机会自动把客户端所连接的端口1划分到V20里面。这样客户端计算机就可以通过路由器接入到Internet了。
通过上面的测试我们可以得出如下结论:
没有通过认证前,客户端属于Guest VLAN(V10),只能与Windows 2003 server通信。在通过认证以后,客户端属于所指定的V20,也就可以通过路由器访问Internet了。以上证明前面的配置是正确的。
五:注意事项
1. 客户端的IP地址设置为自动获取,这样客户端可以自动从Windows 2003服务器提供DHCP获取IP地址。
2. 使用 MS-CHAPv2,可以配置用户计算机,使用 Windows Domain 的用户名和密码来进行 802.1X 登入。当用户完成 Windows 登录, Windows 会自动开始 802.1X MS-CHAPv2 对交换机端口做认证。注意:必须将 AD 放在 Guest VLAN, 所以在端口未认证前,用户仍能登入网域。
3. 使用域的账户和密码登录到域中时,可能有时候计算机的某些设置不允许普通的域用户进行修改,例如SP3中的启动802.1X身份验证功能等,这就需要赋予域用户更多的对登录计算机操作的权限。请参考微软的相关资料。
4. 文档中的配置参考了大量的微软官方网站的资料,主要资料链接如下:
[url]http://www.microsoft.com/china/technet/security/guidance/secmod163.mspx[/url](使用 802.1X 实现无线 LAN 安全性)
[url]http://www.microsoft.com/china/technet/prodtechnol/winxppro/deploy/ed80211.mspx[/url](使用 Microsoft Windows 的安全 802.11 网络企业部署)
此外还包括Windows 2003 server的相关功能配置以及大量此议题相关的网络资料。
六:总结
通过以上的统一认证流程,用户只需按照正常的域登录操作,即可同时完成802. 1x 接入认证和Windows 域登录认证,达到了统一认证和单点登录的目的。在应用Windows 域与802. 1x 统一认证方案后,企业内部网络的安全性极大增强。具体来说,实现Windows 域与802. 1x 统一认证有以下优点:
(1) 结合交换机Guest VLAN功能,增强了网络接入的安全性,有效杜绝了非法用户接入,实现了对非法用户的物理隔离。
(2) 透明的统一认证流程与通常的域认证过程完全一致,无需附加认证过程。
(3) 实现了网络接入与Windows 域的单点登录,方便用户的使用与操作,减少用户同时记忆两套用户名与密码的烦琐。
(4) 实现用户密码的统一、集中维护(由域控制器维护),提高了用户密码安全性。