有什么解决方案可以使用Google ID进行OpenVPN身份验证?


13

或者,也许有任何oauth?

我所能找到的-是与谷歌2factor身份验证。但我想将Google Apps base用于OpenVPN身份验证。

我相信可以制作类似gitlab的东西。您可以在其中放置证书,然后在没有登录名和密码的情况下使用它。

Answers:


3

在寻找解决方案时,我遇到了盖特。它可以在OAuth之后自动创建OpenVPN配置文件,并支持MFA。它还具有用于用户管理的管理控制台。这是开发人员的博客文章,概述了其用例和功能。

更新06/2019- Pritunl现在是我的首选解决方案。它支持Google Auth背后的自动OpenVPN配置文件生成,并提供跨平台客户端,可通过唯一的URI轻松进行设置。用户未通过Google身份验证进行连接(可能需要输入PIN),这对于某些人来说可能是不利的一面,但是我发现对于小型团队而言,易用性非常好。


2

我认为没有办法做到这一点。问题在于,Google支持的身份验证方法(例如OAuth)实际上是针对身份验证Web应用程序而设计的。这样做的关键在于,您(作为应用程序用户)永远不会将您的凭据提供给第三方站点。该站点将您定向到Google的身份验证页面,您可以登录该页面并授权该第三方站点。

由于OpenVPN是非基于Web的应用程序,因此我认为以合理的方式进行此操作几乎是不可能的。您基本上必须编写一个自定义的OpenVPN身份验证模块,该模块可以访问Google的OAuth API,请求身份验证令牌,然后向用户提供一个他们必须访问的特殊URL,登录的地方以及访问代码。 ,然后他们必须输入OpenVPN身份验证,以便可以返回到您的OpenVPN身份验证模块,以返回Google以获得对您进行身份验证的“是”或“否”。如果听起来令人费解,那是因为。

假设您提到Google Apps,则表示您使用的是Google Apps的付费版本(现称为Google Apps for Work),最好的选择是设置Single Sign-On(SSO),其中内部身份管理系统是真相的来源,并且Google Apps和您的OpenVPN系统都会对其进行身份验证。您可以通过谷歌搜索来找到有关Google Apps SSO的更多信息。请注意,这不一定是简单的过程,通常需要付出一些努力才能实现。

基本上,您需要一种将凭证提供给OpenVPN,然后代表您进行身份验证的方法。这仅在您的用户将其凭据信任到应用程序(在这种情况下为VPN)的情况下有效。这适用于公司身份验证,但与存在不可信应用程序的Google愿景不符。


1
Google的应用专用密码是否可以解决大多数这些问题? support.google.com/accounts/answer/185833?hl=en
雏鸡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.