openvpn 作为集成到 AD 的双因素网络入口点

openvpn 作为集成到 AD 的双因素网络入口点

我希望将 openvpn 部署为 linux RAS 服务器(而不是站点到站点),并且我想使用双因素身份验证,特别是使用与 ntlm 域或 ldap 服务器绑定的 ssl 证书和密码。

这真的可能吗?我真的很难找到有关如何做这样的事情的信息,所以我开始有点怀疑了。如果有人做过这件事,最好知道(或者知道做这样的事情的开源方法),或者最好有实现这一点所需的 openvpn 服务器配置。

编辑:我知道 SSL 证书不是一个理想的因素。:)

答案1

从客户端,您需要以下选项来提示用户输入用户名/密码

auth-user-pass

在服务器端,您需要以下选项来验证用户名/密码

auth-user-pass-verify scriptname method

scriptname是 openvpn 将执行以验证用户/密码的脚本或程序。如果脚本的返回代码为真 (0),则用户登录,否则无效。method是将用户和密码参数传递给 的方式scriptname

因此,您需要有一个脚本/程序来基于 ldap 服务器验证用户,然后就完成了。

编辑:相关文档使用替代身份验证方法

答案2

我有一个朋友就是这么做的:使用 OpenVPN 和 SSL 证书对每个端点进行身份验证,然后出现用户名/密码提示,并通过 LDAP 在 AD 服务器上对用户的凭据进行身份验证,然后才能建立 OpenVPN 连接。我知道他正在这样做,因为我有时有凭据可以使用它,因此自己登录了。所以是的,这是可能的,但我没有配置;抱歉。

答案3

你是否尝试过关注http://openvpn.net/index.php/open-source/documentation/howto.html#security并使用 openvpn-auth-pam ?

我自己没有做过,但会走https://help.ubuntu.com/community/ActiveDirectoryHowto#Pam设置针对 AD 的 pam。完成此操作后,告诉 openvpn 使用 pam 应该不难。

答案4

我在 Ubuntu 上使用 OpenVPN 作为 RAS 服务器,对于双重身份验证,我有一个 Deepnet 身份验证服务器,它可以生成一次性密码与静态密码结合使用 - 进而将 VPN 用户验证到 AD。

相关内容