我有一台 Cisco ASA 5505,带有 Security Plus 许可证和 AnyConnect Plus 许可证。由于我仍处于规划阶段,因此我目前在 ASA 上没有任何 VPN 配置。在购买第三方软件之前,我想知道我计划的配置是否受支持。
我正在研究对连接到 VPN 的用户使用双重身份验证,可能还会使用额外的证书组件。我发现 Duo Security 有使用 LDAP 进行 AnyConnect 集成。此外,AnyConnect 允许您使用 LDAP 针对 Active Directory 进行身份验证。我进行了大量研究,发现了许多用于配置双重身份验证的资源。但是,每个资源似乎都使用两种不同的身份验证协议。例如,思科官方文档向您展示如何将 LOCAL 设置为主服务器,将 LDAP 设置为辅助服务器。他们的措辞看起来好像您可以将 LDAP 用作主服务器或辅助服务器,但并没有明确说明您可以同时使用这两者。我还找到了一些资源,描述了如何配置冗余 LDAP 服务器以进行故障转移或负载平衡,但这不是我想要的。我的问题是是否可以使用两个完全独立的 LDAP 服务器并让客户端向这两个服务器进行身份验证。理想情况下,配置应如下所示:
tunnel-group RA general-attributes
authentication-server-group LDAP_AD
secondary-authentication-server-group LDAP_DUO
default-group-policy Group1
authorization-required
tunnel-group RA webvpn-attributes
authentication aaa certificate
显然,LDAP_AD 和 LDAP_DUO 都将使用“aaa-server LDAP_xx protocol ldap”以及所需的服务器信息配置为它们自己的条目。我认为此配置应要求用户输入其 AD 凭据,使用 Duo 安全性和 OTP 或 Push 身份验证,并检查机器是否具有有效证书。有人尝试过这个吗?或者找到文档说支持这种类型的配置吗?
答案1
Cisco ASA 路由器支持每个配置文件一个身份验证组。因此,如果您的 VPN 连接配置文件设置为使用名为 VPN 的身份验证组,那么当用户连接到 VPN 时,他们将向 VPN 身份验证组中第一个可用的服务器进行身份验证。
您可以将 LOCAL 设置为后备身份验证源,但只有在主身份验证源不可用时才可用。
除了身份验证之外,您还可以要求客户端证书。
如果您希望使用 OTP 或其他 2FA 方案,思科论坛上可以进行精彩的讨论。
答案2
我最终回答了自己的问题 - 这是可能的。我发现 Duo 提供免费试用,所以我继续设置一个帐户,尝试让它与我的设置一起工作。最后,我能够同时设置 Active Directory LDAP 和 Duo Security LDAP。代码的相关部分在这里:
tunnel-group VPN_RA type remote-access
tunnel-group VPN_RA general-attributes
address-pool X
authentication-server-group WINDOWS
secondary-authentication-server-group Duo_LDAP use-primary-username
authorization-server-group WINDOWS
default-group-policy Group1
authorization-required
tunnel-group VPN_RA webvpn-attributes
authentication aaa certificate
group-alias RA enable
用户必须输入其 AD 用户名和密码以及 Duo 的辅助密码才能连接。机器上还必须有有效的证书。