Есть ли какое-либо решение для аутентификации OpenVPN с Google ID?

13

Или, может быть, какой-нибудь oauth?

Все что я смог найти - это 2факторная аутентификация с гуглом. Но я бы хотел использовать базу Google Apps для аутентификации OpenVPN.

Я считаю, что можно сделать что-то вроде gitlab. Где вы можете положить свой сертификат, а затем использовать его без логина и пароля.

Психозоя
источник

Ответы:

3

В поисках решения для этого я наткнулся на Gate . Он автоматизирует создание профиля OpenVPN за OAuth и поддерживает MFA. Он также получил консоль администратора для управления пользователями. Вот блог-пост от разработчиков, в котором описываются его сценарии использования и функции.

ОБНОВЛЕНИЕ 06/2019 - Pritunl - теперь мое подходящее решение для этого. Он поддерживает автоматическую генерацию профиля OpenVPN за Google Auth и предоставляет кроссплатформенный клиент, который упрощает настройку с уникальными URI. Пользователь не авторизуется с Google для подключения (может потребоваться PIN-код), что может быть недостатком для некоторых, но я считаю, что удобство использования отлично подходит для небольших команд.

cdowns
источник
2

Я не думаю, что есть хороший способ сделать это. Проблема в том, что поддерживаемые Google методы аутентификации, такие как OAuth, действительно ориентированы на аутентификацию веб-приложений. Ключевым аспектом этого является то, что вы (как пользователь приложения) никогда не передаете свои учетные данные стороннему сайту. Сайт направляет вас на страницу авторизации в Google, на которую вы входите и авторизуете сторонний сайт.

Поскольку OpenVPN не является веб-приложением, я думаю, что было бы почти невозможно сделать это разумным способом. В основном вам нужно написать собственный модуль аутентификации OpenVPN, который обращается к OAuth API Google, запрашивает токен аутентификации, а затем предоставляет пользователю специальный URL-адрес, по которому он должен будет перейти, куда он войдет, получит код доступа. Затем они должны были войти в аутентификацию OpenVPN, чтобы он мог вернуться к вашему модулю аутентификации OpenVPN и вернуться в Google, чтобы получить «да» или «нет» при аутентификации вас. Если это звучит запутанно, это потому, что это так.

Предполагая, что ваше упоминание о Службах Google означает, что вы используете платную версию Служб Google (теперь она называется Google Apps for Work), вам лучше всего будет настроить единый вход (SSO), где ваша внутренняя система управления идентификацией является источник правды, и Google Apps и ваша система OpenVPN аутентифицируются против него. Вы можете узнать больше о едином входе Служб Google, просто найдя его. Имейте в виду, это не обязательно простой процесс, и часто требует определенных усилий для реализации.

По сути, вам нужен способ предоставить свои учетные данные в OpenVPN, а затем аутентифицировать их от вашего имени. Это работает только в тех случаях, когда ваши пользователи будут доверять свои учетные данные приложению (в данном случае VPN). Это работает для корпоративной аутентификации, но не соответствует видению Google, где есть ненадежные приложения.

Кристофер Кашелл
источник
1
Разве пароли, специфичные для приложений Google, не помогут решить большинство из этих проблем? support.google.com/accounts/answer/185833?hl=ru
цыплята