Как стать автором
Обновить

Комментарии 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 в такой схеме необходимости так же нет - пользователь получает токен, на основе которого генерятся коды, а сервер сверяет эти коды, сгенерив их на основе этого же токена.

Не, ну я же специально намекал ну очень прозрачно, что существует и неофициальное API -)

Мы лицензию себе продлили, но это сейчас, мягко говоря, не просто. Хорошо хоть владельцы явно не заворачивают российские лицухи.

типа необходимости приложение под Android пересобирать вручную

Вроде же недавно дали это настроить в андроиде? В ios - нельзя

@OneManStudio Бесплатный Pritunl из коробки не позволяет использовать кластер и авторизацию через сторонний сервис - вы будете ограничены одной зоной доступности и пином в 8 цифр. Сертификат как способ в этом случае не считаю, т.к. он хранится и передается слишком открыто.

Pritunl оказался единственным сервисом, который смог закрыть наши потребности

Потребности могли бы перечислить в явном виде.
Непонятно, связка с AD и наличие OTP - это весь набор или его часть.

Тут приходится ограничиваться и путаться из-за NDA, да и кому интересно что хотели от нас разные отделы?)
Большинство из них точно были в плюсах.

Интеграция с Active Directory. Реализована через Radius, но присутствует. Забирать группы пользователя не получится;

А она у вас заработала для самого VPN?

А то я когда radius тестил - пароль радиусный только для входа в вебморду подходил, а сам openvpn шлёпал AUTH_FAILED в логи и в radius не приходил.
Вроде фиксы были, но уже не проверял.

Если работает в вебке - должен работать и при подключении. Может быть у вас два радиуса или контроллера, которые отвечают по-разному, или проблема в группах/втором факторе

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

Публикации

Истории