安全 : 用于 Windows 的思科安全访问控制服务器

有线 Dot1x 版本 1.05 配置指南

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文档提供有线 dot1x 版本 1.05 的配置示例。

本指南说明使用 Microsoft CA 创建的证书和自签名证书(在访问控制服务器 (ACS) 3.3 中受到支持)。由于不需要外部 CA,因此使用自签名证书可以大大简化初始 PEAP 安装。目前,自签名证书的默认有效期只有一年且不能更改。这是相当标准当谈到服务器证书,但是,因为自签名证书也作为根CA证书,这能含义安装在每个客户端的新证书,每年,当使用Microsoft请求方时(除非不选择" Validate server certificate "选项)。建议您仅将自签名证书用作您可以使用传统 CA 之前的临时措施。如果希望使用自签名证书,请参阅以下部分。

802.1x 旨在对有线网络上的主机而非实际用户进行身份验证。尝试在有线网络上通过 802.1x 对用户进行身份验证可能导致出现意外行为,例如直到 NIC 卡释放端口,通过 802.1x 身份验证的用户才会从网络注销。

先决条件

要求

在尝试此配置前,请保证您符合这些要求:

  • 运行Cisco IOS�软件版本12.1(12c)EA1和以上(仅EI)或CatOS 6.2及以上版本的交换机

  • ACS 3.2

  • Windows 2000 SP3(带有热修补程序)、SP4 或 XP SP1

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

Microsoft 证书服务安装

本部分提供有关如何配置本文档所述功能的信息。

注意: 在安装 CA 之前必须安装 Internet Information Server (IIS)。不要为 CA 指定与 ACS 服务器相同的名称;这样做可能导致 PEAP 客户端身份验证失败,因为当找到与服务器证书同名的根 CA 证书时,这些客户端会分不清这二者。此问题并非 Cisco 客户端独有。

安装 Microsoft 证书 (CA) 服务器

完成这些步骤:

  1. 选择开始 > 设置 > 控制面板

  2. 在控制面板中,打开添加/删除程序

  3. 在“添加/删除程序”中,选择添加/删除 Windows 组件

  4. 选择证书服务

  5. 单击 Next

  6. 对 IIS 消息单击

  7. 选择一个独立(或企业)根 CA。

  8. 单击 Next

  9. 为该 CA 命名。

    注意: 所有其他框都是可选的。

    注意: 不要为 CA 指定与 ACS 服务器相同的名称。这可能导致 PEAP 客户端身份验证失败,因为当找到与服务器证书同名的根 CA 证书时,这些客户端会分不清这二者。此问题并非 Cisco 客户端独有。当然,如果您不打算使用 PEAP,此情况不适用。

  10. 单击 Next

  11. 数据库默认设置正确。

  12. 单击 Next

    在安装 CA 前,必须安装 IIS。

用于 Windows 证书设置的 ACS

创建服务器证书

完成这些步骤:

  1. 从 ACS 服务器浏览到 CA (http://IP_of_CA_server/certsrv/)。

  2. 选中 Request a certificate 框。

  3. 单击 Next

  4. 选择 Advanced request

  5. 单击 Next

  6. 选择 Submit a certificate request to this CA using a form

  7. 单击 Next

  8. 在命名(CN)方框中键入名称。

  9. 选择 Server Authentication Certificate 作为预期目的。

    注意: 如果使用企业 CA,请从第一个下拉列表中选择 Web Server

  10. 在 Key Option 部分下,选择以下参数以创建新模板:

    • CSP —微软Base Cryptographic供应者v1.0

    • 密钥大小— 1024

      注意: 使用大于 1024 的密钥大小创建的证书可能会对 HTTPS 起作用,但对 PEAP 不起作用。

      注意: Windows 2003 企业 CA 允许密钥大小大于 1024,但使用大于 1024 的密钥不适用于 PEAP。身份验证看上去可能已在 ACS 中通过,但是当客户端在尝试身份验证时便会挂起。

    • Keys as Exportable

      注意: Microsoft 已在 Windows 2003 企业 CA 发行版中更改 Web 服务器模板。此模板更改后,密钥不再可导出,该选项将变灰。没有随证书服务一起提供其他证书模板用于服务器身份验证或在下拉菜单中提供将密钥标记为可导出的功能。要创建一个可实现此功能的新模板,请参阅创建新证书模板部分。

    • Use Local Machine Store

    注意: 其他所有选项都应保留为默认值。

  11. 单击 submit

  12. 此时应该会收到以下消息:您的证书请求已收到。

创建新证书模板

完成这些步骤:

  1. 选择 Start > Run > certmpl.msc

  2. 右键单击 Web Server template

  3. 选择 Duplicate Template

  4. 为该模板命名,例如 ACS。

  5. 单击 Request Handling 选项卡。

  6. 选择 Allow private key to be exported

  7. 单击 CSPs 按钮。

  8. 选择 Microsoft Base Cryptographic Provider v1.0

  9. 单击 Ok

    注意: 其他所有选项都应保留为默认值。

  10. 单击 Apply

  11. 单击 Ok

  12. 打开 CA MMC 管理单元。

  13. 右键单击 Certificate Templates

  14. 选择新>发行的认证模板

  15. 选择您创建的新模板。

  16. 单击 Ok

  17. 重新启动 CA。

    新模板包含在 Certificate Template 下拉列表中。

批准来自 CA 的证书

完成这些步骤:

  1. 选择 Start > Programs > Administrative Tools > Certificate Authority

  2. 在左侧窗格中展开证书。

  3. 选择 Pending Requests

  4. 右键单击该证书。

  5. 选择所有任务

  6. 选择 Issue

将服务器证书下载到 ACS 服务器

完成这些步骤:

  1. 从 ACS 服务器浏览到 CA (http://IP_of_CA_server/certsrv/)。

  2. 选择 Check on a Pending Certificate

  3. 单击 Next

  4. 选择证书。

  5. 单击 Next

  6. 单击 Install

在 ACS 服务器上安装 CA 证书

注意: 如果将 ACS 和 CA 安装在同一服务器上,则不需要完成这些步骤。

    完成这些步骤:

  1. 从 ACS 服务器浏览到 CA (http://IP_of_CA_server/certsrv/)。

  2. 选择 Retrieve the CA certificate or certificate revocation list

  3. 单击 Next

  4. 选择 Base 64 encoded

  5. 单击下载 CA 证书

  6. 单击 Open(打开)。

  7. 单击 Install Certificate

  8. 单击 Next

  9. 选择 Place all certificates in the following store

  10. 单击浏览

  11. 选中显示物理存储区框。

  12. 在左侧窗格中,展开 Trusted root certification authorities

  13. 选择 Local Computer

  14. 单击 Ok

  15. 单击 Next

  16. 单击 完成

  17. 在指示导入成功的框中,单击 OK

设置 ACS 以使用服务器证书

完成这些步骤:

  1. 在 ACS 服务器上,选择 System Configuration

  2. 选择 ACS Certificate Setup

  3. 选择 Install ACS Certificate

  4. 选择 Use certificate from storage

  5. 键入 CN 名称(与创建服务器证书部分中步骤 8 所用的名称相同)。

  6. 单击 submit

  7. 在 ACS 服务器上,单击 System Configuration

  8. 选择 ACS Certificate Setup

  9. 选择 Edit Certificate Trust List

  10. 选中 CA 复选框。

  11. 单击 submit

ACS 设备证书设置

创建并安装自签名证书

注意: 仅当未使用外部 CA 时,才适用此部分。

完成这些步骤:

  1. 在 ACS 服务器上,单击 System Configuration

  2. 单击 ACS Certificate Setup

  3. 单击 Generate Self-signed Certificate

  4. 以 cn=XXXX 的格式键入证书主题。在本示例中,使用 cn=ACS33。有关自签名证书配置选项的详细信息,请参阅系统配置:身份验证和证书中的“身份验证配置选项”。

  5. 键入要在 Certificate file 框中创建的证书的完整路径和名称。例如,c:\acscerts\acs33.cer。

  6. 键入要在 Private key file 框中创建的私钥文件的完整路径和名称。例如,c:\acscerts\acs33.pvk。

  7. 输入私钥口令并确认它。

  8. 从 key length 下拉列表中选择 1024

    注意: 虽然 ACS 可以生成大于 1024 的密钥大小,但使用大于 1024 的密钥不适用于 PEAP。身份验证看上去可能已在 ACS 中通过,但当尝试身份验证时,客户端将挂起。

  9. 从 Digest to sign with 列表中,选择用于对密钥进行加密的哈希摘要。在本示例中,使用要用于在 SHA1 中签名的摘要。

  10. 选中 Install generated certificate

  11. 单击 submit

使用 CSR 创建服务器证书

完成这些步骤:

  1. 从 FTP 服务器浏览到 CA (http://IP_of_CA_server/certsrv/)。

  2. 选择 Request a certificate

  3. 单击 Next

  4. 选择 Advanced request

  5. 单击 Next

  6. 选择使用 base64 编码的 PKCS #10 文件提交一个证书请求,或使用 base64 编码的 PKCS #7 文件更新证书请求

  7. 将步骤 6 中的输出粘贴到 Base64 Encoded Certificate Request 字段。

  8. 单击 submit

  9. 单击下载 CA 证书

  10. 单击 Save

  11. 为证书命名。

  12. 将证书保存到 FTP 目录

将 CA 证书下载到 FTP 服务器

完成这些步骤:

  1. 从 FTP 服务器浏览到 CA (http://IP_of_CA_server/certsrv/)。

  2. 选择 Retrieve the CA certificate or certificate revocation list

  3. 单击 Next

  4. 选择 Base 64 encoded

  5. 单击下载 CA 证书

  6. 单击 Save

  7. 为证书命名。

  8. 将证书保存到 FTP 目录

在设备上安装 CA 证书

完成这些步骤:

  1. 选择 System Configuration > ACS Certificate Setup > ACS Certification Authority Setup

  2. 单击 Download CA certificate file

  3. 在 FTP Server 字段中,输入 FTP 服务器的 IP 地址或主机名

  4. 在 Login 字段中,输入 Cisco Secure ACS 可用于访问 FTP 服务器的有效用户名。

  5. 在 Password 字段中,输入用户口令。

  6. 在 Remote FTP Directory 字段中,输入从 FTP 服务器根目录到包含 CA 证书文件的目录的相对路径。

  7. 在 Remote FTP File Name 字段中,输入 CA 证书文件的名称。

  8. 单击 submit

  9. 验证字段中的文件名。

  10. 单击 submit

  11. 选择 System Configuration > Service Control 以重新启动 ACS 服务。

配置全局验证设置

完成这些步骤:

  1. 在 ACS 服务器上,单击 System Configuration

  2. 单击 Global Authentication Setup

对于 ACS v3.2 及更高版本,请完成以下步骤:

  1. 选中 Allow EAP-MSCHAPv2 if using Microsoft PEAP 框。

  2. 选中 Allow EAP-GTC if using Cisco PEAP 框。

  3. 选中 Allow MS-CHAP Version 1 Authentication 框。

  4. 选中 Allow MS-CHAP Version 2 Authentication 框。

  5. 单击 submit

对于 ACS v3.1 及更高版本,请完成以下步骤:

  1. 选中 Allow PEAP 框。

  2. 选中 Allow MS-CHAP Version 1 Authentication 框。

  3. 选中 Allow MS-CHAP Version 2 Authentication 框。

  4. 单击 submit

设置 ACS 以允许计算机身份验证

完成这些步骤:

  1. 选择 External User Databases > Database Configuration

  2. 单击 Windows Database

  3. 单击 Configure

  4. 选中 Permit PEAP machine authentication 框。

  5. 单击 submit

在 ACS 上设置 AP

要在 ACS 上设置 AP,请完成以下步骤:

  1. 在 ACS 服务器上,单击左侧的 Network Configuration

  2. 要添加AAA客户端可以,单击添加条目

  3. 在框中输入以下值:

    • AAA客户端IP地址- IP_of_your_AP

    • 关键字-组成密钥(请确定关键字符合AP共有的密钥)

    • 认证使用- RADIUS (Cisco Aironet)

  4. 单击 submit

  5. 重新启动 。

为 Dot1x 配置交换机

有关 dot1x 配置的信息,请参阅以下文档:

Dot1x 计时器配置

要将 dot1x 计时器配置为 RADIUS A/V 对,请完成以下步骤:

  • 配置 Session-Timeout RADIUS 属性 (Attribute [27]),该属性指定经过多长时间后再次进行身份验证。

  • 配置 Termination-Action RADIUS 属性 (Attribute [29]),该属性指定在再次进行身份验证时将执行的操作。当此属性值设置为默认值时,再次进行身份验证过程中,IEEE 802.1X 会话将结束且连接将中断。当此属性值设置为 RADIUS-Request 时,再次进行身份验证过程中,会话将不受影响。

注意: 属性 27 和 29 的值可以在 RADIUS (IETF) 部分下为每个组进行分配。将属性 27 设置为重新身份验证期间,而将属性 29 设置为 RADIUS-request。

在交换机上,执行此配置可使交换机接受来自 RADIUS 服务器的 RADIUS 属性值:

(config-if)#dot1x reauthentication
(config-if)#dot1x timeout reauth-period server

设置客户端以用于带计算机身份验证的 PEAP

加入域

完成这些步骤:

注意: 要完成此步骤,计算机必须具有以下任一种与 CA 的连接:

  • 有线连接

  • 802.1x 安全已禁用的无线连接

  1. 使用具有管理员权限的帐户登录到 Windows XP。

  2. 右键单击我的电脑

  3. 选择属性。

  4. 单击 Computer Name 选项卡。

  5. 单击 Change

  6. 在“计算机名”字段中输入主机名。

  7. 选择

  8. 请输入域名。

  9. 单击 Ok

  10. 此时将显示登录对话框。使用有权加入域的帐户登录。

  11. 在计算机成功加入域之后,重新启动计算机。计算机已成为该域的成员且安装有 CA 证书,并且将自动生成用于计算机身份验证的口令。

如果客户端在安装 CA 前加入域,或客户端上未安装 CA 证书,请完成以下步骤:

注意: 由于身份验证失败经常(并非始终)带有此类错误:Authentication failed during SSL handshake,故有必要完成以下步骤。

  1. 从 ACS 服务器浏览到 CA (http://IP_of_CA_server/certsrv/)。

  2. 选择 Retrieve the CA certificate or certificate revocation list

  3. 单击 Next

  4. 选择 Base 64 encoded

  5. 单击下载 CA 证书

  6. 单击 Open(打开)。

  7. 单击 Install Certificate

  8. 单击 Next

  9. 选择 Place all certificates in the following store

  10. 单击浏览

  11. 选中显示物理存储区框。

  12. 在左侧窗格中展开证书。

  13. 选择 Local Computer

  14. 单击 Ok

  15. 单击 Next

  16. 单击 完成

  17. 在指示导入成功的框中,单击 OK

设置 XP SP1 以用于带计算机身份验证的 PEAP

完成这些步骤:

  1. 选择开始 > 控制面板 > 网络连接

  2. 选择属性。

  3. 单击 Authentication 选项卡。

  4. 选中 enable IEEE 802.1x... 复选框。

  5. 对于 EAP 类型,选择 Protected EAP

  6. 单击 Properties

  7. 选中 Authenticate as computer.... 方框。

  8. 选择属性。

  9. 选中 CA 复选框

  10. 单击 Ok

  11. 单击 Ok

设置 Windows 2000 以用于 PEAP 计算机身份验证

完成这些步骤:

  1. 如果正在运行 SP3,请下载并安装 802.1x 热修补程序:http://support.microsoft.com/default.aspx?kbid=313664leavingcisco.com这对于 SP4 没有必要。

  2. 选择 Start > Settings > Control Panel > Network and Dial-up Connections

  3. 右键单击网络连接。

  4. 选择属性。

  5. 单击 Authentication 选项卡。

  6. 选择 Enable network access control using IEEE 802.1x

  7. 从 EAP 类型下拉列表中选择 Protected EAP (PEAP)

  8. 选中 Authenticate as computer... 复选框。

  9. 选择属性。

  10. 选中 CA 复选框

  11. 单击 Ok

  12. 单击 Ok

注意: 如果没有 Authentication 选项卡,则表示 802.1X 服务在禁用状态下安装。要解决此问题,必须启用服务列表中的 Wireless Configuration 服务。

注意: 如果 Authentication 选项卡存在但不可用,则表示网络适配器驱动程序无法正确支持 802.1x。有关受支持的驱动程序,请查看 802.1x 热修补程序页或供应商网站。

    要启用无线配置,请完成以下步骤:

  1. 用鼠标右键单击我的计算机

  2. 单击 Manage

  3. 单击 Services and Applications

  4. 单击 Services

  5. 将服务的启动值设置为 Automatic。

  6. 启动服务。

为 802.1x 和 ACS 执行动态 VLAN 分配

只有 IOS 12.1(12c)EA1(仅 EI)或 12.1(14)EA1 或 CatOS 7.2 及更高版本支持此选项

注意: 802.1x 旨在对有线网络上的主机而非实际用户进行身份验证。尝试在有线网络上通过 802.1x 对用户进行身份验证可能导致出现意外行为,例如直到 NIC 卡释放端口(计算机重新启动或重新通电),才会更改为用户分配的动态 VLAN 分配。

完成这些步骤:

  1. 选择 Interface Configuration > RADIUS (IETF)

  2. 选中 [064] Tunnel-Type for user/group 复选框。

  3. 选中 [065] Tunnel-Medium-Type for user/group 复选框。

  4. 选中 [081] Tunnel-Private-Group-ID for user/group 复选框。

  5. 单击 submit

  6. 选择 user/group setup

  7. 选中 [064] Tunnel-Type 复选框。

  8. 从 Tag 下拉列表中选择 1

  9. 从 Value 下拉列表中选择 VLAN

  10. 为所有后续 Tag 下拉列表选择 0

  11. 选中 [065] Tunnel-Medium-Type 复选框。

  12. 从 Tag 下拉列表中选择 1

  13. 从 Value 下拉列表中选择 802

  14. 为所有后续 Tag 下拉列表选择 0

  15. 选中 [081] Tunnel-Private-Group-ID 复选框。

  16. 从 Tag 下拉列表中选择 1

  17. 使用需要推送的 VLAN 的名称。这可以是默认名称,可通过发出 show vlan 命令进行查找。

  18. 为所有后续 Tag 下拉列表选择 0

  19. 单击 submit

验证

无法创建“CertificateAuthority.Request”对象错误消息

本部分所提供的信息可用于确认您的配置是否正常工作。

完成这些步骤:

  1. 选择开始 > 管理工具 > IIS

  2. 选择 Web Sites > Default Web Site

  3. 右键单击 CertSrv

  4. 选择属性。

  5. 在“虚拟目录”选项卡的“应用程序设置”部分中单击配置按钮。

  6. 单击 Options 选项卡。

  7. 选择 Enable session state

    注意: 其他所有选项都应保留为默认值。

  8. 单击 Ok

  9. 单击 Ok

  10. 重新启动 IIS。

如果您的浏览器锁定并显示“正在下载 ActiveX 控件”消息,请参阅 Microsoft 网站上的以下文章:在您尝试使用证书服务器时,Internet Explorer 停止响应并显示“正在下载 ActiveX 控件”消息leavingcisco.com

故障排除

问题

如果 ACS 主服务器在进行 Dot1x 身份验证过程中失效,交换机将无法访问 ACS 辅助服务器;出现此错误的原因是:"“Authen session timed out: Challenge not provided by client.”

解决方案

当交换机上未配置 Dead 计时器时,将出现此错误,这将导致交换机继续尝试已经失效的主服务器。这将导致身份验证失败。为了解决此问题,请在交换机上配置 Dead 计时器,以使交换机在等待所配置的时间(以秒为单位)或重试访问主服务器的次数(在此次数之后,考虑将主服务器声明为已失效或不可用)后,可以访问 ACS 辅助服务器。现在,通过处于活动状态的辅助服务器可以成功执行身份验证。可以在全局配置模式下使用以下命令配置 dead 时间:radius-server dead-criteria [time seconds [tries number]|tries number

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 64068