本文档介绍如何使用Windows版本3.2的Cisco安全访问控制系统(ACS)配置可扩展身份验证协议-传输层安全(EAP-TLS)。
注意:Novell Certificate Authority (CA)不支持计算机身份验证。ACS可以使用EAP-TLS支持对Microsoft Windows Active Directory进行计算机身份验证。最终用户客户端可能会将用于用户身份验证的协议限制为用于计算机身份验证的同一协议。也就是说,使用 EAP-TLS 进行计算机身份验证可能需要使用 EAP-TLS 进行用户身份验证。有关计算机身份验证的详细信息,请参阅 Cisco 安全访问控制服务器 4.1 用户指南 中的计算机身份验证部分。
注意:设置ACS以通过EAP-TLS对计算机进行身份验证并且ACS已设置为计算机身份验证时,必须将客户端配置为仅执行计算机身份验证。有关详细信息,请参阅如何在Windows Vista、Windows Server 2008和Windows XP Service Pack 3中启用对基于802.1X的网络的仅计算机身份验证。
本文档没有任何特定的前提条件。
本文档中的信息基于以下软件和硬件版本。
Cisco Secure ACS for Windows v3.2
Microsoft 证书服务(作为企业根证书颁发机构 [CA] 安装)
注意:有关详细信息,请参阅证书颁发机构设置分步指南。
DNS 服务和 Windows 2000 Server(装有 Service Pack 3 和修补程序 323172)
注意:如果遇到CA服务器问题,请安装修补程序323172 。Windows 2000 SP3客户端需要修补程序313664 才能启用IEEE 802.1x身份验证。
Cisco Aironet 1200 系列无线接入点 12.01T
运行 Windows XP Professional(装有 Service Pack 1)的 IBM ThinkPad T30
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
EAP-TLS和受保护可扩展的身份验证协议 (PEAP) 建立和使用TLS/Secure套接层(SSL)隧道。EAP-TLS 在 ACS 服务器(身份验证、授权和记帐 [AAA])和客户端都有证书的情况下使用相互认证,证明它们彼此的身份。但是,PEAP仅使用服务器端身份验证;只有服务器具有证书并向客户端证明其身份。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本文档使用下图所示的网络设置。
按照以下步骤配置 ACS 3.2。
按照以下步骤获取证书。
在 ACS 服务器上打开 Web 浏览器,并输入 http://CA-ip-address/certsrv 以便访问 CA 服务器。
以管理员身份登录到域。
选择 Request a certificate,然后单击 Next。
选择 Advanced request,然后单击 Next。
选择 Submit a certificate request to this CA using a form,然后单击 Next。
配置证书选项:
选择 Web Server 作为证书模板,并输入 ACS 服务器的名称。
在 Key Size 字段中输入 1024,并选中 Mark keys as exportable 和 Use local machine store 复选框。
根据需要配置其他选项,然后单击 Submit。
注意:如果显示Potential Scripting Violation对话框,请单击Yes继续。
单击 Install this certificate。
注意:如果显示Potential Scripting Violation对话框,请单击Yes继续。
如果安装成功,将显示 Certificate Installed 消息。
请完成以下步骤以便将 ACS 配置为使用存储中的证书。
打开 Web 浏览器,并输入 http://ACS-ip-address:2002/ 以访问 ACS 服务器。
单击 System Configuration,然后单击 ACS Certificate Setup。
单击 Install ACS Certificate。
单击 Use certificate from storage 单选按钮。
在 Certificate CN 字段中,输入您在本文档获取 ACS 服务器证书部分的步骤 5a 中指定的证书名称。
单击“Submit”。
配置完成之后,将显示一条确认消息,指示 ACS 服务器配置已发生更改。
注意:此时无需重新启动ACS。
ACS 自动信任颁发其自己的证书的 CA。如果客户端证书由其他 CA 颁发,您必须完成以下步骤:
单击 System Configuration,然后单击 ACS Certificate Setup。
单击 ACS Certificate Authority Setup 以向受信任的证书列表添加 CA。
在 CA 证书文件的字段中,输入证书的位置,然后单击 Submit。
单击 Edit Certificate Trust List。
选中 ACS 应该信任的所有 CA,不要选择 ACS 不应信任的所有 CA。
单击“Submit”。
完成以下步骤,以便重新启动服务和配置 EAP-TLS 设置:
单击 System Configuration,然后单击 Service Control。
单击 Restart 以重新启动服务。
要配置 EAP-TLS 设置,请单击 System Configuration,然后单击 Global Authentication Setup。
选中 Allow EAP-TLS,然后选中一个或多个证书比较。
单击“Submit”。
要将接入点(AP)配置为AAA客户端,请完成以下步骤:
单击 Network Configuration。
在 AAA Clients 下,单击 Add Entry。
在 AAA Client Hostname 字段中输入接入点主机名,在 AAA Client IP Address 字段中输入 IP 地址。
在 Key 字段中输入 ACS 和接入点的共享密钥。
选择 RADIUS (Cisco Aironet) 作为身份验证方法,并且单击 Submit。
完成以下步骤以便配置外部用户数据库。
单击 External User Databases,然后单击 Database Configuration。
单击 Windows Database。
注意:如果尚未定义Windows数据库,请单击Create New Configuration,然后单击Submit。
单击 Configure。
在 Configure Domain List 下,将 SEC-SYD 域从 Available Domains 移至 Domain List。
在 Windows EAP Settings 区域中,单击 Permit EAP-TLS machine authentication 复选框以启用计算机身份验证。
注意:请勿更改计算机身份验证名称前缀。Microsoft 当前使用“/host”(默认值)区分用户身份验证和计算机身份验证。
或者,您也可以选中 EAP-TLS Strip Domain Name 复选框以便启用域剥离。
单击“Submit”。
单击 External User Databases,然后单击 Unknown User Policy。
单击 Check the following external user databases 单选按钮。
将 Windows Database 从 External Databases 列表移至 Selected Databases 列表。
单击“Submit”。
在完成 ACS 配置之后,请完成以下步骤以便重新启动服务:
单击 System Configuration,然后单击 Service Control。
单击 Restart。
完成以下步骤以便为域配置计算机证书自动注册:
转至 Control Panel > Administrative Tools > Open Active Directory Users and Computers。
右键单击 domain sec-syd,并选择 Properties。
单击 Group Policy 选项卡。
单击 Default Domain Policy,然后单击 Edit。
转至 Computer Configuration > Windows Settings > Security Settings > Public Key Policies > Automatic Certificate Request Settings。
在菜单栏上转至 Action > New > Automatic Certificate Request,并单击 Next。
选择 Computer,并单击 Next。
选中证书颁发机构,在本示例中为“Our TAC CA”。
单击 Next,然后单击“Finish”。
完成以下步骤以便将 AP 配置为使用 ACS 作为身份验证服务器:
打开 Web 浏览器,并输入 http://AP-ip-address/certsrv 以便访问 AP。
请在工具栏上单击 Setup。
请在 Services 下单击 Security,然后单击 Authentication Server。
注意:如果您在AP上配置了帐户,则必须登录。
输入身份验证程序配置设置:
在 802.1x Protocol Version 中选择 802.1x-2001(适用于 EAP 身份验证)。
在 Server Name/IP 字段中,输入 ACS 服务器的 IP 地址。
选择 RADIUS 作为服务器类型。
在 Port 字段中输入 1645 或 1812。
输入您在将接入点指定并配置为 AAA 客户端中指定的共享密钥。
选中 EAP Authentication 选项以指定服务器的使用方式。
请在完成后单击 OK。
单击 Radio Data Encryption (WEP)。
输入内部数据加密设置。
从 Use of Data Encryption by Stations is 下拉列表中选择 Full Encryption,以便设置数据加密的级别。
对于 Accept Authentication Type,请选中 Open 复选框以便设置接受的身份验证类型,并选中 Network-EAP 以便启用 LEAP。
对于 Require EAP,请选中 Open 复选框以便需要 EAP。
在 Encription Key 字段中输入加密密钥,并从 Key Size 下拉列表中选择 128 bit。
请在完成后单击 OK。
转至Network > Service Sets > Select the SSID Idx以便确认您使用的是正确的服务集标识符(SSID)。
Click OK.
完成以下步骤以便配置 ACS 3.2:
完成以下步骤以便向域添加无线客户端。
注意:要完成这些步骤,无线客户端必须能够通过有线连接或通过禁用802.1x安全性的无线连接连接到CA。
以本地管理员身份登录到 Windows XP。
转至 Control Panel > Performance and Maintenance > System。
单击 Computer Name 选项卡,然后单击 Change。
在 Computer Name 字段中输入主机名。
选择 Domain,然后输入域名(在本示例中为 SEC-SYD)。
Click OK.
当显示 Login 对话框时,请使用具有足够的权限的帐户登录以加入域。
在计算机成功加入域之后,请重新启动该计算机。
计算机随即成为该域的成员。由于配置了计算机自动注册,因此计算机安装有 CA 颁发的证书和计算机身份验证证书。
完成以下步骤以便获取用户证书。
使用需要证书的帐户在无线客户端(便携式计算机)上登录到 Windows XP 和域 (SEC-SYD)。
打开 Web 浏览器,并输入 http://CA-ip-address/certsrv 以便访问 CA 服务器。
使用同一帐户登录到 CA 服务器。
注意:证书存储在无线客户端的当前用户配置文件下;因此,您必须使用同一帐户以登录到Windows和CA。
单击 Request a certificate 单选按钮,然后单击 Next。
单击 Advanced request 单选按钮,然后单击 Next。
单击 Submit a certificate request to this CA using a form 单选按钮,然后单击 Next。
从 Certificate Template 中选择 User,并在 Key Size 字段中输入 1024。
根据需要配置其他选项,然后单击 Submit。
注意:如果显示Potential Scripting Violation对话框,请单击Yes继续。
单击 Install this certificate。
注意:如果显示Potential Scripting Violation对话框,请单击Yes继续。
注意:如果CA自己的证书尚未保存在无线客户端上,则可能会显示根证书存储区。单击 Yes 以便将证书保存到本地存储。
如果安装成功,则会显示一条确认消息。
完成以下步骤以便设置无线网络的选项:
以域用户身份登录到域。
转至 Control Panel > Network and Internet Connections > Network Connections。
右键单击 Wireless Connection,并选择 Properties。
单击 Wireless Networks 选项卡。
从可用网络列表中选择无线网络,然后单击 Configure。
在 Authentication 选项卡上,请选中 Enable IEEE 802.1x authentication for this network 复选框。
从 EAP 类型下拉列表选择 Smart Card or other Certificate,然后单击 Properties。
注意:要启用计算机身份验证,请选中Authenticate as computer when computer information is available复选框。
单击 Use a certificate on this computer 单选按钮,然后选中 Use simple certificate selection 复选框。
选中 Validate server certificate 复选框,并单击 OK。
注意:当客户端加入域时,CA的证书将自动安装为受信任的根证书颁发机构。客户端将自动以隐式方式信任签署客户端证书的 CA。通过在 Trusted Root Certification Authorities 列表中检入其他 CA,也可以信任其他 CA。
在网络属性窗口的 Association 选项卡上,选中 Data encryption (WEP enabled) 和 The key is provided for me automatically 复选框。
单击 OK,然后再次单击 OK 以关闭网络配置窗口。
本部分提供了可用于确认您的配置是否正常运行的信息。
要验证无线客户端是否已通过验证,请完成以下步骤:
在无线客户端上,转至 Control Panel > Network and Internet Connections > Network Connections。
在菜单栏上转至 View > Tiles。
此时,无线连接应显示“Authentication succeeded”消息。
要验证无线客户端是否已通过验证,请在 ACS Web 界面上转至 Reports and Activity > Passed Authentications > Passed Authentications active.csv。
本部分提供的信息可用于对配置进行故障排除。
验证是否已在 Windows 2000 Advanced Server(装有 Service Pack 3)上将 MS 证书服务安装为企业根 CA。
验证您是否正在使用 Cisco Secure ACS for Windows v3.2 和 Windows 2000(装有 Service Pack 3)。
如果机器认证在无线客户端出现故障,在无线连接将没有网络连接。只有档案存储在无线客户端上的缓存中的帐户才能登录到域。计算机必须插入到有线网络中,或者设置为没有任何 802.1x 安全功能的无线连接。
如果 CA 在加入域时自动注册失败,请查看事件查看器以查找可能的错误原因。
如果无线客户端用户的配置文件无有效证书,且密码正确,那么您仍然能登录机器和域,但注意不能建立无线连接。
如果无线客户端上的 ACS 证书无效(取决于证书生效的起止日期、客户端日期和时间设置以及 CA 信任),客户端将拒绝该证书,从而导致身份验证失败。ACS 将在 Web 界面中的 Reports and Activity > Failed Attempts > Failed Attempts XXX.csv 下记录失败的身份验证,其中含有与“EAP-TLS or PEAP authentication failed during SSL handshake.”类似的身份验证失败代码。 CSAuth.log 文件中的预期错误消息与此消息相似:
AUTH 06/04/2003 14:56:41 E 0345 1644 EAP: buildEAPRequestMsg: other side probably didn't accept our certificate
如果 ACS 上的客户端证书无效(取决于认证生效的起止日期、客户端日期和时间设置和 CA 信任),客户端将拒绝证书,导致认证失败。ACS 将在 Web 界面中的 Reports and Activity > Failed Attempts > Failed Attempts XXX.csv 下记录失败的身份验证,其中含有与“EAP-TLS or PEAP authentication failed during SSL handshake.”类似的身份验证失败代码。 如果 ACS 因为不信任 CA 而拒绝了客户端证书,CSAuth.log 文件中的预期错误消息则与此消息相似:
AUTH 06/04/2003 15:47:43 E 0345 1696 EAP: ProcessResponse: SSL handshake failed, status = 3 (SSL alert fatal:unknown CA certificate)
如果 ACS 因为客户端证书已过期而拒绝了该证书,CSAuth.log 文件中的预期错误消息则与此消息相似:
AUTH 06/04/2005 15:02:08 E 0345 1692 EAP: ProcessResponse: SSL handshake failed, status = 3 (SSL alert fatal:certificate expired)
在ACS Web接口日志中,在报告和活动 >通过的认证> 通过的认证XXX.csv 和报告和活动 > 失败的尝试>失败的尝试XXX.csv下面,EAP-TLS认证以下列格式显示< user-id>@<domain >。PEAP 身份验证以 <DOMAIN>\<user-id> 格式显示。
您能通过遵从下面的步骤验证 ACS 服务器的认证和信任。
使用具有管理员特权的帐户登录到 ACS 服务器上的 Windows。
转至“开始”>“运行”,键入 mmc,并单击 OK 以打开 Microsoft 管理控制台。
在菜单栏上,转至“控制台”>“添加/删除管理单元”,然后单击“添加”。
选择“证书”,并单击“添加”。
选择“计算机帐户”,单击“下一步”,然后选择本地计算机(正在运行此控制台的计算机)。
依次单击“完成”、“关闭”和“确定”。
要验证 ACS 服务器是否具有有效的服务器端证书,请转至 Console Root > Certificates (Local Computer) > Personal > Certificates,并验证 ACS 服务器是否具有相应证书(在本示例中名为 OurACS)。
打开证书,并验证以下各项:
对所有预先计划而没有验证的证书没有的警告。
没有任何有关此证书不受信任的警告。
“此证书用于 - 确保远程计算机的身份”。
认证未到期,仍然有效(检查“起止”日期是否有效)。
“您具有与此证书相对应的私钥”。
在Details制表符上,验证 Version 字段有 V3 的值,并且增强的密钥用法字段至少包含客户端验证这个值 (1.3.6.1.5.5.7.3.1)。
要验证 ACS 服务器是否信任 CA 服务器,请转至 Console Root > Certificates (Local Computer) > Trusted Root Certification Authorities > Certificates,并验证 ACS 服务器是否具有相应证书(在本示例中名为 Our TAC CA)。
打开证书,并验证以下各项:
对所有预先计划而没有验证的证书没有的警告。
没有任何有关此证书不受信任的警告。
证书旨在用于正当目的。
认证未到期,仍然有效(检查“起止”日期是否有效)。
如果 ACS 和客户端没有使用同一个根 CA,则应验证是否安装了完整的 CA 服务器证书。如果证书是从子证书颁发机构获取的,上述内容则同样适用。
您能通过遵从下面的步骤验证无线客户端的机器认证和信任。
使用具有管理员特权的帐户登录到 ACS 服务器上的 Windows。打开 Microsoft 管理控制台,方法是:转至“开始”>“运行”,键入 mmc,并单击“确定”。
在菜单栏上,转至“控制台”>“添加/删除管理单元”,然后单击“添加”。
选择“证书”,并单击“添加”。
选择 Computer account,单击 Next,然后选择 Local computer(运行此控制台的计算机)。
依次单击“完成”、“关闭”和“确定”。
验证计算机是否具有有效的客户端证书。如果证书无效,计算机身份验证将失败。要验证证书,请转至 Console Root > Certificates (Local Computer) > Personal > Certificates。验证计算机是否有证书;名称将采用<host-name>.<domain>格式。打开证书,并验证以下各项。
对所有预先计划而没有验证的证书没有的警告。
没有任何有关此证书不受信任的警告。
“此证书用于 - 向远程计算机证明您的身份”。
认证未到期,仍然有效(检查“起止”日期是否有效)。
“您具有与此证书相对应的私钥”。
在Details选项卡上,验证Version字段的值V3,并且Enhanced Key Usage字段至少包含Client Authentication的值(1.3.6.1.5.5.7.3.2);可能会列出其他用途。确保Subject字段包含值CN = <host-name>.<domain>;可能会列出其他值。验证主机名和域是否与证书中的指定内容相匹配。
要确认客户端的配置文件信任 CA 服务器,请转到 Console Root > Certificates (Current User) > Trusted Root Certification Authorities > Certificates。验证是否存在 CA 服务器的证书(在本例中命名为 Our TAC CA)。打开证书,并验证以下各项。
对所有预先计划而没有验证的证书没有的警告。
没有任何有关此证书不受信任的警告。
证书旨在用于正当目的。
认证未到期,仍然有效(检查“起止”日期是否有效)。
如果 ACS 和客户端没有使用同一个根 CA,则应验证是否安装了完整的 CA 服务器证书。如果证书是从子证书颁发机构获取的,上述内容则同样适用。
按照配置 Cisco Secure ACS for Windows v3.2 中的说明验证 ACS 设置。
按照配置 MS 证书服务中的说明验证 CA 设置。
按照配置 Cisco 接入点中的说明验证 AP 设置。
按照配置无线客户端中的说明验证无线客户端设置。
验证用户帐户是否存在于 AAA 服务器的内部数据库或某个已配置的外部数据库中,并确保未禁用该帐户。
基于安全哈希算法2 (SHA-2)构建的CA颁发的证书与思科安全ACS不兼容,因为它们是使用目前不支持SHA-2的Java开发的。为了解决此问题,请重新安装CA并将其配置为使用SHA-1颁发证书。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
30-Jun-2003 |
初始版本 |