安全 : Cisco NAC Appliance (Clean Access)

用于远程访问 VPN 的 NAC 设备 (Cisco Clean Access) 带内虚拟网关配置示例

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


目录


简介

本文档提供有关如何配置 Cisco Network Admission Control (NAC) Appliance(即以前的 Cisco Clean Access)的带内虚拟网关模式下的远程访问 VPN 的分步指南。Cisco NAC Appliance 是一款易于部署的 NAC 产品,它使用网络基础架构强制所有需要访问网络计算资源的设备遵守安全策略。使用 NAC Appliance,网络管理员可以在有线、无线和远程用户及其计算机访问网络之前对其进行身份验证、授权、评估和修正。它将确定网络设备(如便携式计算机、IP 电话或游戏控制台)是否与网络安全策略相符,并修复任何漏洞后再允许它们访问网络。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

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

  • Cisco Clean Access 版本 4.0.3

  • Cisco 自适应安全设备 (ASA) 版本 7.2

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

网络图

本文档使用以下网络设置:

nac-inband-remote-vpn-1.gif

规则

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

NAC Appliance (Cisco Clean Access) 配置

请完成以下步骤以配置 NAC Appliance (Cisco Clean Access)。

  1. 使用管理帐户登录 Clean Access Manager (CAM)。

  2. 选择 Device Management > CCA Servers 并转到“New Server”选项卡以便将 Cisco Clean Access Server (CAS) 添加到 Cisco CAM 中。

    在本例中,CAS 的 IP 地址是 10.10.20.162。输入服务器位置以供参考。在本例中,CAS 位于为远程访问 VPN 配置的 Cisco ASA 之后。“Server Location”信息为 VPN Remote Access CAS。为“Server Type”选择 Virtual Gateway

    配置为虚拟网关的 CAS 将充当托管网络的网桥。当托管客户端与受信客户端共享一个子网并且您不希望修改现有网关或体系结构时,该虚拟网关配置可以正常工作。此时无需在任何路由设备上定义静态路由。

    nac-inband-remote-vpn-2.gif

  3. 该 CAS 显示在“List of Servers”下。请确保其“Status”为 Connected。单击 Manage 以访问 CAS 配置。

    故障排除提示:如果 CAM 无法导入 CAS,请确保不是连接问题。在作为根用户登录时,可尝试通过 CAM CLI 对 CAS 执行 ping 命令。还可以尝试从 CAM 到 CAS 进行 SSH 连接。请确保您已经在 CAS 中进行了初始配置。可以使用 service perfigo config 命令通过 其 CLI 对 CAS 进行初始化。

    nac-inband-remote-vpn-3.gif

  4. 转到“Network”选项卡。

    CAS 通常配置为将不受信任的接口连接至某个中继端口,其中有多个 VLAN 中继至该端口。在这种情况下,管理 VLAN ID 是 CAS 的 IP 地址所属的 VLAN 的 VLAN ID。

  5. 选中 Enable Layer 3 support 以允许用户与 CAS 之间相距多跳。由于这是一个 VPN 配置,因此您需要启用此选项。

    nac-inband-remote-vpn-4.gif

  6. 在 CCA Server“Advanced”选项卡下,单击 VLAN Mapping 并输入 VLAN 信息以映射 VLAN 10(不受信)与 VLAN 20(受信)。

    nac-inband-remote-vpn-5.gif

  7. 创建一个过滤器以便 Cisco ASA 能够与 CAS 后面的受保护网络通信。选择设备管理>过滤器>设备>New并且添加MAC地址和思科ASA (在本例中的00:15:C6:FA:39:F7/10.10.20.100的) IP地址。

    nac-inband-remote-vpn-6.gif

  8. 在用户进行了身份验证,同时设备通过网络扫描而未发现任何漏洞并且/或者满足 Clean Access Agent 的要求后,每个 CAS 上的 CAM 会自动将设备添加到“Certified Devices”列表中。获得认证的设备将被视为是干净的,直至从列表中移除。您可以按指定的时间或间隔从“Certified Devices”列表中移除设备以强制它们重复进行网络扫描/代理检查。

    请注意,对于 Clean Access Agent 用户的设备,每次登录时都会对其进行扫描以检查其是否满足要求。浮动设备要求每次登录时都进行 Clean Access 认证并且仅在用户会话期间有效。浮动设备始终需要手动添加。

    在这种情况下,CAS 将为 Cisco ASA 上的 VPN 客户端终端执行安全策略。Cisco ASA 需要与受信方的设备(如 Cisco Secure ACS 服务器)通信。建议将 ASA 作为浮动设备添加。单击“Device Management”下的 Clean Access 并选择“Certified Devices”>“Add Floating Device”。输入ASA (在本例中的00:15:C6:FA:39:F7的) MAC地址。将类型设置为 1(即从不从认证列表中排除 ASA)并输入说明。

    nac-inband-remote-vpn-7.gif

  9. 在本例中,要创建两个不同角色(sales 和 engineering)。选择 User Management > User Roles 并单击“New Role”以创建新角色。输入“Role Name”和“Description”。在本例中,Role Name 为 sales 并带有相应说明。单击 Create Role

    nac-inband-remote-vpn-8.gif

  10. 重复步骤 9 并创建 engineering 角色。完成后将显示以下窗口。

    nac-inband-remote-vpn-9.gif

  11. 选择 User Management > User Roles 并转到“Traffic Control”选项卡以配置每个用户角色使用的策略。在所需角色下单击 Add Policy

    nac-inband-remote-vpn-10.gif

    此窗口显示为 sales 用户配置了策略。sales 用户应只能访问 10.1.1.0/24 子网。在本例中,允许针对 SALES 子网的所有 TCP 流量。

    nac-inband-remote-vpn-11.gif

    此窗口显示了为每个用户角色配置的所有策略。其中重复了步骤 11 以允许 sales 和 engineering 用户针对其各自子网进行 UDP 和 TCP 访问。这两组都允许进行 ICMP 访问。Quarantined 用户只能通过 TCP 访问 IP 为 172.18.85.123 的修正服务器。

    nac-inband-remote-vpn-12.gif

  12. 选择 Device Management > Clean Access,转到“General Setup”选项卡并单击“Agent Login”。

    为每个角色选中 Require use of Clean Access Agent。按用户角色和操作系统配置为要求使用 Clean Access Agent。如果某个角色要求使用 Agent,则该角色的用户在首次使用 Web 登录时,在身份验证之后将转到 Clean Access Agent 下载页面。然后,系统将提示用户下载并运行 Agent 安装文件。在安装过程的最后,系统将提示用户使用 Agent 登录网络。

    nac-inband-remote-vpn-13.gif

  13. NAC Appliance (Cisco Clean Access) 提供了与 Cisco VPN 集中器和 Cisco ASA(如本例)的集成。Cisco Clean Access 可以为 VPN 用户启用单点登录 (SSO) 功能。此功能可通过使用 RADIUS 记账实现。CAS 可以从 Framed_IP_address 或 Calling_Station_ID RADIUS 属性获取客户端的 IP 地址以实现 SSO。VPN 用户无需登录 Web 浏览器或 Clean Access Agent,因为 VPN 集中器发送至 CAS/CAM 的 RADIUS 记账信息提供了登录 VPN 集中器的用户的用户 ID 和 IP 地址(RADIUS 记账开始消息)。要如此操作,您需要将 Cisco VPN 设备(在本例中为 Cisco ASA)添加为身份验证服务器。

    1. 选择 User Management > Auth Servers > New Server

    2. 从下拉菜单中选择 Cisco VPN Server

    3. 选择分配给由 Cisco VPN 集中器进行身份验证的用户的用户角色。

      本例中选择了“Unauthenticated Role”。如果没有基于 MAC 地址或 IP 地址的角色分配覆盖此默认角色,或者如果 RADIUS 映射规则未获得成功的匹配,则使用此默认角色。

    4. 输入 Cisco ASA 的可选说明以供参考并单击 Add Server

      nac-inband-remote-vpn-14.gif

  14. 选择 User Management > Auth Servers > New Server 并从下拉菜单中选择“RADIUS”以添加 Cisco Secure ACS 服务器(RADIUS 服务器)。

    下面列出了此窗口中的设置的说明:

    • Provider Name —(可选)为此身份验证提供商键入一个唯一名称。如果 Web 登录用户可以从 Web 登录页面中选择提供商,请提供一个有意义或可识别的名称。

    • Server Name — RADIUS 身份验证服务器的完全限定的主机名(例如 auth.cisco.com)或 IP 地址。在本例中,172.18.124.101 是 Cisco Secure ACS 服务器的 IP 地址。

    • Server Port — RADIUS 服务器所监听的端口号。

    • RADIUS Type — RADIUS 身份验证方法。支持的方法包括 EAPMD5、口令身份验证协议 (PAP)、质询握手身份验证协议 (CHAP) 和 Microsoft (MS-CHAP)。本例中使用了 PAP。

    • Timeout (sec) — 身份验证请求的超时值。

    • Default Role — 选择“Unauthenticated Role”作为分配给由此提供商进行身份验证的用户的用户角色。如果没有基于 MAC 地址或 IP 地址的角色分配覆盖此默认角色,或者如果 RADIUS 映射规则未获得成功的匹配,则使用此默认角色。

    • Shared Secret — 绑定到指定客户端的 IP 地址的 RADIUS 共享密钥。

    • NAS-Identifier — 要随所有 RADIUS 身份验证数据包发送的 NAS-Identifier 值。要发送数据包,必须指定 NAS-Identifier 或 NAS-IP-Address。

    • NAS-IP-Address — 要随所有 RADIUS 身份验证数据包发送的 NAS-IP-Address 值。要发送数据包,必须指定 NAS-IP-Address 或 NAS-Identifier。

    • NAS-Port — 要随所有 RADIUS 身份验证数据包发送的 NAS-Port 值。

    • NAS-Port-Type — 要随所有 RADIUS 身份验证数据包发送的 NAS-Port-Type 值。

    • Enable Failover — 如果选中此选项,则在主 RADIUS 身份验证服务器响应超时的情况下将向 RADIUS 故障转移对等 IP 发送第二个身份验证数据包。

    • Failover Peer IP — 故障转移 RADIUS 身份验证服务器的 IP 地址。

    • Allow Badly Formed RADIUS Packets — 如果选中此选项,则只要响应包含成功或失败代码,RADIUS 身份验证客户端就会忽略格式错误的 RADIUS 身份验证响应中的错误。为与早期 RADIUS 服务器兼容,可能需要此设置。

    nac-inband-remote-vpn-15.gif

  15. 请完成以下步骤以便在 CAS 上启用单点登录 (SSO)。

    1. 选择 Device Management > CCA Servers 并选择服务器(在本例中为 10.10.20.162)。

    2. 转到“Authentication”选项卡并选择 VPN Auth

    3. 选中 Single Sign-On 和“Auto Logout”并输入“RADIUS Accounting Port”(只支持端口 1813)。

    nac-inband-remote-vpn-16.gif

  16. 在“VPN Concentrators”子选项卡下输入 ASA 信息并单击 Add VPN Concentrator

    nac-inband-remote-vpn-17.gif

  17. 在“Accounting Servers”子选项卡下输入 RADIUS 记账服务器信息并单击 Add Accounting Server

    nac-inband-remote-vpn-18.gif

  18. 在核算映射子选项卡下请选择从VPN集中器下拉菜单(在本例中的asa1.cisco.com [10.10.20.100]的ASA)并且选择记帐服务器(在本例中的acs1.cisco.com [172.18.85.181:1813])。

    nac-inband-remote-vpn-19.gif

Cisco ASA 配置

此部分说明如何使用自适应安全设备管理器 (ASDM) 配置 Cisco ASA。VPN 向导可帮助您配置基本 LAN 到 LAN 以及远程访问 VPN 连接。ASDM 可用于编辑和配置高级功能。

  1. 选择 Configuration > VPN 并单击“Launch VPN Wizard”以启动“VPN Wizard”。

    nac-inband-remote-vpn-20.gif

  2. 使用“VPN Tunnel Type”面板以选择要定义的 VPN 隧道类型(远程访问或 LAN 到 LAN)并标识连接远程 IPsec 对等体的接口。

    单击 Remote Access 以创建一个为 VPN 客户端(如移动用户)实现安全远程访问的配置。此选项使远程用户可以安全地访问集中的网络资源。选择此选项后,VPN Wizard 将显示一系列面板,从中可以输入远程访问 VPN 所需的属性。

    选择与远程 IPsec 对等体之间建立安全隧道的接口(本例中使用了外部接口,因为 VPN 客户端是从 Internet 连接的)。如果安全设备具有多个接口,则需要在运行此向导之前对 VPN 配置进行计划并明确要用于每个要与之建立安全连接的远程 IPsec 对等体的接口。允许入站 IPsec 会话绕过接口访问列表。这将始终允许 IPsec 身份验证入站会话通过安全设备(即不检查接口访问列表的内容)。请注意入站会话只会绕过接口访问控制列表 (ACL)。配置的组策略、用户和下载的 ACL 仍然适用。单击 Next

    nac-inband-remote-vpn-21.gif

  3. 选择远程访问客户端类型。本例中使用了 Cisco VPN Client Release 3.x or higher, or other Easy VPN Remote product,因为客户端使用 Cisco VPN 客户端。单击 Next

    nac-inband-remote-vpn-22.gif

  4. 在本例中,使用预共享密钥进行隧道身份验证。输入预共享密钥(本例中为 cisco123)和 VPN 隧道组名称(本例中为 vpngroup)。单击 Next

    nac-inband-remote-vpn-23.gif

  5. 使用“Client Authentication”面板以选择安全设备对远程用户进行身份验证的方法。在本例中,使用 RADIUS 服务器对 VPN 客户端进行身份验证。单击 New 以配置新 AAA 服务器组。

    nac-inband-remote-vpn-24.gif

  6. 提供以下信息以配置只包含一个服务器的新 AAA 服务器组:

    • Server Group Name — 为服务器组键入名称。您将此名称与要使用此服务器对其进行身份验证的用户相关联。本例中的“Server Group Name”称为“authgroup”。

    • Authentication Protocol — 选择服务器使用的身份验证协议。本例中使用了 RADIUS。

    • Server IP Address — 键入 AAA 服务器的 IP 地址。本例中 RADIUS 服务器为 172.18.124.101。

    • Interface — 选择 AAA 服务器所在的安全设备接口。在本例中,AAA 服务器位于内部接口中。

    • Server Secret Key — 键入最多 127 个字符的区分大小写的字母数字密钥。服务器和安全设备使用该密钥加密在两者间传输的数据。安全设备和服务器上的密钥必须相同。可以使用特殊字符,但不能使用空格。

    • Confirm Server Secret Key — 再次键入该密钥。

    nac-inband-remote-vpn-25.gif

  7. 为要分配给 VPN 客户端的地址配置一个地址池。单击 New 以创建一个新池。

    nac-inband-remote-vpn-26.gif

  8. 添加池的名称、范围和子网掩码。

    nac-inband-remote-vpn-27.gif

  9. 使用“Attributes Pushed to Client (Optional)”窗口让安全设备将有关 DNS 和 WINS 服务器的信息以及默认域名传递至远程访问客户端。输入 Primary 和 Secondary DNS 及 WINS 服务器信息。还要输入“Default Domain Name”。

    nac-inband-remote-vpn-28.gif

  10. 使用“IKE Policy”窗口设置阶段 1 IKE 协商条款。本例中使用了 3DES、SHA 和 Diffie-Hellman Group 2 作为 VPN 客户端连接的 IKE 策略。

    nac-inband-remote-vpn-29.gif

  11. 使用此“IPSec Encryption and Authentication”窗口选择要用于阶段 2 IKE 协商的加密和身份验证方法,这将创建安全 VPN 隧道。本例中使用了 3DES 和 SHA。

    nac-inband-remote-vpn-30.gif

  12. 使用“Address Translation Exemption (Optional)”窗口以标识不要求地址转换的本地主机/网络。

    默认情况下,安全设备会使用动态或静态网络地址转换 (NAT) 向外部主机隐藏内部主机和网络的实际 IP 地址。NAT 可尽可能减少来自不受信任的外部主机的攻击风险,但对于已经由 VPN 进行身份验证和保护的用户可能并不适当。

    例如,使用动态 NAT 的内部主机通过将其 IP 地址与某个池中的随机选定地址相匹配来转换地址。外部只能看到转换后的地址。试图通过向实际 IP 地址发送数据来访问这些主机的远程 VPN 客户端将无法连接到这些主机,除非配置 NAT 免除规则。

    nac-inband-remote-vpn-31.gif

  13. 验证“Summary”窗口中的信息是否正确并单击 Finish

    nac-inband-remote-vpn-32.gif

  14. 此步骤非常重要。Cisco ASA 需要向 CAS 发送 RADIUS 记账消息以实现 SSO 并执行安全状况检查。

    请完成以下步骤以添加新的 AAA 服务器组。

    1. 选择 Configuration > Properties > AAA Setup > AAA Server Groups,然后单击 Add。

    2. 输入“Server Group”名称(本例中为 CAS_Accounting)。

    3. 选择 RADIUS 作为“Protocol”。

    4. 确保“Accounting Mode”为 Single 且“Reactivation Mode”为“Depletion”。

    5. 单击 Ok

    nac-inband-remote-vpn-33.gif

  15. 添加一个新的 AAA 服务器条目。在本例中,AAA 服务器是 CAS 的 IP 地址 (10.10.20.162),它驻留在内部接口中。配置“Server Authentication Port”(1812) 和“Server Accounting Port”(1813)。单击 Ok

    nac-inband-remote-vpn-34.gif

    新的 AAA 服务器组和 AAA 服务器如下面的示例窗口所示。

    nac-inband-remote-vpn-35.gif

  16. 完成以下步骤以添加 CAS 作为所配置的 VPN 组的记账服务器(本例中为 vpngroup)。

    1. 选择 Configuration > VPN > General > Tunnel Group

    2. 选择“Tunnel Group”。

    3. 单击 Edit

    nac-inband-remote-vpn-36.gif

  17. 在“Accounting”选项卡下,从“Accounting Server Group”下拉菜单中选择新的 AAA 服务器组(本例中为 CAS_Accounting)。

    nac-inband-remote-vpn-37.gif

ASA CLI 配置

ASA-1#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ASA-1
domain-name cisco.com
enable password 8Ry2YjIyt7RRXU24 encrypted
names
dns-guard
!
interface GigabitEthernet0/0
description Outside Interface Facing the Internet
nameif outside
security-level 0
ip address 209.165.200.225 255.255.255.0
!
interface GigabitEthernet0/1
description Inside Interface
nameif inside
security-level 100
ip address 10.10.20.100 255.0.0.0
!
interface GigabitEthernet0/2
shutdown
no nameif
no security-level
no ip address
!
interface GigabitEthernet0/3
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
nameif management
security-level 100
ip address 172.18.85.174 255.255.255.0
!
passwd 2KFQnbNIdI.2KYOU encrypted
boot system disk0:/asa721-k8.bin
ftp mode passive
dns server-group DefaultDNS
domain-name cisco.com
access-list outside_cryptomap extended permit ip any 10.10.55.0 255.255.255.0
access-list something extended permit ip any any
pager lines 24
mtu outside 1500
mtu inside 1500
mtu management 1500
ip local pool pool1 10.10.55.1-10.10.55.254 mask 255.255.255.0
no failover
icmp permit any inside
icmp permit any management
asdm image disk0:/asdm521.bin
no asdm history enable
arp timeout 14400
access-group something in interface outside
access-group something in interface inside
route inside 172.18.85.181 255.255.255.255 10.10.20.1 1
route inside 0.0.0.0 0.0.0.0 10.10.20.1 tunneled
route outside 0.0.0.0 0.0.0.0 209.165.200.226 1
route inside 172.18.85.0 255.255.255.0 10.10.20.1 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
aaa-server authgroup protocol radius
aaa-server authgroup host 172.18.85.181
timeout 5
key cisco123
authentication-port 1812
accounting-port 1813
aaa-server test protocol radius
aaa-server test host 10.10.20.162
key cisco123
accounting-port 1813
aaa-server CAS_Accounting protocol radius
aaa-server CAS_Accounting host 10.10.20.162
key cisco123
authentication-port 1812
accounting-port 1813
radius-common-pw cisco123
group-policy vpngroup internal
group-policy vpngroup attributes
wins-server value 172.18.108.40 172.18.108.41
dns-server value 172.18.108.40 172.18.108.41
vpn-tunnel-protocol IPSec
default-domain value cisco.com
username cisco password ffIRPGpDSOJh9YLq encrypted
http server enable
http 0.0.0.0 0.0.0.0 management
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec transform-set FirstSet esp-3des esp-sha-hmac
crypto dynamic-map outside_dyn_map 20 set transform-set ESP-3DES-SHA
crypto map outside_map 20 ipsec-isakmp dynamic outside_dyn_map
crypto map outside_map interface outside
crypto map abcmap 1 set peer 202.83.212.69
crypto isakmp enable outside
crypto isakmp policy 1
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
tunnel-group vpngroup type ipsec-ra
tunnel-group vpngroup general-attributes
address-pool pool1
authentication-server-group authgroup
accounting-server-group CAS_Accounting
default-group-policy vpngroup
tunnel-group vpngroup ipsec-attributes
pre-shared-key *
telnet timeout 5
ssh 0.0.0.0 0.0.0.0 management
ssh timeout 5
console timeout 0
!
class-map class_sip_tcp
match port tcp eq sip
class-map class_sip_udp
match port udp eq sip
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
inspect skinny
inspect sqlnet
inspect sunrpc
inspect tftp
inspect xdmcp
class class_sip_tcp
inspect sip
class class_sip_udp
inspect sip
!
service-policy global_policy global
prompt hostname context
Cryptochecksum:8e30f7ade3dcb3d1ae0da79a9d94371e
: end
[OK]

验证

当前没有可用于此配置的验证过程。

故障排除

目前没有针对此配置的故障排除信息。


相关信息


Document ID: 71573