ABC公司
802.1x(server) 实施技术文档
Cisco Systems
1 简介 5
2 Windows AD配置(以下列出的是测试环境,实际环境由域服务器管理员根据实际情况配置) 6
2.1 启用Dial-in属性 6
2.2 创建用户和组 6
2.3 创建证书 7
2.4 Radius Server 安装和服务器配置(本节由域服务器管理员负责) 7
3 Radius server安装和配置 16
3.1 IAS安装配置 16
3.1.1 安装IAS 16
3.1.2 配置IAS: 16
3.1.3 ABC 配置Remote Access Policies 19
3.2 ACS安装配置 21
3.2.1 配置ACS: 23
4 交换机配置 29
4.1 Catos 29
4.2 Ios 29
5 相关补丁和参考文档 31
5.1 相关补丁 31
5.2 参考文档: 32
6 附件: 33
6.1 为Radius获得一个证书: 33
6.2 组策略分发 34
6.3 手工安装 35
1简介
IEEE 802.1x标准定义了基于client/server模式的访问控制和验证协议,以此来非授权用户通过公用的访问端口连接到Lan。在Switch或Lan指定的services可用之前,验证服务器验证每个连接到Switch端口上的客户端。802.1x访问控制只允许EAPOL(Extensible Authentication Protocol over Lan)包通过客户端连接的端口,直到客户验证成功。验证成功以后,端口就可以传输正常数据包。网络拓扑图如下:
●Client-工作站请求访问Lan并且交换机服务和响应请求阿。工作站必需运行8021.x兼容的客户端软件
●Authentication server-真正负责对客户端的验证。Authentication serve确认客户的的身份并且通知交换机是否授权访问Lan和交换服务。因为交换机作为了一个代理,所以验证服务对客户来说是透明的
●Switch(边缘交换机或无线AP)-根据客户的验证状态控制到网络的物理访问。交换机做为客户端和验证服务器之间的一个代理,从客户端要求验证信息并送到验证服务器验证。交换机包含一个Radius client,负责封装和解装EAP帧并和验证服务器交互。
在这个技术文档中,我们使用windows Ad做为后端用户数据库,并分别介绍了两种不同厂家的Radius server:Microsoft IAS和Cisco ACS,交换机使用Cisco switch,客户端则使用windows 2000和windows xp。
2
Windows AD配置(以下列出的是测试环境,实际环境由域服务器管理员根据实际情况配置)
2.1启用Dial-in属性
测试环境现采用windows 2000域结构,在Windows 2000 AD中,在应用用户组策略之前,还要应用计算机策略,所以在用户验证前,也要使交换机端口处于authenticated 状态,这样客户端才能成功应用计算机策略,Windows 2000AD域结构中,域计算机名可以做为一个账号去验证。Windows 2000 或xp客户端在加入域时自动用客户端计算机名产生一个计算机帐户和密码(密码不可见)。在做802.1验证时,windows 2000或xp域客户端会自动使用此帐户和密码去验证。但在Ad中,默认计算机帐户并没有Dian-in属性,但可以通过以下步骤实现:
1.在%windir%\\system32目录下,右键点击文件Mac8021x.ldf,选择Properties. 请核对文件信息是否已经被更新如下,如果时间晚于2001-17-oct,则进行下一步,否则需要安装Q306260补丁:
Date Time Size File name
--------------------------------------
17-Oct-2001 11:25 186 Mac8021x.ldf
2. 在%windir%\\system32运行如下命令:
ldifde -i -f %systemRoot%\\system32\\mac8021x.ldf -c DC=DN DC=domain,DC=com
请您用您真实的域名替换”DC=”后面的名字,以上要注意大小写,并最好在根域运行此命令。
3.请您重新启动您的域控制器。
4.然后,打开AD users and Computers。 2.2创建用户和组 在Radius server中,我们既可以对组应用策略,也可以对单个用户应用策略,策略包括vlan划分,Access-list等。但如果都是对单个用户应用策略,则管理工作量将很大,所以我们一般对组应用策略,同时也可以对某些特殊用户实行单个管理。在这个例子里,我们创建两个域用户test1,test2,同时创建三个组Machinegroup,Usergroup1,Usergroup2。将计算机帐户划到Machinegroup组,test1到Usergroup1,test2到Usergroup2。如果Radius server 是Cisco ACS,则要进行以下步骤启用机器和用户的Dial-in。如果Radius server为IAS,则不必启用机器和用户的Dial-in。 1.打开AD users and Computers。 2.打开AD users and Computers。 2.3创建证书 这里简单介绍证书的创建,详细步骤请微软提供。 1)点击start->settings->control Panel 2)双击Add/Remove programs 3)点击Add/Remove Windows Components开始Windows Components Wizard. 4) 选择Certificate Services。 5)如果你打算使用验证服务的Web组件,确保选中IIs复选框 6)点击Next,提示指定certification Authority的类型,选中Enterprise Root CA。 7)采用默认加密设置,点击Next。 8)提示为你的Site和组织输入正确的验证信息,注意Ca name非常重要,因为它被用来验证创建在目录中的CA 对象。输入后,点击Next。 9)如果IIs正在运行,则会弹出一个提示框提示停止服务。点击OK停止IIS,必须停止IIS以允许Web 组件。 10)点击Finish完成。 2.4Radius Server 安装和服务器配置(本节由域服务器管理员负责) 1.服务器标准安装: Windows 2000 Server English Edition + SP3 Hotfix: KB823980, KB828741, KB835732, KB3136 2.把服务器加入域中: 3.安装Internet Authentication Service: 4.安装证书: 用域管理员账号登陆: 运行Microsoft Management Console: 增加插件: 点击: Add 选择: Certificates: 选择: Computer account 选择: Local computer: 右键点击: Personal, 选择All Tasks-Request New Certificate Next: Next: Next: Next: Finish: 5.重新启动, 用本地管理员登陆: 3Radius server安装和配置 3.1IAS安装配置 3.1.1安装IAS Windows 2000 server自带的Ias有Radius功能,以下是安装Ias步骤: 1.Start->settings->Control Panel->Add/remove Programs->Add/Remove Windows Component 2.双击Networking Services,选中Internet Authentication Service,点击OK。 3.点击Next。 4.点击Finish。 3.1.2配置IAS: 1.Start->Administrative Tools->点击Internet Authentication Service。 2.在打开的Internet Authentication Service框中,右键单击Internet Authentication service(Local),点击Register service in Active Directory,在Ad中注册Radius服务。 3.添加Radius client,选中clients,右键单击clients,点击New client,在出现的Add client框中输入Friendly name,点击Next。 4.在Client address(ip or Dns):输入框中输入交换机ip地址,并在Shared Secret中输入共享密码,其它采用Default值。输入完成后,点击Finish。 5.新建New Remote Access Policy.右键单击Remote Access policy,点击New Remote Access Policy,在Add Remote Access policy框中输入Policy friendly name(比如For Machinegroup),点击Next。 6.点击Add增加匹配条件,一般我们采用组匹配。在Select Attribute框中选择Windows-Groups,点击Add。 7.在Groups框中点击Add,选择域中要匹配的组,比如Machinegroup,点击Ok,在点击Ok,回到Add Remote Access Policy对话框,点击Next。 8.选择Grant Remote Access permission,点击Next。 9.点击Edit Profile,选择Authentication Tab,选中Extensible Authentication Protocol,并在Select the EAP type which is acceptable for this policy中选择Protected EAP(PEAP),其它采用Default值。 10添加vlan属性。点击Advanced Tab,点击Add添加Radius属性,双击Tunnel-Medium-Type,在弹出的Multivalued Attribute Information对话框中单击Add,在Attribute value框中选用802(include all 802 media plus Ethernet canonical format),点击Ok,回到上一个对话框再点击ok,回到Add attributes对话框。双击Tunnel-Pvt-Group-ID, 在弹出的Multivalued Attribute Information对话框中单击Add,在Enter the attribute value in下的输入框中输入要分配的vlan名称,点击Ok回到上一个对话框,再点击Ok,又回到Add attributes对话框。双击Tunnel-type, 在弹出的Multivalued Attribute Information对话框中单击Add,在Attribute value下拉框中选择Virtual Lans[vlan],单击Ok回到上一个对话框,在点击Ok回到Add Attributes对话框。 11.添加Access-list属性,在Add Attributes对话框中双击Cisco-Av-Pair,弹出Multivalued Attribute Information对话框。 12.单击Add,在Attribute Information对话框中的Attribute value里,输入以下格式的Access list:ip:inacl#1=permit ip any 192.168.1.0 0.0.0.255。完成后点击Ok,退回到上一个对话框。 13 如果还想继续继续增加access-list,则重复进行第12步里面的动作,注意将#后面数字加1递增。如ip:inacl#2=,ip:inacl#3=,….. 14.点击Close关闭Add Attributes对话框。可以看到下图所示Edit Dial-in Profile对话框。 15.点击ok关闭Edit Dial-in Profile对话框,点击Finish完成配置。 16.重复步骤5-15为不同组添加New Remote Access Policy。 17.添加完所有必须的policy后,将Default Remote Access policy删除或将Order 值设为最大。 3.1.3ABC 配置Remote Access Policies 3.1.3.1For Machine: 添加ABC\\Domain Computers(添加本地计算机用户) 添加ABCYT\\Domain Computers(这组将添加非本厂用于漫游的用户) 次序不可以颠倒 3.1.3.2For User 添加ABC\\Domain Users(添加本地计算机用户) 添加ABCYT\\Domain Users(这组将添加非本厂用于漫游的用户) 3.2ACS安装配置 Acs可以直接安装在Dc上,也可以安装在Member server上,以下为ACS安装步骤。 1.用本地管理员登入要安装ACS的主机。(如果没有安装Ie6.0+sp1,登入后先安装) 2.在Acs安装根目录下点击setup运行安装。 3.接受软件许可协议,点击Next。 4.选择要安装的目录,点击Next。 5.选择Also check the windows User Database选项,单击Next。 6.完成以下几项: Authenticate users using—选择AAA 协议为RADIUS(Cisco IOS/PIX). Access server name――输入访问服务器名字 Windows Server IP address――输入安装Acs服务器Ip地址。 TACACS+orRADIUS Key――输入共享密码 7.输入完成后,单击Next继续。 8.点击Next。 9.如果想监视用户验证服务,则选中Enable Log-in monitoring,,然后配置Script toexecute(配置服务失败后的动作),点击Next。 10.清除Yes,I want to configure Cisco IOS software Now 复选框,点击Next。 11.选择Yes,I want to start the ciscosecure ACS Service Now和Yes,I want setup to launch the cisco secure acs administrator from my browser following installatin.点击Next。 12.点击Finish完成安装。 如果ACS安装在一台Member server,还需完成以下步骤: 1.在Ad中创建一个域帐户,这个域帐户用于运行Cisco Secure ACS services,不要将这个帐户加入任何特别的组。 2.用本地管理员登入要安装ACS主机。 3.将2步中所创建的域用户加入本地管理员组。 4.选择Start->Settings->Control Panel->Administrative Tools->Local Security Policy. 5.双击Local Policies,然后再双击User Rights Assignment。对Act as part of the operating system policy和Log on as a service policy,分别做以下步骤: a.双击policy name b.点击Add c.加入第2步创建的域用户。 d.点击Ok完成。 6.将以下ACS service 登入帐户设为第2步创建的用户。 CSAdmin CSAuth CSDbSync CSLog CSMon CSRadius CSTacacs 7.重起计算机。 3.2.1配置ACS: 1.在Acs server 上点击桌面上的Acs admin或在浏览器中输入http://ACS-IP:2002 2.配置外部数据库为windows database。点击External user Database->Database Configuration->Windows Database,点击Configure,如果只想给AD用户和计算机中配置里启用了dial-in的用户做验证,则选择Dial-in permission里的复选框。 3.将Available Domains加入到Domain List中。在windows EAP Settings中,选中Permit Permit PEAP machine authentication,点击submit保存配置。 4.External user Databases->configure unknown User policy.选择Check the following external user databases,并将windows database加入到selected databases中,点击submit保存配置。 5.External User Databases->Database Group Mappings->Windows Database,第一次配置时,先进行第6步,否则跳到第7步。 6.点击New configuration,选中Detected Domains,点击submit保存,回到Domain configurations页面。 7.在Domain Configurations页面中,双击域名,在Group Mapping for Domain页面中,点击Add mapping,出现Create new groupmapping for domain页面。在Define Nt group set中选择要映射的NT group,比如machinegroup,点击Add to selected 添加到selected框中。再在CiscoSecure group中选择所要对应的group(如个已对ACS中 group做好配置,则选择相应的Acs group,否则任一选择一个acs group,在后面做详细的配置),点击Submit保存。 8.按照5-7步重复加入所有需要的映射,如Usergroup1,Usergroup2。 9.Interface->Advanced Options,选中Per-user TACACS+/RADIUS Attributes,点击Submit。则可以为每个用户配置vlan,Access-list等。(默认只能对组配置) 10.Interface configuration->Radius (IETF),分别为User 和Group选择0(Tunnel-type),065(Tunnel-Medium-Type),081(Tunnel-Private-group-d),点击Submit。这些是分配Vlan时必须使用的属性。 11.Interface configuration->RADIUS(Cisco IOS/PIX),分别为User和Group选中[026/009/001] cisco-av-pair,点击Submit保存。这是分配Access-list必须使用的属性。 12.System configuration->ACS Certificate Setup->Install ACS Certificate。选择Use certificate From storage,在Certificate cn中输入在创建证书时第5步a中输入的Name,点击Submit,提示要求重起ACS服务,先不用重起ACS服务。采用PEAP认证时必须安装证书。 13.System configuration->Global Authentication Setup.选择Allow EAP-MSCHAPV2,ALLOW EAP-GTC,点击submit+Restart,保存并重起服务。这样ACS就可以支持PEAP认证。 14.Group setup->选中所要编辑的组(此例中编辑Machinegroup、Usergroup1和Usergroup2),点击Edit settings。在Cisco IOS/PIX RADIUS Attributes对话框中,选中[009\\001] cisco-av-pair复选框,这个值用于配置access-list,格式为ip:inacl#1=deny ip any host 192.168.1.1,ip:inacl#2=permit ip any any.如果想要分配vlan,则选中[0] Tunnel-Type、[065] Tunnel-Medium-Type和[081] Tunnel-Private-Group-ID复选框。将[0] Tunnel-Type Tag 1值设为vlan,[065] Tunnel-Medium-Type Tag1为802,在[081] Tunnel-Private-Group-ID输入要分配给组的vlan name。点击submit+Restart,保存并重起服务。 15.ACS基本配置已完成。客户机验证成功后,会自动添加计算机帐户和域用户账号到Acs用户列表里,计算机账号格式如下:host/computer name.domain name,如下图host/g.a.com,用户名格式为:domain\ame,如A\\paul。在User setup中,可以对单个用户进行特殊配置,如可以分配与所属的组不同的vlan和Access-list.. 4 交换机配置 4.1Catos 6509 Catos 中802.1x配置 #radius set radius server 10..1.4 auth-port 1812 primary set radius server 10.203.8.11 auth-port 1812 set radius key cisco set vlan 401 3/13 set port dot1x 3/13 guest-vlan 400(如果验证不成功则分配vlan400给客户)(option) set port dot1x 3/13 port-control auto set spantree portfast 3/13 enable set port dot1x tx-period 20(此值影响用户登入后,switch port从authenticating 到authenticated的时间,可修改) set dot1x system-auth-control enable 4.2Ios 3550 Ios中的802.1x配置 aaa new-model aaa authentication dot1x default group radius aaa authorization config-commands aaa authorization network default group radius aaa authorization configuration default group radius username cisco password 0 cisco dot1x system-auth-control interface FastEthernet0/1 switchport mode access dot1x port-control auto dot1x timeout tx-period 20(此值影响用户登入后,switch port从authenticating 到authenticated的时间) dot1x timeout supp-timeout 15 dot1x guest-vlan 6 spanning-tree portfast radius-server host 10.203.8.11 auth-port 1812 acct-port 1813 key cisco radius-server host 10.5.56.104 auth-port 1812 acct-port 1813 key cisco ip radius source-interface Loopback1 5 相关补丁和参考文档 5.1相关补丁 1.在windows 2000Ad中,在%windir%\\system32目录下,右键点击文件Mac8021x.ldf,选择Properties. 请核对文件信息是否已经被更新如下,如果时间晚于2001-17-oct,则进行下一步,否则需要安装Q306260补丁: Date Time Size File name -------------------------------------- 17-Oct-2001 11:25 186 Mac8021x.ldf 2.Windows 2000 server(安装有Ias 的服务器) windows 2000 server+Ias+sp3+HotFix 3136 windows 2000 server+Ias+sp4 3.在windows 2000 client端: Windows 2000+sp3+HotFix 3136+Hotfix 829116+Hotfix 833865+HotFix 823050+Hotfix 823859 Windows 2000+sp4+Hotfix 829116+Hotfix 833865+HotFix 823050+Hotfix 823859 Hotfix 3136:使已安装了sp3的windows 2000支持PEAP(sp4已包含此补丁) Hotfix 829116:修复windows 2000更换vlan后ip地址不会自动更换问题 Hotfix 833865+HotFix 823050+Hotfix 823859:用于修复svchost.exe错误(报此错误后,wireless configuration service 就停止服务) 4.Windows xp client: Windowsxp+sp1 5.修改注册表键值(For windows 2000 and Windows Xp client): Hkey_LOCAL_MACHINE\\Software\\Microsoft\\EAPOL\\Parameters\\General\\Global 选中该键值,然后右键点击它,然后点击New,并添加一个DWORD Value. 类型:DWORD 名字:SupplicantMode 值:3 5.2参考文档: 1.Step-by-Step Guide to Setting up a Certification Authority: http://www.microsoft.com/windows2000/techinfo/planning/security/casetupsteps.asp 2.Configuring Cisco Secure ACS for Windows v3.2 With PEAP-MS-CHAPv2 Machine Authentication: http://www.cisco.com/en/US/products/sw/secursw/ps2086/products_configuration_example09186a00801df0e4.shtml 3.Configuring 802.1X Port-Based Authentication: http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_guide_chapter09186a00800da6ff.html 4.Installation Guide for Cisco Secure ACS for Windows Server Version 3.2: http://www.cisco.com/en/US/products/sw/secursw/ps2086/prod_installation_guide09186a0080184928.html 5.User Database: http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/csacs4nt/acs32/user02/d.htm#wp804045 6.System Configuration: Authentication and Certificates http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/csacs4nt/acs32/user02/sau.htm#wp436630 6 附件: 6.1为Radius获得一个证书: 1.PEAP验证必须使用一个证书,以下步骤为Radius获得一个证书。打开一个web浏览器并输入Http://ca-ip –address/certsrv,弹出一个验证框,输入管理员用户名密码 2.选择request a certificate,并点击Next。 3.选择Advanced request,并点击Next。 4.选择Submit a certificate request to this CA using a form,点击Next 5.配置验证选项: a.选择Web server 作为一个验证模板,一定要输入name(此name在后面Acs中安装证书有用)。 b.选择key大小为1024,选择Mark keys as exportable 和use local machine store 注意:如果看到一个警告框提示Scripting violation,选择Yes继续。 6.点击安装这个证书 Note:如果你看到一个警告框提示scripting violation,点击Yes 7.如果安装已成功,你将会看到一个确认框。 如果使用计算机账号验证,计算机必须安装安装上面创建证书,可以通过两种方法安装,第一种采用手工安装,另外一种采用组策略分发。 6.2组策略分发 1.在DC上打开Active Directory Users and Computers. 2.右键选中Domain,选择Properties。 3.选择Group policy。点击Default Domain policy,点击Edit。 4.到 Computer Configuration > Windows Settings > Security Settings > Public Key Policies > Automatic Certificate Request Settings. 5.在菜单条上,Action > New > Automatic Certificate Request ,然后点击Next。 6.选择计算机,点击Next。 7.检查CA,点击Next。 8.点击Finish完成。 6.3手工安装 1.在客户端的Ie浏览器中输入http://root-CA-ip-address/certsrv。 2.选择Retrieve the CA certificate or certification revocation list,点击Next。 3.点击Download CA certificate,保存证书到本地计算机上。 4.打开certificate 并点击Install Certificate。 5.点击Next,选择Automatically select the certificate store based on the type of the certificate,点击Next。 6.点击Finished完成。下载本文