Comments 20
В текущих условиях VPN, зависящий от сторонней инфраструктуры, да ещё и платный, - сомнительное решение.
Может отвалиться возможность за него платить (кто уж как эту проблему сейчас решает, но мало у кого прямо железобетонные варианты, которые не могут перестать работать). Могут забанить со стороны поставщика услуг или заблокировать доступ к его серверам из России (обходить-то умеем, но обычно для этого VPN и используется...)
В общем, начинал я в январе разворачивать Tailscale с Azure AD. Про Printunl как-то не знал, может и его бы выбрал вместо Tailscale тогда... Но в итоге в марте переполз на self-hosted OpenVPN + OpenLDAP/FreeRADIUS. Возможностей поменьше, но так как-то спокойнее.
Pritunl и так есть бесплатно self-hosted с установкой в 2 клика. Единственная сейчас проблемка в том, что требуется репозиторий mongodb который немножко недоступен в рф.
Мне Pritunl нравиться своей простотой, особенно для soho сегмента. Установить, настроить и пользоваться может даже аникей без опыта.
Ну бесплатный self-hosted только на 1 хост, если что.
А с оплатой лицензии на pritunl проблемы всё те же - нужно намайнить нормальную банковскую карту (что для легального российского юр лица невозможно).
Думаю если вам нужно уже не soho решение, то у вас уже не аникей+ работает. А дальше или нанимаются специалисты на N зарплату плюс опенсорс продукт или этой зарплатой оплачиваются корпоративные готовые решения плюс аникей поддерживающих(работающий с саппортом продукта). Бесплатно в любом случае не получится.
Проблема-то не в платности, а в том, что способов оплаты легальных нет для юр лица из РФ. $60 usd в месяц за такой продукт - фигня, только их как-то донести туда нужно ещё.
Обычно это решается звонком "менеджеру", если фирма хочет, она найдет способ оплатить, хоть сотруднику на телефон. Да есть вопрос бухгалтерии, но он обычно даже не вторичен, а дальше.
Но тут вопрос законности. Логично что любой представляет услугу и хочет ее оплату, есть вопрос законности этой услуги, да. Но, законность бизнеса определяет ситуативно, а не какие то международные стандарты, т.е можно сказать что с завтра не законно изготавилвать туалетную бумагу например, и это никак не регламентировано.
Из-за этих проблем в России сейчас не проводят проверки - можно покапаться в исходном коде и жить так, пока не появится возможность оплатить. Соглашусь, что сумма небольшая для таких усложнений, но это вынужденная мера в текущей ситуации.
@aborouhin Для нас это была как раз та причина, по которой пришлось изучить исходный код через месяц после развертывания)
Про Tailscale поищу - не встретился при поиске решения
Т.е. централизованный сервер используется только чтобы проверить статус лицензии, а для основного функционала (включая SSO, OTP и прочие нужные в хозяйстве фишки) он никак не нужен? Тогда это интересно, посмотрю обязательно подробнее. У Tailscale по-другому, там-таки их сервер. Есть полностью self-hosted форк (headscale), но там свои приколы (типа необходимости приложение под Android пересобирать вручную, что делает его деплой и обновление, особенно для удалённых пользователей, не вполне тривиальной задачей)
Централизованный сервер используется, чтобы:
* Проверить лицензию (и скачивать каждый раз css стили, которые раскрывают расширенный функционал в админке на стороне клиента)
* Выполнить авторизацию через SSO (подумываю переписать этот кусок на локальный Keycloak, чтобы прикрутить что-то вроде opswat)
* Узнать публичные ip - дополнительный функционал, чтобы не указывать руками
Все остальное - OTP, Radius, сам VPN работают без сервера.
DUO работает через свой сервер - мы используем его только как дополнительный уровень для админов, без него все и дальше будет работать.
Спасибо за наводку на headscale - с виду тоже выглядит заманчиво, будет что порекомендовать коллегам, не решившимся на пританул)
Для SSO/OTP нужен сервер pritunl: "SSO will not work with this api version! As Pritunls own authentication servers handle the whole SSO stuff, track instance ids and verify users I won't implement this part for privacy concerns (and also this would need to be securly implemented and need a database)."
Это цитата из фейкового API, которое в целом я стараюсь не упоминать, дабы уважать чувства человека, который самостоятельно написал весь Pritunl и опубликовал для нас исходный код, не продавая закрыто подписки.
Как я описывал в прошлом комментарии, для функционала SSO используется публичный сервер, организующий мост между VPN клиентом, сервером, и SSO провайдером. При этом, для использования Radius или DUO он не нужен.
Для OTP в такой схеме необходимости так же нет - пользователь получает токен, на основе которого генерятся коды, а сервер сверяет эти коды, сгенерив их на основе этого же токена.
типа необходимости приложение под Android пересобирать вручную
Вроде же недавно дали это настроить в андроиде? В ios - нельзя
@OneManStudio Бесплатный Pritunl из коробки не позволяет использовать кластер и авторизацию через сторонний сервис - вы будете ограничены одной зоной доступности и пином в 8 цифр. Сертификат как способ в этом случае не считаю, т.к. он хранится и передается слишком открыто.
Pritunl оказался единственным сервисом, который смог закрыть наши потребности
Потребности могли бы перечислить в явном виде.
Непонятно, связка с AD и наличие OTP - это весь набор или его часть.
Интеграция с Active Directory. Реализована через Radius, но присутствует. Забирать группы пользователя не получится;
А она у вас заработала для самого VPN?
А то я когда radius тестил - пароль радиусный только для входа в вебморду подходил, а сам openvpn шлёпал AUTH_FAILED в логи и в radius не приходил.
Вроде фиксы были, но уже не проверял.
VPN уровня Enterprise для всех