作者:Dinesh Moudgil,技术市场工程师 – Cisco
作者:Muffadal Quettawala,合作伙伴解决方案架构师 – AWS
引言
随着远程工作的普及,越来越多的企业开始通过虚拟专用网络(VPN)服务访问其IT环境。为了满足日益增长的远程工作需求,企业将VPN服务扩展到了云端,以便将用户连接到可能托管在云端或本地的企业资源。
在云基础的客户端VPN服务架构中,一个重要的设计考虑是选择合适的身份验证机制,以便将远程用户连接到VPN服务。
身份验证机制
一种常见的设计是使用Microsoft Active Directory来管理和验证用户身份。同时,零信任架构要求对这些用户使用多因素身份验证(MFA)。
Cisco ASAv远程访问VPN提供不同类型的身份验证和授权能力。Cisco ASAv与Cisco Duo集成,为ASAv AnyConnect VPN连接添加多因素身份验证。
解决方案概述
本文将展示如何在AWS上配置Cisco ASAv的外部身份验证,以实现远程访问VPN。我们将使用Cisco Duo身份验证代理将用户身份验证请求重定向到AWS托管的Microsoft Active Directory(AWS Managed Microsoft AD),通过LDAPv3进行主要身份验证,并通过TCP端口443进行Duo MFA。
先决条件
在开始之前,您需要在AWS账户中配置以下先决条件: - 使用AWS快速启动部署的Cisco ASAv远程访问VPN设备,默认连接配置为“LAB”。 - 至少有一个用户的现有AWS Managed Microsoft AD目录或Active Directory Connector。要快速部署目录,请参见AWS上的Active Directory域服务快速启动。 - Duo许可证;了解更多有关Duo许可的信息。您必须设置至少一个Duo用户,其电子邮件地址与Microsoft Active Directory中的至少一个用户关联。 - 用于身份验证的智能手机上的Duo Mobile应用程序。 - 确保与ASAv设备和NLB监听器关联的安全组配置为允许目标为用户数据报协议(UDP)端口1812(用于身份验证和授权)和UDP端口1813(用于会计)的流量。 - Cisco Duo管理门户访问权限,用于使用文档中定义的“第一步”部分进行Duo MFA配置。
解决方案架构
整体解决方案架构如下所示。数字1-9表示身份验证流程中的步骤,并进行了详细说明。
- AnyConnect用户输入完全限定域名(FQDN),例如vpn.example.com,启动VPN连接到ASAv。
- 连接到ASAv的“LAB” VPN连接配置文件。一旦用户输入凭据,身份验证请求(Access-Request包)通过ASAv的外部接口转发到Cisco Duo身份验证代理,经过网络负载均衡器。
- Duo身份验证代理接收到身份验证请求后,使用AWS Managed Microsoft AD验证凭据。
- 一旦AWS Managed Microsoft AD验证凭据成功,Duo身份验证代理通过TCP端口443向Duo Cloud发送请求,以开始多因素身份验证。
- 此时,AnyConnect用户会看到“Duo交互式提示”。
- Duo Cloud接收来自AnyConnect用户发起的Duo Mobile应用程序的推送。
- Duo Cloud随后向Duo身份验证代理响应,确认MFA成功。
- 一旦Duo身份验证代理收到来自Duo Cloud的响应,它会向ASAv发送Access-Accept响应包,以确认身份验证过程完成。
- 最后,ASAv建立由AnyConnect用户发起的远程访问VPN会话,并授予访问所需资源的权限。
配置步骤
步骤1:配置Cisco Duo身份验证代理作为AAA服务器
plaintext
aaa-server DuoProxy protocol radius
aaa-server DuoProxy (outside) host DuoProxyLB-f8838f63c741cf49.elb.us-east-1.amazonaws.com
key 0 <redacted>
authentication-port 1812
accounting-port 1813
步骤2:客户端池配置
定义本地IP地址池,AnyConnect用户将从此池中分配IP地址。
plaintext
ip local pool VPN-POOL 172.16.32.1-172.16.63.254 mask 255.255.224.0
步骤3:拆分ACL配置
定义访问列表,确定AnyConnect用户在成功身份验证后可以访问的网络。
plaintext
access-list split standard permit 10.0.0.0 255.255.0.0
access-list split standard permit 172.16.0.0 255.255.0.0
步骤4:在ASAv上启用AnyConnect
全局启用ASAv上的远程访问VPN。
plaintext
webvpn
enable outside
anyconnect enable
tunnel-group-list enable
步骤5:组策略配置
配置RA VPN会话的组策略属性。
plaintext
group-policy LAB internal
group-policy LAB attributes
vpn-tunnel-protocol ssl-client ssl-clientless
split-tunnel-policy tunnelspecified
split-tunnel-network-list value split
步骤6:隧道组(连接配置文件)配置
定义确定隧道连接策略的记录集。
plaintext
tunnel-group LAB type remote-access
tunnel-group LAB general-attributes
address-pool VPN-POOL
authentication-server-group DuoProxy
default-group-policy LAB
tunnel-group LAB webvpn-attributes
group-alias LAB-VPN enable
结论
通过将Cisco ASAv与AWS Managed Microsoft AD和Duo Cloud安全性结合使用,企业能够有效地配置远程访问VPN,满足零信任架构的要求,为远程工作者提供安全的访问体验。希望本文对您在配置远程访问VPN时有所帮助。