安全 : Cisco ASA 5500 系列自适应安全设备

PIX/ASA 7.x:CAC - Cisco VPN Client的智能卡验证

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


目录


简介

本文档提供了在 Cisco 自适应安全设备 (ASA) 上针对网络远程访问进行配置的示例,其中使用通用访问卡 (CAC) 进行身份验证。

范围本文用可适应安全设备管理器(ASDM), Cisco VPN Client和Microsoft Active Directory (AD) /Lightweight目录访问协议(LDAP)包括思科ASA的配置。

本指南中的配置使用 Microsoft AD/LDAP 服务器。本文档还论述了 OCSP 和 LDAP 属性映射等高级功能。

先决条件

要求

思科ASA、Cisco VPN Client, Microsoft AD/LDAP和公共密钥基础设施(PKI)基础知识是有利了解完整设置。熟悉 AD 组成员资格、用户属性以及 LDAP 对象,有助于关联证书属性与 AD/LDAP 对象之间的授权过程。

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • 该的Cisco ASA 5500系列自适应安全设备(ASA)运行软件版本7.2(2)

  • Cisco Adaptive Security Device Manager (ASDM)版本5.2(1)

  • Cisco VPN 客户端 4.x

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

规则

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

Cisco ASA 配置

本部分包括通过 ASDM 配置 Cisco ASA 的内容。其中包含通过 IPsec 连接部署 VPN 远程访问隧道的必要步骤。CAC证书使用验证,并且在证书的用户主体名称(UPN)属性在授权的活动目录填充。

部署注意事项

  • 本指南不包含基本配置(例如接口、DNS、NTP、路由、设备访问或 ASDM 访问等)。假定网络操作员已熟悉这些配置。

    有关详细信息,请参阅多功能安全设备

  • 某些部分是基本 VPN 访问所必需的配置。例如,可以通过 CAC 卡设置 VPN 隧道,而无需进行 OCSP 检查和 LDAP 映射检查。DoD 必须进行 OCSP 检查,但隧道无需配置 OCSP 也可以正常运行。

  • 所需的基本 ASA/PIX 映像为 7.2(2) 和 ASDM 5.2(1),但本指南使用的是 7.2.2.10 和 ASDM 5.2.2.54 的过渡版本。

  • 无需更改 LDAP 架构。

  • 有关更多策略实施的 LDAP 和动态访问策略映射示例,请参阅附录 A

  • 有关如何在 MS 中检查 LDAP 对象,请参阅附录 D

  • 有关 RFC 的列表,请参阅相关信息部分

认证,授权,计费(AAA)配置

用户验证与在他们普通的访问卡(CAC)的证书通过DISA Certificate Authority (CA)服务器或他们自己的组织CA服务器。证书必须对远程网络访问有效。除验证之外,用户必须也授权与Microsoft Active Directory或轻量级目录访问协议(LDAP)对象。国防部(DoD)要求使用授权的主体名称(UPN)属性,是证书的附属的替代方案名称(SAN)部分的一部分。UPN 或 EDI/PI 必须遵循 1234567890@mil 格式。以下配置显示了如何在 ASA 中通过 LDAP 服务器(用于授权)配置 AAA 服务器。有关更多通过 LDAP 对象映射进行的配置,请参阅附录 A

配置 LDAP 服务器

按照以下说明进行操作:

  1. 转至 Remote Access VPN > AAA Setup > AAA Server Group

  2. 在 AAA 服务器组表中,单击 Add

  3. 输入服务器组名称,并从 Protocol 单选按钮中选择 LDAP。请参阅图 1。

  4. 在所选组表的 Servers 中,单击 Add。确保所创建的服务器在此表中为突出显示状态。

  5. 在 Edit AAA Server 窗口中,请参阅图 2。

    注意: 如果已针对此类型的连接配置 LDAP/AD,请选择 Enable LDAP over SSL 选项。

    1. 选择 LDAP 所处的接口。本指南显示内部接口。

    2. 输入服务器的 IP 地址。

    3. 输入服务器端口。默认的 LDAP 端口是 389。

    4. 选择服务器类型。

    5. 输入基准 DN。请向 AD/LDAP 管理员咨询这些值。

      图 1:添加服务器组

      CAC-VPN_Client-1.gif

    6. 在 Scope 选项下,选择适当的选项。这取决于基准 DN。请向 AD/LDAP 管理员寻求帮助。

    7. 在 Naming Attribute 字段中,输入 userPrincipalName。这是 AD/LDAP 服务器中用于用户授权的属性。

    8. 在 Login DN 字段中,输入管理员 DN。

      注意: 用户需拥有管理权限才能查看/搜索 LDAP 结构(包括用户对象和组成员资格)。

    9. 在 Login Password 字段中,输入管理员的密码。

    10. 保留 LDAP 属性的默认设置 none

      图 2

      /image/gif/paws/107273/CAC-VPN_Client-2.gif

      在稍后的配置过程中,使用此选项添加其他 AD/LDAP 对象进行授权。

    11. 单击 Ok

  6. 单击 Ok

管理信任点

在 ASA 上安装证书需要执行两个步骤。首先,安装所需的 CA 证书(根证书机构和辅助证书机构)。其次,向特定的 CA 注册 ASA,并获取身份证书。DoD PKI 使用以下证书:Root CA2、Class 3 Root、注册 ASA 所使用的 CA## Intermediate、ASA ID 证书和 OCSP 证书。如果选择不使用 OCSP,则无需安装 OCSP 证书。

注意: 请与您的安全 POC 联系,以获取根证书以及有关如何为设备注册身份证书的说明。SSL 证书必须能够满足 ASA 进行远程访问。无需双重 SAN 证书。

注意: 客户端的本地计算机也必须安装 DoD CA 链。可以通过 Internet Explorer 在 Microsoft 证书存储区中查看这些证书。DoD 设计了一个批处理文件,能够自动将所有 CA 添加到计算机中。有关详细信息,请咨询 PKI POC。

注意: 进行用户身份验证通常只需要 DoD CA2、Class 3 Root(以及 ASA ID 和颁发 ASA 证书的 CA Intermediate)等 CA。所有当前 CA Intermediate 都位于 CA2 和 Class 3 Root 链之下,且只要添加了 CA2 和 Class 3 Root,这些 CA Intermediate 都受信任。

生成密钥

按照以下说明进行操作:

  1. 转至 Remote Access VPN > Certificate Management > Identity Certificate > Add

  2. 选择 Add a new id certificate,然后选择 Key Pair 选项旁的 New。

  3. 在 Add Key Pair 窗口中,输入密钥名称 (DoD-1024);单击单选按钮以添加新密钥。请参阅图 3。

    图 3

    /image/gif/paws/107273/CAC-VPN_Client-3.gif

  4. 选择密钥的大小。

  5. 保留 Usage 的默认设置 General Purpose

  6. 单击 Generate Now 按钮。

    注意: DoD Root CA 2 使用 2048 位密钥。必须生成第二个使用 2048 位密钥对的密钥才能使用此 CA。请完成上述步骤以添加第二个密钥。

安装 CA 信任点

按照以下说明进行操作:

  1. 转至 Configuration > Properties > Certificate > Trustpoint > Configuration。请参阅图 4。

  2. 在 Trustpoint Name 字段中输入名称。

  3. 在 Enrollment Settings 选项卡中,单击箭头并选择上一步中生成的密匙。选择 Root CA 2 信任点的 2048 位密匙。

  4. 在 Enrollment Mode 部分中,依次选择 Use Manual Enrollment、OK 和 Apply。

    图 4:安装根证书

    CAC-VPN_Client-57.gif

    注意: 请针对要添加的每个信任点重复步骤 1-4。没有用于可安装信任点数的硬编号,因为这完全取决于设备的内存。DoD PKI 要求为以下每一项都提供信任点:Root CA 2、Class 3 Root、CA## Intermediate 和 OCSP 服务器。如果不使用 OCSP,则不需要 OCSP 信任点。

安装根证书

按照以下说明进行操作:

  1. 转至 Configuration > Properties > Certificate > Authentication

  2. 在 Trustpoint Name 字段中,选择上一步中配置的信任点。

  3. 在 Certificate Text 部分中,使用文件导入证书或者剪切并粘贴 base64 编码文本(Ctrl C 和 Ctrl V)。

    注意: 导入过程仅接收使用此版本代码的 .txt 文件,但您从 CA 管理员处收到的文件为 .cer 格式。也可以将扩展名改为 .txt 并打开文件,然后将文本剪切并粘贴到文本框中。

    图 5:CA 的身份验证

    CAC-VPN_Client-58.gif

  4. 单击 Authenticate

注册 ASA 并安装身份证书

按照以下说明进行操作:

  1. 转至 Configuration > Properties > Certificate > Enrollment

  2. 选择一个信任点。单击单选按钮上的向下箭头,选择要向其注册 ASA 设备的中间信任点。

  3. 单击 Edit 按钮。

  4. 在 Edit Trustpoint Configuration 窗口中,单击 Certificate Parameters

  5. 在 Certificate Parameters 窗口中,为 FQDN 选择 Use none 选项,然后单击 Subject DN 上的 Edit。请参阅图 6。

    图 6:身份证书参数

    /image/gif/paws/107273/CAC-VPN_Client-7.gif

  6. 在 Certificate Subject DN 窗口中,输入设备的信息。有关示例,请参阅图 7。

  7. 单击 Ok

    图 7:编辑 DN

    CAC-VPN_Client-8.gif

    注意: 确保在添加主题 DN 时使用的设备主机名已在系统中配置。PKI POC 可以告诉您要求的必填字段。

  8. 在 Certificate Parameters 窗口中单击 OK,并在 Edit Trustpoint Configuration 窗口中单击 OK。

  9. 在 Enrollment 窗口中,单击 Enroll

  10. 剪切并粘贴 Enrollment Request 窗口中的信息;将其保存到记事本中,并单击 OK。需将此信息发送给 CA 管理员,以便为 ASA 请求身份证书。请参阅图 8。

    图 8:证书请求

    CAC-VPN_Client-10.gif

  11. 从 CA 管理员处收到证书后,转至 Configuration > Properties > Certificate > Import Certificate

  12. 在 Import Certificate 窗口中,选择 ASA 设备注册的信任点。

  13. 在证书文本中,导入文件或者剪切并粘贴 CA 管理员提供的 base64 或 DER 编码文件。请参阅图 9。

    图 9:导入证书

    CAC-VPN_Client-59.gif

    注意: 导入过程仅接收使用此版本代码的 .txt 文件,但您从 CA 管理员处收到的文件为 .cer 格式。也可以将扩展名改为 .txt 并打开文件,然后将文本剪切并粘贴到文本框中。

  14. 选择 Import

    注意: 单击 SAVE 按钮,以将配置保存在闪存中。

VPN 配置

如果您使用其他方法(如 DHCP),则此操作是可选的。

  1. 转至 Configuration > VPN > IP Address Management > IP Pools

  2. 单击 Add

  3. 在 Add IP Pool 窗口中,输入 IP 池的名称、起始 IP 地址和结束 IP 地址,并选择一个子网掩码。请参阅图 10。

    图 10:添加 IP 池

    CAC-VPN_Client-13.gif

  4. 单击 Ok

  5. 转至 Configuration > VPN > IP Address Management > Assignment

  6. 选择适当的 IP 地址分配方法。本指南使用内部地址池。请参阅图 11。

    图 11:IP 地址分配方法

    CAC-VPN_Client-12.gif

  7. 单击 Apply

创建隧道组和组策略

注意: 在创建隧道组和组策略之前,请转至 Configuration > VPN >General > VPN System Options,确保已选中 Enable inbound IPSEC 选项框。

组策略

注意: 如果不想创建新策略,可以使用默认的内置组策略。

  1. 转至 Configuration > VPN > General > Group Policy

  2. 单击 Add,然后选择 Internal Group Policy。

  3. 在添加内部组制度窗口,请输入名称对于组制度在命名文本框。请参阅图 12。

    图 12:添加内部组策略

    /image/gif/paws/107273/CAC-VPN_Client-60.gif

    1. 在 General 选项卡上的 Tunneling Protocols 选项中选择 IPsec

    2. 在 Servers 部分中,取消选中 Inherit 复选框,并输入 DNS 和 WINS 服务器的 IP 地址。输入 DHCP 范围(如适用)。

    3. 在 IPSec 选项卡上,保留所有选项的默认设置:继承。进行适当的更改(如有必要)。

    4. 在 Client configuration 选项卡上的 General Client Parameters 中,取消选中 Default Domain 中的 Inherit 复选框,并输入相应的域名。

    5. 在 Client Configuration 选项卡上的 General Client Parameters 中,取消选中 Address Pool 部分中的 Inherit 复选框,并添加上一步中创建的地址池。单击地址池的名称,然后单击 Add。如果使用其他 IP 地址分配方法,请保留默认设置 Inherit,并进行适当的更改。

    6. 将其他所有配置选项卡均保留为默认设置。

  4. 单击 Ok

隧道组界面和镜像设置

注意: 如果不想创建新组,可以使用默认的内置组。

  1. 转至 Configuration > VPN > General > Tunnel Group。请参阅图 13。

    图 13:添加隧道组

    CAC-VPN_Client-61.gif

    注意: 如果选择 none,ASDM 会自动将身份验证选项配置为 Local。在此配置结束时单击 OK,将会看到一条消息。

    ERROR: The authentication-server-group none command has been
    			 deprecated. 

    注意: 必须改为使用 ipsec-attributes 中的 isakmp ikev1-user-authentication none 命令。将身份验证模式设置为 none。请参阅图 14。

  2. 单击 Add 并选择 IPSec 进行远程访问。

  3. 在 Add Profile 窗口中,在 Name 文本框中输入隧道组的名称。

  4. 在 Add Tunnel Group 窗口中,选择 General 选项卡 > Basic 选项卡,并选择上一步中创建的组策略。

  5. 单击 Authentication 选项卡,并将所有选项均保留为默认设置。

  6. 在 Add Tunnel Group 窗口中,单击 IPSec 选项卡。

    图 14:IPSec 身份验证模式

    /image/gif/paws/107273/CAC-VPN_Client-62.gif

  7. 在 Trustpoint Name 选项中,选择上一部分中创建的信任点。

  8. 如上所述,将 Authentication Mode 设置为 none。请参阅图 14。

  9. 单击 Ok

  10. 单击 Authorization 选项卡。在 Authorization Server Group 中,选择之前步骤中创建的 LDAP 服务器组,并选中 Users must exist in authorization database to connect 框。

    图 15:UPN 配置

    CAC-VPN_Client-63.gif

  11. 在 Primary DN 字段中选择 UPN,在 Secondary DN 字段中选择 None。请参阅图 15。

  12. 单击 Ok

注意: 单击 Save 按钮,以将配置保存在闪存中。

配置 IKE/ISAKMP 参数

按照以下说明进行操作:

  1. 转至 Configuration > VPN > IKE > Global Parameters

  2. 在 Enable IKE 部分中,确保外部接口在 Enabled 列中显示为 YES。否则,将该外部接口突出显示,单击 Enable,并将其他所有选项均保留为默认设置。

  3. 转至 Configuration > IKE > Policies

  4. 单击 Add。在 Priority Number 中输入 10,为 Encryption 选择 3DES,为 Hash 选择 sha,为 Authentication 选择 rsa-sig,为 DH-group 选择 2;将 Lifetime 保留为默认值。有关示例,请参阅图 16。

  5. 单击 Ok

    图 16:添加 IKE/ISAKMP 策略

    CAC-VPN_Client-19.gif

    注意: 可以添加多个 IKE/ISAKMP 策略(如果需要)。

  6. 转至 Configuration > VPN > IKE > Certificate Group Matching > Policy。请参阅图 17。

  7. 在 Policy 部分中,取消选中除 Use the configured rules to match a certificate to a group 以外的所有复选框。

  8. 转至 Configuration > VPN > IKE > Certificate Group Matching > Rules

  9. 在顶部表上单击 Add

    图 17:证书组匹配策略

    /image/gif/paws/107273/CAC-VPN_Client-64.gif

  10. Add Certificate Matching Rule 窗口中,按照以下说明进行操作:

    1. 保留 Map 部分的现有映射 DefaultCertificateMap

    2. 保留规则优先级的默认值 10

    3. 在映射组下,单击向下单选按钮并选择之前部分中创建的隧道组。请参阅图 18。

    4. 单击 Ok

      图 18:添加证书匹配规则

      /image/gif/paws/107273/CAC-VPN_Client-21.gif

  11. 在底部表上单击 Add

  12. 在 Add Certificate Matching Rule Criterion 窗口中,按照以下说明进行操作:

    图 19:证书匹配规则标准

    /image/gif/paws/107273/CAC-VPN_Client-22.gif

    1. 保留 Field 列的默认值 Subject

    2. 保留 Component 列的默认值 Whole Field

    3. 将 Operator 列改为 Does Not Equal

    4. 在 Value 列中,输入两个双引号(“”)

    5. 单击 OK,然后单击 Apply。有关示例,请参阅图 19。

配置 IPSec 参数

按照以下说明进行操作:

  1. 转至 Configuration > VPN > IPSec > IPSec Rules

  2. 单击 Add

  3. 在 Create IPSec Rule 窗口中的 Basic 选项卡上,按照以下说明进行操作:

    1. 对于接口,选择 outside

    2. 对于策略类型,选择 dynamic

    3. 输入优先级数值。

    4. 选择一个转换集并单击 Add。本指南使用 ESP-AES-256-SHA。可以添加多个转换集(如果需要)。

  4. 单击 Traffic Selection 选项卡。

  5. 在 Interface and Action 部分中,为 Interface 选择 outside,为 Action 选择 Protect。

  6. 在 Source 部分中,选择 any

  7. 在 Destination 部分中,选择之前创建的池的 IP 地址或选择 any。

  8. 单击 Ok

  9. 单击 Apply

    图 20:添加 IPSec 规则

    CAC-VPN_Client-65.gif

配置 OCSP

配置 OCSP Responder 证书

OCSP 配置可能会根据 OCSP Responder 供应商的不同而有所不同。有关详细信息,请参阅供应商手册。

  1. 从 OCSP Responder 获取自生成的证书。

  2. 完成前述步骤,并为 OCSP 服务器安装证书。

    注意: 确保 revocation-check 设置为 none。OCSP 检查不需要在实际的 OCSP 服务器上进行。

配置 CA 以使用 OCSP

按照以下说明进行操作:

  1. 转至 Configuration > Properties > Certificate > Trustpoint > Configuration

  2. 选择一个 CA 进行配置,以便在表中突出显示时使用 OCSP。

  3. 单击 Edit

  4. 单击 Revocation Check 选项卡,在 Revocation Method 中突出显示 OCSP,然后单击 Add。在 Revocation Methods 部分中,添加 OCSP。请参阅图 21

  5. 如果要执行严格的 OCSP 检查,请确保 Consider Certificate valid…cannot be retrieved 未选中。

    图 21:OCSP撤销检查

    CAC-VPN_Client-66.gif

    注意: 配置/编辑所有使用 OCSP 进行撤销的 CA 服务器。

  6. 将以下选项卡中的所有选项均保留默认设置:CRL Retrieval Policy、CRL Retrieval Method 和 OCSP Rules。

  7. 单击 Advanced 选项卡。

    1. 取消选中 CRL 选项中的 Enforce Next CRL Update

    2. Disable nonce extension 保留为未选中状态。

    3. 将其他所有选项保留为选中状态。

  8. 单击 Ok

配置 OCSP 规则

注意: 在执行以下步骤之前,请确认证书组匹配策略已创建,且 OCSP Responder 已配置。

注意: 确保所有 CA 均通过 OCSP 规则进行配置,除了 CCSP 服务器本身。

注意: 在某些 OCSP 实施中,ASA 需要 DNS 和 PTR 记录。此项检查目的在于验证 ASA 是否来自 .mil 站点。

  1. 转至 Configuration > Properties > Certificate > Trustpoint > Configuration

  2. 选择一个信任点进行配置,以便在表中突出显示时使用 OCSP。

  3. 单击 Edit

  4. 单击 OCSP Rule 选项卡。

  5. 单击 Add

  6. 在 Add OCSP Rule 窗口中,按照以下说明进行操作:请参阅图 22。

    图 22:添加 OCSP 规则

    CAC-VPN_Client-25.gif

    1. 在 Certificate Map 选项中,选择在 IKE/ISAKMP parameters 部分创建的映射:DefaultCertificateMap

    2. 在 Certificate 选项中,选择 OCSP responder

    3. 在索引选择,请输入.10。

    4. 在 URL 选项中,输入 IP 地址或 OCSP Responder 的主机名。如果使用主机名,请确保该 DNS 服务器已在 ASA 上配置。)

    5. 单击 Ok

    6. 单击 Apply

Cisco VPN 客户端配置

本部分包括 Cisco VPN 客户端的配置。

假定:Cisco VPN 客户端和中间件应用程序已安装在主机 PC 中。Cisco VPN 客户端支持以下中间件应用程序:GemPLUS(GemSAFE Workstation 2.0 或更高版本 )、Activcard(Activcard Gold 版本 2.0.1 或更高版本 )和 Aladdin(eToken Runtime Environment (RTE) 版本 2.6 或更高版本 )。leavingcisco.com leavingcisco.com leavingcisco.com

启动 Cisco VPN 客户端

从主机 PC 上,单击“开始”>“所有程序”>“Cisco Systems VPN 客户端”>“VPN 客户端”

新建连接

按照以下说明进行操作:

  1. 单击 Connection Entries

  2. 单击 New,然后输入连接说明以及 VPN 服务器的 IP 地址或主机名。请参阅图 23。

  3. 在 Authentication 选项卡下,选择 Certificate Authentication

  4. 在 Name 选项中,选择您的签名证书并选中 Send CA Certificate Chain。(通常所选的默认证书有效,但如果发生故障,可以尝试使用其他证书。)

  5. 单击 Save

    图 23:新建 VPN 连接

    /image/gif/paws/107273/CAC-VPN_Client-26.gif

启动远程访问

按照以下说明进行操作:

  1. 双击上一步中创建的条目。

  2. 输入您的 pin 码。

  3. 单击 Ok

附录 A - LDAP 映射

在 ASA/PIX 版本 7.1(x) 中,引入了一种称为 LDAP 映射的功能。这项强大的功能提供 Cisco 属性与 LDAP 对象/属性之间的映射,因此无需更改 LDAP 架构。对于 CAC 身份验证实施,该功能可支持对远程访问连接实施其他策略。以下是 LDAP 映射的示例。请注意,您需要具备管理员权限才能在 AD/LDAP 服务器中进行更改。

情形 1:使用远程访问权限拨入实施 Active Directory - 允许/拒绝访问

此示例将 AD 属性 msNPAllowDailin 映射到 Cisco 属性 cVPN3000-Tunneling-Protocol。

  • AD 属性值:TRUE = 允许;FALSE = 拒绝

  • Cisco 属性值:1 = FALSE, 4 (IPSec) 或 20 (4 IPSec + 16 WebVPN) = TRUE

对于 ALLOW 条件,进行以下映射

  • TRUE = 20

对于 DENY 拨入条件,进行以下映射

  • FALSE = 1

注意: 请确保 TRUE 和 FALSE 均为大写形式。有关 Cisco 属性的详细信息,请参阅配置外部服务器以便进行安全设备用户授权

活动目录设置

按照以下说明进行操作:

  1. 在 Active Directory 服务器中,单击 Start > Run

  2. 在 Open 文本框中,键入 dsa.msc,然后单击 OK。这用来启动活动目录管理控制台。

  3. 在 Active Directory 管理控制台中,单击加号以展开 Active Directory Users and Computers。

  4. 单击加号以展开域名。

  5. 如果已为用户创建 OU,则展开 OU 以查看所有用户;如果已将所有用户分配到 Users 文件夹中,则展开该文件夹以查看所有用户。请参阅图 A1。

    图 A1:Active Directory 管理控制台

    /image/gif/paws/107273/CAC-VPN_Client-40.gif

  6. 双击要编辑的用户。

    单击用户属性页面中的 Dial-in 选项卡,并单击 Allow 或 Deny。请参阅图 A2。

    图 A2:用户属性

    CAC-VPN_Client-41.gif

  7. 单击 Ok

ASA 配置

按照以下说明进行操作:

  1. 在 ASDM 中,转至 Configuration > Properties > AAA > LDAP Attribute Map

  2. 单击 Add

  3. 在 Add LDAP Attribute Map 窗口中,按照以下说明进行操作:请参阅图 A3。

    图 A3:添加 LDAP 属性映射

    CAC-VPN_Client-42.gif

    1. 在 Name 文本框中输入名称。

    2. 在 Map Name 选项卡中,在 Customer Name 文本框中键入 msNPAllowDialin

    3. 在 Map Name 选项卡中,从 Cisco Name 的下拉选项中选择 Tunneling-Protocols

    4. 单击 Add

    5. 单击 Map Value 选项卡。

    6. 单击 Add

    7. 在 Add Attribute LDAP Map Value 窗口中,在 Customer Name 文本框中键入 TRUE,并在 Cisco Value 文本框中键入 20。

    8. 单击 Add

    9. 在 Customer Name 文本框中键入 FALSE,并在 Cisco Value 文本框中键入 1。请参阅图 A4。

      /image/gif/paws/107273/CAC-VPN_Client-43.gif

    10. 单击 Ok

    11. 单击 Ok

    12. 单击 Apply

    13. 配置如图 A5 所示。

      图 A5:LDAP 属性映射配置

      /image/gif/paws/107273/CAC-VPN_Client-67.gif

  4. 转至 Configuration > Properties > AAA Setup > AAA Server Groups。请参阅图 A6。

    图 A6:AAA 服务器组

    CAC-VPN_Client-68.gif

  5. 单击要编辑的服务器组。在 Servers of the Selected Group 部分中,选择服务器 IP 地址或主机名,然后单击 Edit。

  6. 在 Edit AAA Server 窗口的 LDAP Attribute Map 文本框中,单击下拉按钮并从中选择已创建的 LDAP 属性映射。请参阅图 A7。

    图 A7:添加 LDAP 属性映射

    CAC-VPN_Client-46.gif

  7. 单击 Ok

注意: 测试期间开启 LDAP 调试,以便验证 LDAP 绑定和属性映射是否正常运行。有关故障排除命令,请参阅附录 C

方案 2:使用组成员资格实施 Active Directory 以允许/拒绝访问

此示例使用 LDAP 属性 memberOf 映射到 Cisco 隧道协议属性,以将组成员资格设为条件。为使此策略生效,必须具备以下条件:

  • 对于 ALLOW 条件,使用现有组或为 ASA VPN 用户创建新组。

  • 对于 DENY 条件,使用现有组或为非 ASA 用户创建新组。

  • 确保在 LDAP 查看器中检查该组的 DN 是否正确。请参阅附录 D。如果 DN 错误,映射将无法正常运行。

注意: 请注意,在此版本中,ASA 只能读取 memberOf 属性的第一个字符串。确保新创建的组位于列表顶部。或者,在名称前插入一个特殊字符,因为 AD 会首先查看特殊字符。为避免出现此警告,请使用 8.x 软件版本的 DAP 查看多个组。

注意: 确保用户属于 DENY 组,或属于至少一个其他组,以便 memberOf 始终发送回 ASA。最好能指定 FALSE 拒绝条件,尽管这并不是必需的操作。如果现有组名称或新组名称包含空格,请按照以下方式输入属性:“CN=Backup Operators,CN=Builtin,DC=ggsgseclab,DC=org”。

映射

  • AD 属性值

    • memberOf CN=ASAUsers,CN=Users,DC=ggsgseclab,DC=org

    • memberOf CN=TelnetClients, Cn=users, DC=labrat, Dc=com

  • Cisco 属性值:1 = FALSE, 20 = TRUE

对于 ALLOW 条件,进行以下映射

  • memberOf CN=ASAUsers,CN=Users,DC=ggsgseclab,DC=org= 20

对于 DENY 条件,进行以下映射

  • memberOf CN=TelnetClients,CN=Users,DC=ggsgseclab,DC=org = 1

注意: 在以后的版本中,将会有一个用于允许和拒绝连接的 Cisco 属性。有关 Cisco 属性的详细信息,请参阅配置外部服务器以便进行安全设备用户授权

活动目录设置

按照以下说明进行操作:

  1. 在 Active Directory 服务器中,单击 Start > Run

  2. 在 Open 文本框中,键入 dsa.msc,然后单击 OK。这用来启动活动目录管理控制台。

  3. 在 Active Directory 管理控制台中,单击加号以展开 Active Directory Users and Computers。请参阅图 A8。

    图 A8:活动目录组

    CAC-VPN_Client-47.gif

  4. 单击加号以展开域名。

  5. 右键单击 Users 文件夹并选择 New > Group

  6. 输入组名,例如:ASAUsers。

  7. 单击 Ok

  8. 单击 Users 文件夹,然后双击刚创建的组。

  9. 单击 Members 选项卡,然后单击 Add。

  10. 键入要添加的用户的名称,然后单击 OK

ASA 配置

按照以下说明进行操作:

  1. 在 ASDM 中,转至 Configuration > Properties > AAA > LDAP Attribute Map

  2. 单击 Add

  3. 在 Add LDAP Attribute Map 窗口中,按照以下说明进行操作:请参阅图 A9。

    1. 在 Name 文本框中输入名称。

    2. 在 Map Name 选项卡中,在 Customer Name 文本框中键入 memberOf

    3. 在 Map Name 选项卡中,从 Cisco Name 的下拉选项中选择 Tunneling-Protocols

    4. 单击 Add

    5. 单击 Map Value 选项卡。

    6. 单击 Add

    7. 在 Add Attribute LDAP Map Value 窗口中,在 Customer Name 文本框中键入 CN=ASAUsers,CN=Users,DC=ggsgseclab,DC=org,并在 Cisco Value 文本框中键入 20。

    8. 单击 Add

    9. 在 Customer Name 文本框中键入 CN=TelnetClients,CN=Users,DC=ggsgseclab,DC=org,并在 Cisco Value 文本框中键入 1。请参阅图 A9。

    10. 单击 Ok

    11. 单击 Ok

    12. 单击 Apply

    13. 配置如图 A9 所示。

      图 A9:LDAP 属性映射

      CAC-VPN_Client-55.gif

  4. 转至 Configuration > Properties > AAA Setup > AAA Server Groups

  5. 单击要编辑的服务器组。在 Servers of the Selected Group 部分中,选择服务器 IP 地址或主机名,然后单击 Edit。

    /image/gif/paws/107273/CAC-VPN_Client-49.gif

  6. 在 Edit AAA Server 窗口的 LDAP Attribute Map 文本框中,单击下拉按钮并从中选择已创建的 LDAP 属性映射

  7. 单击 Ok

注意: 测试期间开启 LDAP 调试,以便验证 LDAP 绑定和属性映射是否正常运行。有关故障排除命令,请参阅附录 C

附录 B - ASA CLI 配置

ASA 5510
ciscoasa#show running-config
ASA Version 7.2(2)10
!
hostname lab-asa
domain-name lab.army.mil
names
dns-guard
!
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 172.18.120.224 255.255.255.128
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 10.10.10.1 255.255.255.0
!
boot system disk0:/asa722-10-k8.bin
ftp mode passive
dns server-group DefaultDNS
domain-name lab.army.mil
--------------ACL's-------------------------------------------------
access-list out extended permit ip any any
--------------------------------------------------------------------
---------------VPN Pool---------------------------------------------
ip local pool CAC-USERS 192.168.1.1-192.168.1.254 mask 255.255.255.0
--------------------------------------------------------------------
icmp unreachable rate-limit 1 burst-size 1
icmp permit any outside
asdm image disk0:/asdm522-54.bin
no asdm history enable
arp timeout 14400
access-group out in interface outside
route outside 0.0.0.0 0.0.0.0 172.18.120.129 1
!
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
--------------------------LDAP Maps ---------------------------
ldap attribute-map memberOf
map-name memberOf cVPN3000-Tunneling-Protocols
map-value memberOf CN=ASAUsers,CN=Users,DC=ggsgseclab,DC=org 20
map-value memberOf CN=TelnetClinets,CN=Users,DC=ggsgseclab,DC=org 1
ldap attribute-map msNPAllowDialin
map-name msNPAllowDialin cVPN3000-Tunneling-Protocols
map-value msNPAllowDialin FALSE 1
map-value msNPAllowDialin TRUE 20
--------------------------------------------------------------------
--------------------LDAP Server-------------------------------------
aaa-server AD-LDAP protocol ldap
aaa-server AD-LDAP (outside) host 172.18.120.160
ldap-base-dn CN=Users,DC=ggsgseclab,DC=org
ldap-scope onelevel
ldap-naming-attribute userPrincipalName
ldap-login-password *
ldap-login-dn CN=Administrator,CN=Users,DC=ggsgseclab,DC=org
-----------------------VPN Policy------------------------------------
group-policy CAC-USERS internal
group-policy CAC-USERS attributes
vpn-tunnel-protocol IPSec
address-pools value CAC-USERS
--------------------------------------------------------------------
!
---------------------IPsec------------------------------------------
crypto ipsec transform-set ESP-DES-SHA esp-des esp-sha-hmac
crypto ipsec transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto ipsec transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec transform-set ESP-DES-MD5 esp-des esp-md5-hmac
crypto ipsec transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac
crypto ipsec transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto dynamic-map outside_dyn_map 1 set transform-set 
   ESP-DES-SHA ESP-3DES-MD5 ESP-AES-192-SHA ESP-AES-256-SHA
crypto map outside_map 65535 ipsec-isakmp dynamic outside_dyn_map
crypto map outside_map interface outside
--------------------------------------------------------------------
----------------CA Trustpoints--------------------------------------
crypto ca trustpoint CA-13-JITC
revocation-check ocsp
enrollment terminal
fqdn none
subject-name CN=lab-asa,OU=PKI,OU=DoD,O=U.S. Government,C=US
keypair DoD-1024
match certificate DefaultCertificateMap override 
   ocsp trustpoint DISA-OCSP 10 url http://ocsp.disa.mil
crl configure
no enforcenextupdate
crypto ca trustpoint Class3Root
revocation-check ocsp
enrollment terminal
keypair DoD-1024
match certificate DefaultCertificateMap override 
   ocsp trustpoint DISA-OCSP 10 url http://ocsp.disa.mil
crl configure
no enforcenextupdate
crypto ca trustpoint DoD-CA2
revocation-check ocsp
enrollment terminal
keypair DoD-2048
match certificate DefaultCertificateMap override 
   ocsp trustpoint DISA-OCSP 10 url http://ocsp.disa.mil
crl configure
no enforcenextupdate
crypto ca trustpoint DISA-OCSP
enrollment terminal
keypair DoD-1024
crl configure
no enforcenextupdate
--------------------------------------------------------------------
-------------------Certificate Map-------------------------------
crypto ca certificate map DefaultCertificateMap 10
subject-name ne ""
--------------------CA Certificates (Partial Cert is Shown)------------
crypto ca certificate chain CA-13-JITC
certificate 311d
308203fd 30820366 a0030201 02020231 1d300d06 092a8648 86f70d01 01050500
305c310b 30090603 55040613 02555331 18301606 0355040a 130f552e 532e2047
6f766572 6e6d656e 74310c30 0a060355 040b1303 446f4431 0c300a06 0355040b
certificate ca 37
3082044c 30820334 a0030201 02020137 300d0609 2a864886 f70d0101 05050030
60310b30 09060355 04061302 55533118 30160603 55040a13 0f552e53 2e20476f
crypto ca certificate chain Class3Root
certificate ca 04
30820267 308201d0 a0030201 02020104 300d0609 2a864886 f70d0101 05050030
61310b30 09060355 04061302 55533118 30160603 55040a13 0f552e53 2e20476f
crypto ca certificate chain DoD-CA2
certificate ca 05
30820370 30820258 a0030201 02020105 300d0609 2a864886 f70d0101 05050030
5b310b30 09060355 04061302 55533118 30160603 55040a13 0f552e53 2e20476f
c3ad60a4
crypto ca certificate chain DISA-OCSP
certificate ca 00
30820219 30820182 a0030201 02020100 300d0609 2a864886 f70d0101 05050030
3a310b30 09060355 04061302 7573310d 300b0603 55040a13 0441726d 79310d30
-------------------------ISAKMP-------------------------------------
crypto isakmp enable outside
crypto isakmp policy 10
authentication rsa-sig
encryption 3des
hash sha
group 2
lifetime 86400
crypto isakmp nat-traversal 20
-----------------------VPN Group/Tunnel Policy--------------------
tunnel-group CAC-USERS type ipsec-ra
tunnel-group CAC-USERS general-attributes
authorization-server-group AD-LDAP
default-group-policy CAC-USERS
authorization-required
authorization-dn-attributes UPN
tunnel-group CAC-USERS ipsec-attributes
trust-point CA-13-JITC
isakmp ikev1-user-authentication none
tunnel-group-map enable rules
no tunnel-group-map enable ou
no tunnel-group-map enable ike-id
no tunnel-group-map enable peer-ip
tunnel-group-map DefaultCertificateMap 10 CAC-USERS
no vpn-addr-assign aaa
no vpn-addr-assign dhcp
telnet timeout 5
ssh 0.0.0.0 0.0.0.0 outside
ssh timeout 5
console timeout 0
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map global_policy
class inspection_default
inspect ftp
inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
!
service-policy global_policy global
prompt hostname context

附录 C - 故障排除

AAA 和 LDAP 故障排除

  • debug ldap 255 – 显示 LDAP 交换

  • debug aaa common 10 – 显示 AAA 交换

示例 1:属性映射正确的允许的连接

以下示例显示了使用附录 A 中所示方案 2 的成功连接中,debug ldap 和 debug aaa common 的输出。

注意: 隧道组配置为仅允许 IPSec 连接。LDAP 中的成员分组/分配映射到数值 4,即 IPSec。此映射使其在 ALLOW 条件下进行。对于 DENY 条件,PPTP 的该值为 1。

图 C1:debug LDAP 和 debug aaa common 输出 – 正确的映射
AAA API: In aaa_open
AAA session opened: handle = 39
AAA API: In aaa_process_async
aaa_process_async: sending AAA_MSG_PROCESS
AAA task: aaa_process_msg(1a87a64) received message type 0
AAA FSM: In AAA_StartAAATransaction
AAA FSM: In AAA_InitTransaction

Initiating authorization query (Svr Grp: AD-LDAP)
------------------------------------------------
AAA FSM: In AAA_BindServer
AAA_BindServer: Using server: 172.18.120.160
AAA FSM: In AAA_SendMsg
User: 1234567890@mil
Pasw: 1234567890@mil
Resp:
[78] Session Start
[78] New request Session, context 0x26f1c44, reqType = 0
[78] Fiber started
[78] Creating LDAP context with uri=ldap:// 172.18.120.160:389
[78] Binding as administrator
[78] Performing Simple authentication for Administrator to 172.18.120.160
[78] Connect to LDAP server: ldap:// 172.18.120.160, status = Successful
[78] LDAP Search:
     Base DN = [CN=Users,DC=ggsgseclab,DC=org]
     Filter = [userPrincipalName=1234567890@mil]
     Scope = [SUBTREE]
[78] Retrieved Attributes:
[78] objectClass: value = top
[78] objectClass: value = person
[78] objectClass: value = organizationalPerson
[78] objectClass: value = user
[78] cn: value = Ethan Hunt
[78] sn: value = Hunt
[78] userCertificate: value = 0..50........../........60...*.
H........0@1.0.....&...,d....com1.0.....&...,d...
[78] userCertificate: value = 0..'0........../..t.....50...*.
H........0@1.0.....&...,d....com1.0.....&...,d...
[78] givenName: value = Ethan
[78] distinguishedName: value = CN=Ethan Hunt,OU=MIL,DC=labrat,DC=com
[78] instanceType: value = 4
[78] whenCreated: value = 20060613151033.0Z
[78] whenChanged: value = 20060622185924.0Z
[78] displayName: value = Ethan Hunt
[78] uSNCreated: value = 14050 
[78] memberOf: value = CN=ASAUsers,CN=Users,DC=ggsgseclab,DC=org
[78] mapped to cVPN3000-Tunneling-Protocols: value = 20
[78] uSNChanged: value = 14855
[78] name: value = Ethan Hunt
[78] objectGUID: value = ..9...NJ..GU..z.
[78] userAccountControl: value = 66048
[78] badPwdCount: value = 0
[78] codePage: value = 0
[78] countryCode: value = 0
[78] badPasswordTime: value = 127954717631875000
[78] lastLogoff: value = 0
[78] lastLogon: value = 127954849209218750
[78] pwdLastSet: value = 127946850340781250
[78] primaryGroupID: value = 513
[78] objectSid: value = ................q......mY...
[78] accountExpires: value = 9223372036854775807
[78] logonCount: value = 25
[78] sAMAccountName: value = 1234567890
[78] sAMAccountType: value = 805306368
[78] userPrincipalName: value = 1234567890@mil
[78] objectCategory: value =
[78] mail: value = Ethan.Hunt@labrat.com
callback_aaa_task: status = 1, msg =
AAA FSM: In aaa_backend_callback
aaa_backend_callback: Handle = 39, pAcb = 2ae115c
[78] Fiber exit Tx=147 bytes Rx=4821 bytes, status=1
[78] Session End
AAA task: aaa_process_msg(1a87a64) received message type 1
AAA FSM: In AAA_ProcSvrResp
Back End response:
------------------
Authorization Status: 1 (ACCEPT)
AAA FSM: In AAA_NextFunction
AAA_NextFunction: i_fsm_state = IFSM_AUTHORIZE, auth_status = ACCEPT
AAA_NextFunction: authen svr = <none>, author svr = AD-LDAP, 
user pol = , tunn pol = CAC-USERS
AAA_NextFunction: New i_fsm_state = IFSM_TUNN_GRP_POLICY,
AAA FSM: In AAA_InitTransaction
aaai_policy_name_to_server_id(CAC-USERS)
Got server ID 0 for group policy DB
Initiating tunnel group policy lookup (Svr Grp: GROUP_POLICY_DB)
------------------------------------------------
AAA FSM: In AAA_BindServer
AAA_BindServer: Using server: <Internal Server>
AAA FSM: In AAA_SendMsg
User: CAC-USER
Pasw:
Resp:
grp_policy_ioctl(12f1b20, 114698, 1a870b4)
grp_policy_ioctl: Looking up CAC-USERS
callback_aaa_task: status = 1, msg =
AAA FSM: In aaa_backend_callback
aaa_backend_callback: Handle = 39, pAcb = 2ae115c
AAA task: aaa_process_msg(1a87a64) received message type 1
AAA FSM: In AAA_ProcSvrResp
Back End response:
------------------
Tunnel Group Policy Status: 1 (ACCEPT)
AAA FSM: In AAA_NextFunction
AAA_NextFunction: i_fsm_state = IFSM_TUNN_GRP_POLICY, auth_status = ACCEPT
AAA_NextFunction: authen svr = <none>, author svr = AD-LDAP, 
user pol = , tunn pol = CAC-USERS
AAA_NextFunction: New i_fsm_state = IFSM_DONE,
AAA FSM: In AAA_ProcessFinal
Checking time simultaneous login restriction for user 1234567890@mil
AAA FSM: In AAA_Callback
user attributes: 1 Tunnelling-Protocol(4107) 20 20
user policy attributes:
None
tunnel policy attributes:
1 Primary-DNS(4101) 4 IP: 10.0.10.100
2 Secondary-DNS(4102) 4 IP: 0.0.0.0
3 Tunnelling-Protocol(4107) 4 4
4 Default-Domain-Name(4124) 10 "ggsgseclab.org"
5 List of address pools to assign addresses from(4313) 10 "CAC-USERS"
Auth Status = ACCEPT
AAA API: In aaa_close
AAA task: aaa_process_msg(1a87a64) received message type 3
In aaai_close_session (39)
AAA API: In aaa_send_acct_start
AAA API: In aaa_send_acct_stop

CAC-Test#

示例 2:Cisco 属性映射配置错误的允许连接

以下示例显示了使用附录 A 中所示方案 2 的允许连接中,debug ldap 和 debug aaa common 的输出。

请注意,这两个属性的映射所匹配的值为同一不正确的值。

图 C2:debug LDAP 和 debug aaa common 输出 – 不正确的映射
AAA API: In aaa_open
AAA session opened: handle = 41
AAA API: In aaa_process_async
aaa_process_async: sending AAA_MSG_PROCESS
AAA task: aaa_process_msg(1a87a64) received message type 0
AAA FSM: In AAA_StartAAATransaction
AAA FSM: In AAA_InitTransaction

Initiating authorization query (Svr Grp: AD-LDAP)
------------------------------------------------
AAA FSM: In AAA_BindServer
AAA_BindServer: Using server: 172.18.120.160
AAA FSM: In AAA_SendMsg
User: 1234567890@mil
Pasw: 1234567890@mil
Resp:

[82] Session Start
[82] New request Session, context 0x26f1c44, reqType = 0
[82] Fiber started
[82] Creating LDAP context with uri=ldap://172.18.120.160:389
[82] Binding as administrator
[82] Performing Simple authentication for Administrator to
172.18.120.160

[82] Connect to LDAP server: ldap:// 172.18.120.160:389, status =
Successful
[82] LDAP Search:
   Base DN = [CN=Users,DC=ggsgseclab,DC=org]
   Filter = [userPrincipalName=1234567890@mil]
   Scope = [SUBTREE]

[82] Retrieved Attributes:
[82] objectClass: value = top
[82] objectClass: value = person
[82] objectClass: value = organizationalPerson
[82] objectClass: value = user
[82] cn: value = Ethan Hunt
[82] sn: value = Hunt
[82] userCertificate: value =
0..50........../........60...*.H........0@1.0.....&...,d....com1.0.....
&...,d...
[82] userCertificate: value =
0..'0........../..t.....50...*.H........0@1.0.....&...,d....com1.0.....
&...,d...
[82] givenName: value = Ethan
[82] distinguishedName: value = CN=Ethan
Hunt,OU=MIL,DC=labrat,DC=com
[82] instanceType: value = 4
[82] whenCreated: value = 20060613151033.0Z
[82] whenChanged: value = 20060622185924.0Z
[82] displayName: value = Ethan Hunt
[82] uSNCreated: value = 14050
[82] memberOf: value = CN=ASAUsers,CN=Users,DC=ggsgseclab,DC=org
[82] mapped to cVPN3000-Tunneling-Protocols: value =
CN=ASAUsers,CN=Users,DC=ggsgseclab,DC=org
[82] uSNChanged: value = 14855
[82] name: value = Ethan Hunt
[82] objectGUID: value = ..9...NJ..GU..z.
[82] userAccountControl: value = 66048
[82] badPwdCount: value = 0
[82] codePage: value = 0
[82] countryCode: value = 0
[82] badPasswordTime: value = 127954717631875000
[82] lastLogoff: value = 0
[82] lastLogon: value = 127954849209218750
[82] pwdLastSet: value = 127946850340781250
[82] primaryGroupID: value = 513
[82] objectSid: value = ................q......mY...
[82] accountExpires: value = 9223372036854775807
[82] logonCount: value = 25
[82] sAMAccountName: value = 1234567890
[82] sAMAccountType: value = 805306368
[82] userPrincipalName: value = 1234567890@mil
[82] objectCategory: value =
CN=Person,CN=Schema,CN=Configuration,DC=ggsgseclab,DC=org
[82] mail: value = Ethan.Hunt@labrat.com
callback_aaa_task: status = 1, msg =
AAA FSM: In aaa_backend_callback
aaa_backend_callback: Handle = 41, pAcb = 2ae115c
[82] Fiber exit Tx=147 bytes Rx=4821 bytes, status=1
[82] Session End
AAA task: aaa_process_msg(1a87a64) received message type 1
AAA FSM: In AAA_ProcSvrResp
Back End response:
------------------
Authorization Status: 1 (ACCEPT)
AAA FSM: In AAA_NextFunction
AAA_NextFunction: i_fsm_state = IFSM_AUTHORIZE, auth_status = ACCEPT
AAA_NextFunction: authen svr = <none>, author svr = AD-LDAP, user pol =
, tunn pol = CAC-USERS
AAA_NextFunction: New i_fsm_state = IFSM_TUNN_GRP_POLICY,
AAA FSM: In AAA_InitTransaction
aaai_policy_name_to_server_id(USAFE)
Got server ID 0 for group policy DB
Initiating tunnel group policy lookup (Svr Grp: GROUP_POLICY_DB)
------------------------------------------------
AAA FSM: In AAA_BindServer
AAA_BindServer: Using server: <Internal Server>
AAA FSM: In AAA_SendMsg
User: CAC-USERS
Pasw:
Resp:
grp_policy_ioctl(12f1b20, 114698, 1a870b4)
grp_policy_ioctl: Looking up CAC-USERS
callback_aaa_task: status = 1, msg =
AAA FSM: In aaa_backend_callback
aaa_backend_callback: Handle = 41, pAcb = 2ae115c
AAA task: aaa_process_msg(1a87a64) received message type 1
AAA FSM: In AAA_ProcSvrResp
Back End response:
------------------
Tunnel Group Policy Status: 1 (ACCEPT)
AAA FSM: In AAA_NextFunction
AAA_NextFunction: i_fsm_state = IFSM_TUNN_GRP_POLICY, auth_status =
ACCEPT
AAA_NextFunction: authen svr = <none>, author svr = AD-LDAP, user pol =
, tunn pol = CAC-USERS
AAA_NextFunction: New i_fsm_state = IFSM_DONE,
AAA FSM: In AAA_ProcessFinal
Checking time simultaneous login restriction for user 1234567890@mil
AAA FSM: In AAA_Callback
user attributes:
1 Tunnelling-Protocol(4107) 20 0
user policy attributes:
None
tunnel policy attributes:
1 Primary-DNS(4101) 4 IP: 10.0.10.100
2 Secondary-DNS(4102) 4 IP: 0.0.0.0
3 Tunnelling-Protocol(4107) 4 4
4 Default-Domain-Name(4124) 10 "ggsgseclab.org"
5 List of address pools to assign addresses from(4313) 10
"CAC-USERS"
Auth Status = ACCEPT
AAA API: In aaa_close
AAA task: aaa_process_msg(1a87a64) received message type 3
In aaai_close_session (41)
AAA API: In aaa_send_acct_start
AAA API: In aaa_send_acct_stop

故障排除认证中心/OCSP

  • debug crypto ca 3

  • 在配置模式下,记录 class ca 控制台(或缓冲区)调试

以下示例显示了通过 OCSP Responder 进行的成功证书验证以及失败的证书组匹配策略。

图 C3 显示了具有经过验证的证书和有效的证书组匹配策略的调试输出。

图 C4 显示了配置错误的证书组匹配策略的调试输出。

图 C5 显示了具有已撤销证书的用户的调试输出。

图 C3:OCSP 调试 - 成功的证书验证
CRYPTO_PKI: Attempting to find tunnel group for cert with serial number:
 2FB5FC74000000000035,
 subject name: cn=Ethan Hunt,ou=MIL,dc=ggsgseclab,dc=com, issuer_name: 
cn=ggsgseclab,dc=ggsgseclab,dc=org.
CRYPTO_PKI: Processing map rules for DefaultCertificateMap.
CRYPTO_PKI: Processing map DefaultCertificateMap sequence 10...
CRYPTO_PKI: Match of subject-name field to map PASSED. 
Peer cert field: = cn=Ethan Hunt,ou=MIL,dc=ggsgseclab,dc=org, 
map rule: subject-name ne "".
CRYPTO_PKI: Peer cert has been authorized by map: DefaultCertificateMap 
sequence: 10.
Tunnel Group Match on map DefaultCertificateMap sequence # 10.
Group name is CAC-USERS
CRYPTO_PKI: Checking to see if an identical cert is
already in the database...
CRYPTO_PKI: looking for cert in handle=2467668, digest=
CRYPTO_PKI: Cert record not found, returning E_NOT_FOUND
CRYPTO_PKI: Cert not found in database.
CRYPTO_PKI: Looking for suitable trustpoints...
CRYPTO_PKI: Found a suitable authenticated trustpoint trustpoint0.
CRYPTO_PKI: Certificate validation: Successful, status: 0. Attempting 
to retrieve revocation status if necessary
CRYPTO_PKI: Attempting to find OCSP override for peer cert: 
serial number: 2FB5FC74000000000035, subject name: 
cn=Ethan Hunt,ou=MIL,dc=ggsgseclab,dc=org, issuer_name: cn=ggsgseclab,
dc=ggsgseclab,dc=org.
CRYPTO_PKI: Processing map rules for DefaultCertificateMap.
CRYPTO_PKI: Processing map DefaultCertificateMap sequence 10...
CRYPTO_PKI: Match of subject-name field to map PASSED. 
Peer cert field: = cn=Ethan Hunt,ou=MIL,dc=ggsgseclab,
dc=org, map rule: subject-name ne "".
CRYPTO_PKI: Peer cert has been authorized by map: DefaultCertificateMap
 sequence: 10.
CRYPTO_PKI: Found OCSP override match. Override URL: http://ocsp.disa.mil,
 Override trustpoint: OCSP
CRYPTO_PKI: crypto_pki_get_cert_record_by_subject()
CRYPTO_PKI: Found a subject match CRYPTO_PKI:Certificate validated.
serial number: 2FB5FC74000000000035, subject name: cn=Ethan Hunt,ou=MIL,
dc=ggsgseclab,dc=org.
CRYPTO_PKI: Certificate validated
CRYPTO_PKI: looking for cert in handle=2467668, digest=
CRYPTO_PKI: looking for cert in handle=2467668, digest=
CRYPTO_PKI: looking for cert in handle=2467668, digest=
CRYPTO_PKI: crypto_pki_get_cert_record_by_subject()
CRYPTO_PKI: Found a subject match
CRYPTO_PKI: looking for cert in handle=2467668, digest=
CRYPTO_PKI: looking for cert in handle=2467668, digest=

图 C4:失败的证书组匹配策略的输出

图 C4:失败的证书组匹配策略的输出
CRYPTO_PKI: Attempting to find tunnel group for cert with serial number: 
2FB5FC74000000000035, subject name: cn=Ethan Hunt,ou=MIL,dc=ggsgseclab,
dc=org, issuer_name: cn=ggsgseclab,dc=ggsgseclab,dc=org.
CRYPTO_PKI: Processing map rules for DefaultCertificateMap.
CRYPTO_PKI: Processing map DefaultCertificateMap sequence 10...
CRYPTO_PKI: Match of subject-name field to map FAILED. 
Peer cert field: = cn=Ethan Hunt,ou=MIL,dc=ggsgseclab,dc=org, 
map rule: subject-name eq "".
CRYPTO_PKI: Peer cert could not be authorized with map: DefaultCertificateMap.
No Tunnel Group Match for peer certificate.
Unable to locate tunnel group map

图 C5:已撤销证书的输出
n %PI=X-3-7E17t02h7a Certinf icaHtue cnhta,in faioled 
uvalidation=. CMertifiIcLa,ted ccha=inl ais eibtrhaer tin,valdid cor =noct 
oamuthori,zed.
map rule: subject-name ne "".
CRYPTO_PKI: Peer cert has been authorized by map: DefaultCertificateMap 
sequence: 10.
Tunnel Group Match on map DefaultCertificateMap sequence # 10.
Group name is CAC-USERS
CRYPTO_PKI: Checking to see if an identical cert is
already in the database...
CRYPTO_PKI: looking for cert in handle=2467668, digest=
CRYPTO_PKI: Cert record not found, returning E_NOT_FOUND
CRYPTO_PKI: Cert not found in database.
CRYPTO_PKI: Looking for suitable trustpoints...
CRYPTO_PKI: Found a suitable authenticated trustpoint trustpoint0.
CRYPTO_PKI: Certificate validation: Successful, status: 0. 
Attempting to retrieve revocation status if necessary
CRYPTO_PKI: Attempting to find OCSP override for peer cert:
 serial number: 2FB5FC74000000000035, subject name: cn=Ethan Hunt,
ou=MIL,dc=ggsgseclab,dc=org, issuer_name: cn=ggsgseclab,dc=ggsgseclab,dc=org.
CRYPTO_PKI: Processing map rules for DefaultCertificateMap.
CRYPTO_PKI: Processing map DefaultCertificateMap sequence 10...
CRYPTO_PKI: Match of subject-name field to map PASSED. 
Peer cert field: = cn=Ethan Hunt,ou=MIL,dc=ggsgseclab,dc=org, map rule: 
subject-name ne "".
CRYPTO_PKI: Peer cert has been authorized by map: DefaultCertificateMap
 sequence: 10.
CRYPTO_PKI: Found OCSP override match. Override URL: http://ocsp.disa.mil, 
Override trustpoint: OCSP
CRYPTO_PKI: crypto_pki_get_cert_record_by_subject()
CRYPTO_PKI: Found a subject match
ERROR: Certificate validation failed, Certificate is revoked, 
serial number: 2FB5FC74000000000035, subject name: cn=Ethan Hunt,ou=MIL,
dc=ggsgseclab,dc=org
CRYPTO_PKI: Certificate not validated

IPSEC 故障排除

  • debug crypto isakmp – 显示 IKE/ISAKMP 协商阶段

  • debug crypto ipsec – 显示 IPSec 协商阶段

  • debug crypto engine – 显示 IPSec 消息

  • debug crypto ca messages – 显示 PKI 消息

  • debug crypto ca transactions – 显示 PKI 事务

附录 D - 在 MS 中验证 LDAP 对象

在 Microsoft 服务器 2003 CD 中,可安装其他工具来查看 LDAP 结构以及 LDAP 对象/属性。要安装这些工具,请选择 CD 中的 Support 目录,然后选择 Tools。安装 SUPTOOLS.MSI

LDAP 查看器

按照以下说明进行操作:

  1. 安装完成后,转至 Start > Run

  2. 键入 ldp,然后单击 OK。这将启动 LDAP 查看器。

  3. 单击 Connection > Connect

  4. 输入服务器名称,然后单击 OK

  5. 单击 Connection > Bind

  6. 输入用户名和密码。

    注意: 需要拥有管理员权限。

  7. 单击 Ok

  8. 查看 LDAP 对象。请参阅图 D1。

    图 D1:LDAP 查看器

    CAC-VPN_Client-56.gif

活动目录服务接口编辑器

  • 在 Active Directory 服务器中,转至 Start > Run

  • 键入 adsiedit.msc。这将启动编辑器。

  • 右键单击某个对象,然后单击 Properties

此工具将显示特定对象的所有属性。请参阅图 D2。

图 D2:ADSI编辑

CAC-VPN_Client-54.gif

相关的思科支持社区讨论

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


相关信息


Document ID: 107273