Обновить

Организация удаленного доступа в защищенный контур на базе Openvpn + Keycloak

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.8K
Всего голосов 5: ↑5 и ↓0+7
Комментарии19

Комментарии 19

Спасибо за гайд! С 2FA не игрались?

2FA тут должен отрабатывать на стороне Keycloak, так что не думаю что с этим проблемы будут

Там 2fa только либо через пуш либо OTP код, и то не знаю есть ли мобильное приложение у Keycloak, - не пользовали его, пока смотрим… но пока используем avanpost mfa

Спасибо за отклики! надеюсь будет полезно)
как написали выше, 2fa можно настроить на keycloack, но в данном проекте это пока не делали

Это что-то типа hotspot’a ? Соединение выполняется по сертификатам ? Не по учетным данным пользователей?

1) Нет,не думаю что это hotspot ,но не уверен,что мы одинаково понимаем этот термин.
2) Это впн для организации доступа во внутреннюю сеть облака
3) Аутентификация происходит по учетным записям пользователей в Keycloack, аутентификация по сертификатам не производится

Не пойму как подключатся VPN клиент, если вы в нем не указываете при подключении логин и парол. Увас в конфиге отсутствует auth-user-pass значит клиент не запрашивает у пользователя логин и парол

Так клиент отправляет пользователя в браузер пройти авторизацию в keycloack. А он уже колбэком отправляет результат авторизации в openvpn, который по её результатам запускает сессию

При запуске клиента OpenVPN запустится браузер с формой от KeyCloack c предложением ввести логин и пароль, все и вся магия. То что в конфигах указывается это связь самого keycloak плагина с openvpn сервера (сервисная учетка)

Но соединение то уже произошло , или оно дальше его не пускает пока не пройдешь авторизацию на этой странице ?

верно,соединение прошло,но пока не пройдешь аутентификацию успешно, туннель не поднимается.

При подключении клиента без auth-user-pass openvpn-сервер вызывает страницу keycloack в браузере и вы там вводите логин/пароль . при положительной аутентификации keycloack сообщает openvpn ,что аутентификация прошла и впн-канал поднимается между клиентом и сервером

А тайм-аут на эту операцию какой ? Пользователь долго же может вводить и сессия будет висеть

вопрос хороший, специально проверил
‘AUTH_PENDING,timeout 180’ (status=1)

3 минуты

о круто, спасибо за обратную связь, это прям замечательно. так как при работе с radius таймаут намного меньше, но это по крайней мере у OpenVPN который в mikrotik …

Стоить заметить, что такое умеют OpenVPN клиенты с поддержкой IV_SSO=openurl,webauth А значит лесом идут линуксы с пакетами 2.6 и 2.7, и остаются только openvpn3. И значит лесом идёт настройка через GUI NetworkManager, а останется только консоль.

Хотя нет, похоже что-то появилось месяц назад https://github.com/pegasusheavy/network-manager-openvpn-sso

все верно,с консольными клиентами,особенно со старыми версиями, не все так просто и это я указывал в статье.

Спасибо за статью, данная тема самого уже давно интересовала. Подскажите, а можно ли при помощи этого решения производить гранулярный доступ пользователей к подсетям через роль в keycloak? Допустим в моей корпоративной сети три типа подсетей, являющиеся подмножеством друг друга: гостевые, общие и куда хотелось бы доступ только админам давать, которые можно замапить на роли guest, user и admin. Возможно ли через keycloak динамически их менять для существующих юзеров с применением доступных маршрутов?

Простите, не очень понятно, клок должен быть опубликован за пределы КСПД для этого варианта?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации