今天刚刚被问到关于在公司内部为SSLVPN用户实施两因素身份验证(通过不支持/使用WebVPN的Cisco AnyConnect进行连接)。目前,我们使用LDAP进行身份验证。

我确定了一家可以直接与anyConnect和移动客户端集成以提供基于令牌的两要素身份验证的公司,但我想知道实现两种方式的更常见方法是-这种设置的因素?我首先想到的是Google Authenticator或RSA,但是很难找到与AnyConnect结合使用的这些类型的设置信息(实际上我什么都没找到。)

评论

我们公司使用Duo安全性。我了解前十个用户是免费的,您可以尝试查看它是否满足您的需求。 PD:我与Duo安全无关。这只是一个示例。

我们已经成功使用了YubiKey。非常非常经济且易于设置。可能与Cisco ASA SSL VPN,PaloAlto等兼容。 (我没有以任何方式与该公司建立联系,只是一个用户)

太酷了,谢谢您的推荐-我们最终还是选择了DUO-我将为每个用户支付一美元...很棒,服务直截了当,我唯一的遗憾是当他们获得新手机或设备时重新注册在管理上有点烦人(还不是自助服务)。强烈推荐他们(并且完全不隶属于他们)。

FWIW,我一直不敢让auth(这很关键)取决于很多部分(活动目录+ 2因素部分)。我想要设备中的2因子片,因此它是活动目录+设备...。但这很难找到。

#1 楼

我能想到的两条路径如下:


您想使用内置的Cisco ASA辅助身份验证
您愿意使用Radius服务器。 />
#2的概念:


选择身份验证器。例如,Google,LDAP,AD等...
设置支持身份验证器的Radius服务器(FreeRADIUS,Windows NPM,Cisco ACS等)。
在Cisco上配置身份验证ASA使用该Radius服务器(IP地址,端口,秘密密钥等),然后完成操作。根据需要调整超时。

关于Google Authenticator:
您可以将FreeRadius设置为使用Google Authenticator,然后将Cisco ASA aaa服务器设置为使用FreeRadius服务器。完成:)

关于Duo Security:
我已经使用过Duo Security,它的效果很好。此配置链接显示了如何在不安装Duo Security应用程序的情况下设置2-Factor身份验证。但是,如果您安装应用程序(充当RADIUS服务器),则安装会变得更加容易。下面是一个示例配置,应该可以提供帮助。

该设置的提示:
增加超时时间!我对此有疑问。
不要在现有的RADIUS服务器上安装Duo应用程序(侦听端口冲突)。


在服务器上安装应用程序后,您需要在authproxy.cfg的顶部修改authproxy.cfg文件以将Active Directory用作主要身份验证器

将客户端设置为ad_client,将服务器设置为radius_server_auto

[main]  
client=ad_client  
server=radius_server_auto  



创建一个名为ad_client的部分。

[ad_client]
host=10.x.x.11
host_2=10.x.x.12
service_account_username=ldap.duo
service_account_password=superSecretPassword
search_dn=DC=corp,DC=businessName,DC=com



安全组是可选的。该组允许用户进行身份验证。

security_group_dn=CN=Administrators,CN=Builtin,DC=example,DC=com



特定的DUO安全配置信息

[radius_server_auto]
ikey=xxxxxxxxxxxxx
skey=xxxxxxxxxxxxx
api_host=api-xxxxx.duosecurity.com




如果无法访问Duo,请选择Safe=allow auth
如果无法访问Duo,请选择Secure=do not allow auth
failmode = safe

您要命中的Cisco ASA的IP地址和密钥

radius_ip_1=10.x.x.1
radius_secret_1=superSecretPassword



已安装DuoSecurity App的Windows Server

net stop DuoAuthProxy
net start DuoAuthProxy


Cisco ASA 8.4配置

将新的aaa服务器添加到相应的VPN策略

aaa-server DUO protocol radius
!
aaa-server DUO (inside) host 10.x.x.101
 accounting-port 1813
 authentication-port 1812
 key superSecretPassword
 retry-interval 10
 timeout 300
!



>

评论


非常感谢您的广泛撰写!我在这里有很多工作。有趣的是,这些系统如何协同工作以提供两因素身份验证。

– A L
2013年9月13日19:28在

#2 楼

两因素身份验证的定义具有多种方法。这些方法是:


您所知道的,例如登录帐户的用户名和密码
您所拥有的,例如生成数字或证书文件的RSA密钥库
您的身份,例如视网膜扫描和指纹扫描器

两要素身份验证没有来自两个不同来源的两个不同的登录帐户(如两组不同的用户名和密码),因为它们都是“你懂”。两个因素进行身份验证的示例是将智能卡插入笔记本电脑(您拥有),然后刷指纹扫描器(您拥有)。

如果您了解,您似乎拥有Microsoft Server。您对LDAP的使用。为什么不在操作系统附带的最近的Microsoft Windows Server上启用Microsoft证书颁发机构服务,并启用用户证书注册?带有CA根证书的ASA可以验证帐户(称为XAUTH),然后对Windows,Linux和MacOS可以使用的用户证书进行身份验证。

#3 楼

正确,但是只要您有一个安全的注册流程,手机就可以成为物理密钥卡。 Duo还提供了应用程序推送或短信代码的UX灵活性。 ASA上的内部CA也很棒,但是如果您以HA对或多上下文方式运行,则不是一种选择。根据建议,使用MS / Dogtag CA或Duo。

IMO,您可以通过如下配置vpn组来获得最大的覆盖范围:

因素1-使用证书(CA的MS / Dogtag / ASA板载)-可以使用ldap / AD用户生成证书。 (最好在本地完成,在交付/安装证书时必须遵循OpSec最佳做法。)

因素2-具有令牌/ OTP密钥卡或移动设备安全注册的FreeRADIUS或Duo代理。

这样,如果用户受到攻击,则攻击者必须获取a。)仅在便携式计算机/端点密钥库中存在的证书副本b。)用户AD / radius用户名/密码c。)离岸价(rsa / yubikey)或移动设备(DuoSec)

这也限制了设备丢失/被盗的责任。我相信二人组还提供了一种通过广告来管理用户的方法,这使得整个设置变得易于管理。您的设备必须允许超时/重试调整,以支持身份验证期间的带外用户交互。 (将手机/口袋中的钥匙扣等解锁-允许至少30秒的半径超时)