Gibt es eine Lösung für die OpenVPN-Authentifizierung mit Google ID?

13

Oder vielleicht doch?

Alles, was ich finden konnte, ist die 2-Faktor-Authentifizierung mit Google. Aber ich möchte Google Apps Base für die OpenVPN-Authentifizierung verwenden.

Ich glaube, dass es möglich ist, so etwas wie Gitlab zu machen. Wo Sie Ihr Zertifikat ablegen und dann ohne Login und Passwort verwenden können.

Psychozoikum
quelle

Antworten:

3

Auf der Suche nach einer Lösung dafür bin ich auf Gate gestoßen . Es automatisiert die OpenVPN-Profilerstellung hinter OAuth und unterstützt MFA. Es hat auch eine Admin-Konsole für die Benutzerverwaltung. Hier ist ein Blog-Beitrag der Entwickler, in dem der Anwendungsfall und die Funktionen erläutert werden.

UPDATE 06/2019 - Pritunl ist jetzt meine Lösung dafür. Es unterstützt die automatische Generierung von OpenVPN-Profilen hinter Google Auth und bietet einen plattformübergreifenden Client, der die Einrichtung mit eindeutigen URIs vereinfacht. Der Nutzer autorisiert sich nicht bei Google, eine Verbindung herzustellen (eine PIN kann erforderlich sein), was für manche ein Nachteil sein könnte, aber ich finde die Benutzerfreundlichkeit für kleinere Teams großartig.

Tiefen
quelle
2

Ich glaube nicht, dass es einen guten Weg gibt, dies zu tun. Das Problem ist, dass sich die von Google unterstützten Authentifizierungsmethoden wie OAuth wirklich auf die Authentifizierung von Webanwendungen konzentrieren. Der wichtigste Aspekt dabei ist, dass Sie (als Anwendungsbenutzer) Ihre Anmeldeinformationen niemals an die Site eines Drittanbieters weitergeben. Die Website leitet Sie zu einer Authentifizierungsseite bei Google weiter, auf der Sie sich anmelden und die Website eines Drittanbieters autorisieren.

Da OpenVPN keine webbasierte Anwendung ist, halte ich es für fast unmöglich, dies auf vernünftige Weise zu tun. Grundsätzlich müssten Sie ein benutzerdefiniertes OpenVPN-Authentifizierungsmodul schreiben, das die OAuth-API von Google abruft, ein Authentifizierungstoken anfordert und dem Benutzer eine spezielle URL vorlegt, unter der er sich anmelden und einen Zugangscode erhalten muss , die sie dann in die OpenVPN-Authentifizierung eingeben müssten, damit sie zu Ihrem OpenVPN-Authentifizierungsmodul zurückkehren und zu Google zurückkehren können, um ein "Ja" oder "Nein" für die Authentifizierung von Ihnen zu erhalten. Wenn es sich verwickelt anhört, liegt das daran, dass es so ist.

Unter der Annahme, dass Sie Google Apps erwähnen, bedeutet dies, dass Sie die kostenpflichtige Version von Google Apps (jetzt Google Apps for Work) verwenden. Ihre beste Wahl ist wahrscheinlich die Einrichtung von Single Sign-On (SSO), bei dem Ihr internes Identitätsverwaltungssystem das ist Quelle der Wahrheit, und sowohl Google Apps als auch Ihr OpenVPN-System authentifizieren sich dagegen. Sie können mehr über Google Apps SSO erfahren, indem Sie einfach danach googeln. Beachten Sie, dass dies nicht unbedingt ein einfacher Prozess ist, dessen Implementierung häufig einige Anstrengungen erfordert.

Grundsätzlich müssen Sie OpenVPN Ihre Anmeldeinformationen übermitteln und diese dann in Ihrem Namen authentifizieren lassen. Dies funktioniert nur in Fällen, in denen Ihre Benutzer der Anwendung ihre Anmeldeinformationen anvertrauen (in diesem Fall VPN). Dies funktioniert für die Unternehmensauthentifizierung, entspricht jedoch nicht der Vision von Google, wenn es nicht vertrauenswürdige Anwendungen gibt.

Christopher Cashell
quelle
1
Würden die anwendungsspezifischen Passwörter von Google nicht die meisten dieser Probleme lösen? support.google.com/accounts/answer/185833?hl=de
chicks