Existe-t-il une solution pour effectuer l'authentification OpenVPN avec Google ID?

13

Ou peut-être un oauth?

Tout ce que j'ai pu trouver - c'est l'authentification à 2 facteurs avec Google. Mais j'aimerais utiliser la base Google Apps pour l'authentification OpenVPN.

Je crois qu'il est possible de faire quelque chose comme gitlab. Où vous pouvez mettre votre certificat et ensuite l'utiliser sans login et mot de passe.

Psychozoïque
la source

Réponses:

3

En cherchant une solution pour cela, je suis tombé sur Gate . Il automatise la création de profils OpenVPN derrière OAuth et prend en charge MFA. Il dispose également d'une console d'administration pour la gestion des utilisateurs. Voici un article de blog des développeurs décrivant son cas d'utilisation et ses fonctionnalités.

MISE À JOUR 06/2019 - Pritunl est maintenant ma solution de prédilection pour cela. Il prend en charge la génération automatique de profils OpenVPN derrière Google Auth et fournit un client multiplateforme qui facilite la configuration avec des URI uniques. L'utilisateur n'authentifie pas avec Google pour se connecter (un code PIN peut être requis), ce qui pourrait être un inconvénient pour certains, mais je trouve la facilité d'utilisation idéale pour les petites équipes.

chutes
la source
2

Je ne pense pas qu'il existe une bonne façon de procéder. Le problème est que les méthodes d'authentification prises en charge par Google, telles que OAuth, sont vraiment axées sur l'authentification des applications Web. L'aspect clé de cela est que vous (en tant qu'utilisateur d'application) ne donnez jamais vos informations d'identification au site tiers. Le site vous dirige vers une page d'authentification sur Google, à laquelle vous vous connectez et autorisez le site tiers.

Avec OpenVPN étant une application non basée sur le Web, je pense qu'il serait presque impossible de le faire de manière raisonnable. Vous devez essentiellement écrire un module d'authentification OpenVPN personnalisé qui atteint l'API OAuth de Google, demande un jeton d'authentification, puis présente à l'utilisateur une URL spéciale vers laquelle il devra se rendre, où il se connectera, obtiendra un code d'accès , qu'ils devraient ensuite entrer dans l'authentification OpenVPN afin qu'il puisse revenir à votre module d'authentification OpenVPN pour revenir à Google pour obtenir un "oui" ou "non" pour vous authentifier. Si cela semble compliqué, c'est parce qu'il l'est.

En supposant que votre mention de Google Apps signifie que vous utilisez la version payante de Google Apps (maintenant appelée Google Apps for Work), votre meilleur pari serait probablement de configurer l'authentification unique (SSO), où votre système de gestion d'identité interne est le source de vérité, et Google Apps et votre système OpenVPN s'authentifient. Pour en savoir plus sur l'authentification unique de Google Apps, recherchez simplement sur Google. Sachez que ce n'est pas nécessairement un processus simple et nécessite souvent un certain effort de mise en œuvre.

Fondamentalement, vous avez besoin d'un moyen de fournir vos informations d'identification à OpenVPN, puis de le faire authentifier en votre nom. Cela ne fonctionne que dans les cas où vos utilisateurs feront confiance à leurs informations d'identification à l'application (dans ce cas, VPN). Cela fonctionne pour l'authentification d'entreprise, mais ne correspond pas à la vision de Google lorsqu'il existe des applications non fiables.

Christopher Cashell
la source
1
Les mots de passe spécifiques à l'application google ne contourneraient-ils pas la plupart de ces problèmes? support.google.com/accounts/answer/185833?hl=en
poussins