安全 : Cisco PIX 500 系列安全设备

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

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


目录


简介

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

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

本指南中的配置使用 Microsoft AD/LDAP 服务器。本文也包括高级特性,例如OCSP, LDAP属性地图,并且动态访问修正(DAP)。

先决条件

要求

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

使用的组件

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

  • 以后Cisco 5500系列可适应的安全工具(ASA)该运行软件版本8.0(x)和

  • ASA的8.x Cisco Adaptive Security Device Manager (ASDM) 6.x版

  • Cisco VPN 客户端 4.x

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

规则

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

Cisco ASA 配置

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

部署注意事项

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

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

  • 某些部分是基本 VPN 访问所必需的配置。例如, VPN通道可以设置CAC卡,不用OCSP检查、LDAP映射或者动态访问策略(DAP)检查。DoD 必须进行 OCSP 检查,但隧道无需配置 OCSP 也可以正常运行。

  • 要求的ASA镜像是至少8.0.2和ASDM 6.0.2。

  • 无需更改 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服务器组”表里,请单击添加

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

  4. 在“在选定组的服务器”表里,单击添加。确保所创建的服务器在此表中为突出显示状态。

  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-Anyconnect-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/107237/cac-Anyconnect-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/107237/cac-Anyconnect-3.gif

  4. 选择密钥的大小。

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

  6. 单击 Generate Now 按钮。

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

安装根 CA 证书

按照以下说明进行操作:

  1. 远程访问VPN > Certificate Management > CA证书>Add

  2. 选择 Install from File,并浏览到相应证书。

  3. 选择 Install Certificate

    图 4:安装根证书

    cac-Anyconnect-4.gif

  4. 此消息出现。请参阅图 5。

    图 5

    /image/gif/paws/107237/cac-Anyconnect-5.gif

    注意: 针对要安装的每个证书重复步骤 1 到 3。DoD PKI 要求为下列每一项提供证书:根CA 2,等级3根、CA##中间、ASA ID和OCSP服务器。如果不使用 OCSP,则不需要 OCSP 证书。

    图 6:安装根证书

    cac-Anyconnect-6.gif

注册 ASA 并安装身份证书

按照以下说明进行操作:

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

  2. 选择添加一新的身份证书

  3. 选择 DoD-1024 密钥对。请参阅Figure7。

    图 7:身份证书参数

    /image/gif/paws/107237/cac-Anyconnect-7.gif

  4. 去到证书主题DN方框并且选择选择属性

  5. 在 Certificate Subject DN 窗口中,输入设备的信息。参见图8关于示例。

    图 8:编辑 DN

    cac-Anyconnect-8.gif

  6. 单击 Ok

    注意: 确保在添加主题 DN 时使用的设备主机名已在系统中配置。PKI POC 会告知您哪些字段必须填写。

  7. 选择 Add certificate

  8. 单击“浏览”选择您要保存请求的目录。请参阅图 9。

    图 9 证书请求

    cac-Anyconnect-9.gif

  9. 打开有Wordpad的文件;复制请求对正确文档记录,并且发送对您的PKI POC。请参阅图 10。

    图 10:注册请求

    cac-Anyconnect-10.gif

  10. 一旦接收从CA管理员的证书,请去远程访问VPN > Certificate Management > ID证书>安装。请参阅图 11。

    图 11:导入身份证书

    cac-Anyconnect-11.gif

  11. 在安装证书窗口,请浏览对ID证书并且选择安装证书。参见图12关于示例。

    图 12:安装身份证书

    cac-Anyconnect-12.gif

    注意: 推荐导出ID证书信任点保存已签发证书和密钥对。这样,当出现 RMA 或硬件故障时,ASA 管理员可将证书和密钥对导入到新的 ASA 中。欲知更多信息,参考导出和导入信任点

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

VPN 配置

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

  1. 远程访问VPN >网络(客户端)访问>地址分配>地址池

  2. 单击 Add

  3. 在添加IP池窗口,请输入,开始和结束IP地址的IP池的名称,并且选择子网掩码。请参阅图 13。

    图 13:添加 IP 池

    cac-Anyconnect-13.gif

  4. 单击 Ok

  5. 远程访问VPN >网络(客户端)访问>地址分配>分配策略

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

    图 14:IP 地址分配方法

    cac-Anyconnect-14.gif

  7. 单击 Apply

创建隧道组和组策略

注意: 在您创建隧道组和组策略前,请去远程访问VPN >网络(客户端)访问> IPSec连接配置文件并且确保允许方框被检查在Enable (event)接口的外部接口IPSec访问的

组策略

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

  1. 远程访问VPN >网络(客户端)访问>组策略

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

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

    图 15:添加内部组策略

    /image/gif/paws/107237/cac-Anyconnect-15.gif

    1. 在常规选项卡,除非使用其他协议例如SSL,请选择在隧道协议选项的IPsec

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

    3. 在服务器部分,请非选定在默认域的继承复选框并且输入适当的域名。

    4. 在常规选项卡,请非选定在地址池部分的继承复选框并且添加在上一步创建的地址池。如果使用IP地址分配另一个方法,请留下此集继承和做适当的变动。

    5. 其他Configuration选项被留下在默认设置。

  4. 单击 Ok

隧道组界面和镜像设置

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

  1. 远程访问VPN >网络(客户端)访问> IPSec连接配置文件>Add。请参阅图 16。

    图 16:添加连接配置文件

    cac-Anyconnect-16.gif

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

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

  4. 在添加Profile窗口,请选择为对等点身份验证以前安装的ID证书。

  5. 留给验证设置为本地

  6. 在Profile窗口,请选择在上一步创建的组策略。

    注意: ASDM自动地配置本地作为验证的选项,即使使用证书。为了解决此,请设置IKE验证模式禁用。如果不禁用此,用户名和密码提示符出现,当您设法连接。参见图17。

    图 17:添加连接配置文件

    cac-Anyconnect-17.gif

  7. 点击Advanced选项>授权。在授权服务器组中,请选择在更加早期的步骤创建的LDAP服务器组并且检查方框用户必须存在授权数据库连接。在授权设置,请选择UPN作为属性使用。请参阅图 18。

    图 18:UPN 配置

    cac-Anyconnect-18.gif

  8. 单击 Ok

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

配置 IKE/ISAKMP 参数

按照以下说明进行操作:

  1. 远程访问VPN >网络(客户端)访问>Advanced > IPSec

  2. 保证外部接口有在IKE参数选项卡启用的IKE。否则,请突出显示外部接口,点击Enable (event),并且把一切别的东西留在默认。

  3. IKE策略

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

  5. 单击 Ok

    图 19:添加 IKE/ISAKMP 策略

    cac-Anyconnect-19.gif

    注意: 若需要您能添加多项IKE/ISAKMP策略。

  6. 远程访问VPN >网络(客户端)访问>Advanced > IPSec >证书连接配置文件地图>Policy。请参阅图 20。

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

  8. 远程访问VPN >网络(客户端)访问>Advanced > IPSec >证书连接配置文件映射>规则

  9. 在顶部表上单击 Add

    图 20:证书组匹配策略

    /image/gif/paws/107237/cac-Anyconnect-20.gif

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

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

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

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

    4. 单击 Ok

      图 21:添加证书匹配规则

      /image/gif/paws/107237/cac-Anyconnect-21.gif

  11. 在底部表上单击 Add

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

    图 22:证书匹配规则标准

    /image/gif/paws/107237/cac-Anyconnect-22.gif

    1. 保留 Field 列的默认值 Subject

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

    3. 将 Operator 列改为 Does Not Equal

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

    5. 单击 OK,然后单击 Apply。参见图22关于示例。

配置 IPSec 参数

按照以下说明进行操作:

  1. 远程访问VPN >网络(客户端)访问>Advanced > IPSec >加密映射

  2. 单击 Add

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

    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. 在目的地部分,请选择其中任一

  8. 单击 Ok

  9. 单击 Apply

    图 23:添加 IPSec 规则

    cac-Anyconnect-23.gif

配置 OCSP

配置 OCSP Responder 证书

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

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

  2. 遵从以前被提及的步骤并且安装OSCP服务器的一证书。

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

配置 CA 以使用 OCSP

按照以下说明进行操作:

  1. 远程访问VPN>证书管理> CA证书

  2. 当您在表里时,突出显示它请选择CA配置使用OCSP。

  3. 单击 Edit

  4. 保证撤销的检查证书被检查。

  5. 在 Revocation Methods 部分中,添加 OCSP。请参阅图 24。

    图 24:OCSP撤销检查

    cac-Anyconnect-24.gif

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

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

配置 OCSP 规则

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

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

  1. 远程访问VPN>证书管理> CA证书2。

  2. 为了选择CA配置,使用OCSP突出显示它在表里。

  3. 单击 Edit

  4. 单击 OCSP Rule 选项卡。

  5. 单击 Add

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

    图 25:添加 OCSP 规则

    cac-Anyconnect-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工作站2.0或以上leavingcisco.com ), Activcard (Activcard金版本2.0.1或以上leavingcisco.com )和Aladdin (eToken运行时的环境(RTE)版本2.6或以上leavingcisco.com )。

启动 Cisco VPN 客户端

从主机PC:点击Start > Programs > Cisco Systems VPN Client > VPN客户端

新建连接

按照以下说明进行操作:

  1. 单击 Connection Entries

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

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

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

  5. 单击 Save

    图 26:新建 VPN 连接

    /image/gif/paws/107237/cac-Anyconnect-26.gif

启动远程访问

按照以下说明进行操作:

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

  2. 输入您的 pin 码。

  3. 单击 Ok

附录 A - LDAP 映射和 DAP

开始在ASA/PIX版本7.1(x),呼叫LDAP映射的功能介绍。这项强大的功能提供 Cisco 属性与 LDAP 对象/属性之间的映射,因此无需更改 LDAP 架构。对于 CAC 身份验证实施,该功能可支持对远程访问连接实施其他策略。以下是 LDAP 映射的示例。请注意,您需要具备管理员权限才能在 AD/LDAP 服务器中进行更改。在ASA 8.x软件方面,动态访问策略(DAP)功能介绍。DAP能与CAC一道工作查看多个AD组以及推送策略, ACL,等等

情形 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/107237/cac-Anyconnect-40.gif

  6. 双击要编辑的用户。

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

    图 A2:用户属性

    cac-Anyconnect-41.gif

  7. 单击 Ok

ASA 配置

按照以下说明进行操作:

  1. 在ASDM,去设置的远程访问VPN >AAA > LDAP属性地图

  2. 单击 Add

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

    图 A3:添加 LDAP 属性映射

    cac-Anyconnect-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/107237/cac-Anyconnect-43.gif

    10. 单击 Ok

    11. 单击 Ok

    12. 单击 Apply

    13. 配置看似类似图A5。

      图 A5:LDAP 属性映射配置

      /image/gif/paws/107237/cac-Anyconnect-44.gif

  4. 远程访问VPN >AAA设置>AAA服务器组。请参阅图 A6。

    图 A6:AAA 服务器组

    cac-Anyconnect-45.gif

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

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

    图 A7:添加 LDAP 属性映射

    cac-Anyconnect-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”。

注意: DAP 允许 ASA 查看 memberOf 属性中的多个组。请参阅 DAP 部分。

映射

  • 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 属性的详细信息,请参阅配置外部服务器以便进行安全设备用户授权

活动目录设置

按照以下说明进行操作:

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

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

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

    图 A8:活动目录组

    cac-Anyconnect-47.gif

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

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

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

  7. 单击 Ok

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

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

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

ASA 配置

按照以下说明进行操作:

  1. 在ASDM,去设置的远程访问VPN >AAA > LDAP属性地图

  2. 单击 Add

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

    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。请参阅图 A4。

    10. 单击 Ok

    11. 单击 Ok

    12. 单击 Apply

    13. 配置如图 A9 所示。

      图 A9:LDAP 属性映射

      cac-Anyconnect-48.gif

  4. 远程访问VPN >AAA设置>AAA服务器组

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

    /image/gif/paws/107237/cac-Anyconnect-49.gif

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

  7. 单击 Ok

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

情形 3:多个 memberOf 属性的动态访问策略

此示例使用DAP查看多个memberOf属性到根据活动目录组成员的允许。在 8.x 版本之前,ASA 仅读取第一个 memberOf 属性。使用8.x, ASA能查看所有memberOf属性。

  • 请使用一现存组或创建一新的组(或多个组) ASA VPN用户的ALLOW情况的。

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

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

ASA 配置

按照以下说明进行操作:

  1. 在ASDM,请去远程访问VPN >网络(客户端)访问>动态访问策略

  2. 单击 Add

  3. 在添加动态访问策略,请遵从这些说明:

    1. 输入在命名文本框b.的一名称。

    2. 在优先级部分,输入1 (或编号极大比0)。

    3. 在 Selection Criteria 中,单击 Add

    4. 在 Add AAA Attribute 中,选择 LDAP

    5. 在 attribute ID 部分中,输入 memberOf

    6. 在值部分,请选择"=,"并且输入AD组名。重复您要参考的每组的此步骤。请参阅图 A10。

      图A10 :AAA属性地图

      cac-Anyconnect-50.gif

    7. 选择 OK

    8. 在访问策略属性选项,请选择继续。请参阅图 A11。

      图A11 :添加动态策略

      cac-Anyconnect-51.gif

  4. 在ASDM,请去远程访问VPN >网络(客户端)访问>动态访问策略

  5. 选择默认访问策略,并且选择编辑

  6. 必须设置默认操作终止。请参阅图 A12。

    图A12 :编辑动态策略

    cac-Anyconnect-52.gif

  7. 单击 Ok

注意: 如果Terminate没有选择,用户在所有组中允许,即使不,因为默认它继续

附录 B - ASA CLI 配置

ASA 5510
ciscoasa#show running-config
: Saved
:
ASA Version 8.0(2)
!
hostname asa80
domain-name army.mil
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address x.x.x.x 255.255.255.128
!
interface GigabitEthernet0/1
nameif inside
security-level 100
no ip address
!
boot system disk0:/asa802-k8.bin
ftp mode passive
dns server-group DefaultDNS
domain-name army.mil
!
--------------ACL's-------------------------------------------------
access-list out extended permit ip any any
--------------------------------------------------------------------
pager lines 24
logging console debugging
mtu outside 1500
!
---------------VPN Pool---------------------------------------------
ip local pool CAC-USERS 192.168.1.1-192.168.1.254 mask 255.255.255.0
--------------------------------------------------------------------
!
no failover
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-602.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 & DAP---------------------------
ldap attribute-map memberOf
map-name memberOf Tunneling-Protocols
March 11, 2008 ASA – CAC Authentication for AnyConnect VPN Access
Company Confidential. A printed copy of this document is considered uncontrolled.
49
map-value memberOf CN=_ASAUsers,CN=Users,DC=ggsgseclab,DC=org 20
ldap attribute-map msNPAllowDialin
map-name msNPAllowDialin Tunneling-Protocols
map-value msNPAllowDialin FALSE 1
map-value msNPAllowDialin TRUE 20
dynamic-access-policy-record CAC-USERS
description "Multi-Group Membership Check"
priority 1
dynamic-access-policy-record DfltAccessPolicy
action terminate
--------------------------------------------------------------------
!
--------------------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
--------------------------------------------------------------------
!
aaa authentication http console LOCAL
http server enable 445
http 0.0.0.0 0.0.0.0 outside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
!
---------------------IPsec------------------------------------------
crypto ipsec transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac
crypto ipsec transform-set ESP-DES-SHA esp-des esp-sha-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-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 1 set transform-set ESP-AES-128-SHA
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set transform-set ESP-AES-128
crypto map outside_map interface outside
--------------------------------------------------------------------
!
----------------CA Trustpoints--------------------------------------
crypto ca trustpoint ASDM_TrustPoint0
revocation-check ocsp
enrollment terminal
keypair DoD-1024
match certificate DefaultCertificateMap override ocsp trustpoint
ASDM_TrustPoint5 10 url http://ocsp.disa.mil
crl configure
crypto ca trustpoint ASDM_TrustPoint1
revocation-check ocsp
enrollment terminal
fqdn asa80
subject-name CN=asa80,OU=PKI,OU=DoD,O=U.S. Government,C=US
keypair DoD-1024
match certificate DefaultCertificateMap override ocsp trustpoint
ASDM_TrustPoint5 10 url http://ocsp.disa.mil
no client-types
crl configure
crypto ca trustpoint ASDM_TrustPoint2
revocation-check ocsp
enrollment terminal
keypair DoD-2048
match certificate DefaultCertificateMap override ocsp trustpoint
ASDM_TrustPoint5 10 url http://ocsp.disa.mil
no client-types
crl configure
crypto ca trustpoint ASDM_TrustPoint3
revocation-check ocsp none
enrollment terminal
crl configure
!
-------------------Certificate Map-------------------------------
crypto ca certificate map DefaultCertificateMap 10
subject-name ne ""
--------------------CA Certificates (Partial Cert is Shown)------------
crypto ca certificate chain ASDM_TrustPoint0
certificate ca 37
3082044c 30820334 a0030201 02020137 300d0609 2a864886 f70d0101
05050030
60310b30 09060355 04061302 55533118 30160603 55040a13 0f552e53
2e20476f
7665726e 6d656e74 310c300a 06035504 0b130344 6f44310c 300a0603
55040b13
03504b49 311b3019 06035504 03131244 6f44204a 49544320 526f6f74
crypto ca certificate chain ASDM_TrustPoint1
certificate 319e
30820411 3082037a a0030201 02020231 9e300d06 092a8648 86f70d01
01050500
305c310b 30090603 55040613 02555331 18301606 0355040a 130f552e
532e2047
6f766572 6e6d656e 74310c30 0a060355 040b1303 446f4431 0c300a06
0355040b
crypto ca certificate chain ASDM_TrustPoint2
certificate ca 37
3082044c 30820334 a0030201 02020137 300d0609 2a864886 f70d0101
05050030
60310b30 09060355 04061302 55533118 30160603 55040a13 0f552e53
2e20476f
7665726e 6d656e74 310c300a 06035504 0b130344 6f44310c 300a0603
55040b13
f766e045 f15ddb43 9549d1e9 a0ea6814 b64bcece 089e1b6e 1be959a5
6fc20a76
crypto ca certificate chain ASDM_TrustPoint3
certificate ca 05
30820370 30820258 a0030201 02020105 300d0609 2a864886 f70d0101
05050030
5b310b30 09060355 04061302 55533118 30160603 55040a13 0f552e53
2e20476f
7665726e 6d656e74 310c300a 06035504 0b130344 6f44310c 300a0603
55040b13
03504b49 31163014 06035504 03130d44 6f442052 6f6f7420 43412032
301e170d
30343132 31333135 30303130 5a170d32 39313230 35313530 3031305a
305b310b
30090603 55040613 02555331 18301606 0355040a 130f552e 532e2047
6f766572
6e6d656e 74310c30 0a060355 040b1303 446f4431 0c300a06 0355040b
1303504b
49311630 14060355 0403130d 446f4420 526f6f74 20434120 32308201
crypto ca certificate chain ASDM_TrustPoint4
certificate ca 04
30820267 308201d0 a0030201 02020104 300d0609 2a864886 f70d0101
05050030
61310b30 09060355 04061302 55533118 30160603 55040a13 0f552e53
2e20476f
7665726e 6d656e74 310c300a 06035504 0b130344 6f44310c 300a0603
55040b13
03504b49 311c301a 06035504 03131344 6f442043 4c415353 20332052
6f6f7420
!
!
-------------------------ISAKMP-------------------------------------
crypto isakmp enable outside
crypto isakmp policy 10
authentication rsa-sig
encryption 3des
hash sha
group 2
lifetime 86400
--------------------------------------------------------------------
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
parameters
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
!
service-policy global_policy global
!
-----------------------VPN Group/Tunnel Policy--------------------
group-policy CAC-USERS internal
group-policy CAC-USERS attributes
vpn-tunnel-protocol IPSec
default-domain none
address-pools value CAC-USERS
tunnel-group CAC-USERS type remote-access
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 ASDM_TrustPoint1
isakmp ikev1-user-authentication none
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
--------------------------------------------------------------------
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

DAP 故障排除

  • 调试dap错误–显示DAP错误

  • 调试dap trace –显示DAP功能trace

示例 1:使用 DAP 允许的连接

下面的示例显示调试dap错误调试dap trace输出在一个成功的连接内与在附录A 3显示的方案注意多个memberOf属性。用户能属于_ASAUsers或组的Vpnuser或者ANY一从属在ASA配置。

图 C3:debug DAP
# debug dap errors
debug dap errors enabled at level 1
# debug dap trace
debug dap trace enabled at level 1
#
The DAP policy contains the following attributes for user:
1241879298@mil
-----------------------------------------------------------------------
---
1: action = continue
DAP_TRACE: DAP_open: C8EEFA10
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.1 = top
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.2 = person
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.3 =
organizationalPerson
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.4 = user
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.cn = 1241879298
DAP_TRACE: Username: 1241879298@mil,
aaa.ldap.physicalDeliveryOfficeName = NETADMIN
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.givenName = 1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.distinguishedName =
CN=1241879298,CN=Users,DC=ggsgseclab,DC=org
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.instanceType = 4
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.whenCreated =
20070626163734.0Z
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.whenChanged =
20070718151143.0Z
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.displayName = 1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.uSNCreated = 33691
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.memberOf.1 = VPNUsers
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.memberOf.2 = _ASAUsers
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.uSNChanged = 53274
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.department = NETADMIN
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.name = 1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectGUID =
....+..F.."5....
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.userAccountControl =
328192
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.badPwdCount = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.codePage = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.countryCode = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.badPasswordTime = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.lastLogoff = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.lastLogon = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.pwdLastSet =
128273494546718750
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.primaryGroupID = 513
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.userParameters = m:
d.
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectSid = ..
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.accountExpires =
9223372036854775807
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.logonCount = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.sAMAccountName =
1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.sAMAccountType =
805306368
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.userPrincipalName =
1241879298@mil
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectCategory =
CN=Person,CN=Schema,CN=Configuration,DC=ggsgseclab,DC=org
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.msNPAllowDialin = TRUE
DAP_TRACE: Username: 1241879298@mil, aaa.cisco.username =
1241879298@mil
DAP_TRACE: Username: 1241879298@mil, aaa.cisco.tunnelgroup = CAC-USERS
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["1"] = "top";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["2"] =
"person";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["3"] =
"organizationalPerson";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["4"] =
"user";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["cn"] = "1241879298";
DAP_TRACE:
dap_add_to_lua_tree:aaa["ldap"]["physicalDeliveryOfficeName"] =
"NETADMIN";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["givenName"] = "1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["distinguishedName"] =
"CN=1241879298,CN=Users,DC=ggsgseclab,DC=org";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["instanceType"] = "4";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["whenCreated"] =
"20070626163734.0Z";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["whenChanged"] =
"20070718151143.0Z";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["displayName"] =
"1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["uSNCreated"] = "33691";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["memberOf"]["1"] =
"VPNUsers";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["memberOf"]["2"] =
"_ASAUsers";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["uSNChanged"] = "53274";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["department"] = "NETADMIN";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["name"] = "1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectGUID"] contains
binary data
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["userAccountControl"] =
"328192";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["badPwdCount"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["codePage"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["countryCode"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["badPasswordTime"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["lastLogoff"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["lastLogon"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["pwdLastSet"] =
"128273494546718750";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["primaryGroupID"] = "513";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["userParameters"] contains
binary data
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectSid"] contains binary
data
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["accountExpires"] =
"9223372036854775807";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["logonCount"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["sAMAccountName"] =
"1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["sAMAccountType"] =
"805306368";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["userPrincipalName"] =
"1241879298@mil";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectCategory"] =
"CN=Person,CN=Schema,CN=Configuration,DC=ggsgseclab,DC=org";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["msNPAllowDialin"] = "TRUE";
DAP_TRACE: dap_add_to_lua_tree:aaa["cisco"]["username"] =
"1241879298@mil";
DAP_TRACE: dap_add_to_lua_tree:aaa["cisco"]["tunnelgroup"] = "CACUSERS";
DAP_TRACE: dap_add_to_lua_tree:endpoint["application"]["clienttype"] =
"IPSec";
DAP_TRACE: Username: 1241879298@mil, Selected DAPs: CAC-USERS
DAP_TRACE: dap_request: memory usage = 33%
DAP_TRACE: dap_process_selected_daps: selected 1 records
DAP_TRACE: Username: 1241879298@mil, dap_aggregate_attr: rec_count = 1
DAP_TRACE: Username: 1241879298@mil, DAP_close: C8EEFA10d.

示例 2:使用 DAP 拒绝的连接

下面的示例显示调试dap错误调试dap trace输出在一不成功连接内与在附录A 3显示的方案

图 C4:debug DAP
# debug dap errors
debug dap errors enabled at level 1
# debug dap trace
debug dap trace enabled at level 1
#
The DAP policy contains the following attributes for user:
1241879298@mil
-----------------------------------------------------------------------
---
1: action = terminate
DAP_TRACE: DAP_open: C91154E8
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.1 = top
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.2 = person
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.3 =
organizationalPerson
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectClass.4 = user
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.cn = 1241879298
DAP_TRACE: Username: 1241879298@mil,
aaa.ldap.physicalDeliveryOfficeName = NETADMIN
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.givenName = 1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.distinguishedName =
CN=1241879298,CN=Users,DC=ggsgseclab,DC=org
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.instanceType = 4
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.whenCreated =
20070626163734.0Z
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.whenChanged =
20070718151143.0Z
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.displayName = 1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.uSNCreated = 33691
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.memberOf = DnsAdmins
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.uSNChanged = 53274
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.department = NETADMIN
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.name = 1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectGUID =
....+..F.."5....
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.userAccountControl =
328192
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.badPwdCount = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.codePage = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.countryCode = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.badPasswordTime = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.lastLogoff = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.lastLogon = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.pwdLastSet =
128273494546718750
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.primaryGroupID = 513
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.userParameters = m:
d.
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectSid = ..
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.accountExpires =
9223372036854775807
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.logonCount = 0
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.sAMAccountName =
1241879298
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.sAMAccountType =
805306368
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.userPrincipalName =
1241879298@mil
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.objectCategory =
CN=Person,CN=Schema,CN=Configuration,DC=ggsgseclab,DC=org
DAP_TRACE: Username: 1241879298@mil, aaa.ldap.msNPAllowDialin = TRUE
DAP_TRACE: Username: 1241879298@mil, aaa.cisco.username =
1241879298@mil
DAP_TRACE: Username: 1241879298@mil, aaa.cisco.tunnelgroup = CAC-USERS
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["1"] = "top";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["2"] =
"person";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["3"] =
"organizationalPerson";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectClass"]["4"] =
"user";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["cn"] = "1241879298";
DAP_TRACE:
dap_add_to_lua_tree:aaa["ldap"]["physicalDeliveryOfficeName"] =
"NETADMIN";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["givenName"] = "1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["distinguishedName"] =
"CN=1241879298,CN=Users,DC=ggsgseclab,DC=org";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["instanceType"] = "4";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["whenCreated"] =
"20070626163734.0Z";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["whenChanged"] =
"20070718151143.0Z";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["displayName"] =
"1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["uSNCreated"] = "33691";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["memberOf"] = "DnsAdmins";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["uSNChanged"] = "53274";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["department"] = "NETADMIN";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["name"] = "1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectGUID"] contains
binary data
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["userAccountControl"] =
"328192";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["badPwdCount"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["codePage"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["countryCode"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["badPasswordTime"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["lastLogoff"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["lastLogon"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["pwdLastSet"] =
"128273494546718750";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["primaryGroupID"] = "513";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["userParameters"] contains
binary data
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectSid"] contains binary
data
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["accountExpires"] =
"9223372036854775807";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["logonCount"] = "0";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["sAMAccountName"] =
"1241879298";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["sAMAccountType"] =
"805306368";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["userPrincipalName"] =
"1241879298@mil";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["objectCategory"] =
"CN=Person,CN=Schema,CN=Configuration,DC=ggsgseclab,DC=org";
DAP_TRACE: dap_add_to_lua_tree:aaa["ldap"]["msNPAllowDialin"] = "TRUE";
DAP_TRACE: dap_add_to_lua_tree:aaa["cisco"]["username"] =
"1241879298@mil";
DAP_TRACE: Username: 1241879298@mil, Selected DAPs:
DAP_TRACE: dap_request: memory usage = 33%
DAP_TRACE: dap_process_selected_daps: selected 0 records
DAP_TRACE: Username: 1241879298@mil, dap_aggregate_attr: rec_count = 1

故障排除认证中心/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

附录 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-Anyconnect-53.gif

活动目录服务接口编辑器

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

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

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

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

图 D2:ADSI编辑

cac-Anyconnect-54.gif

IPSEC 故障排除

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

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

  • debug crypto engine – 显示 IPSec 消息

  • debug crypto ca messages – 显示 PKI 消息

  • debug crypto ca transactions – 显示 PKI 事务

相关的思科支持社区讨论

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


相关信息


Document ID: 107237