Pull to refresh

Comments 31

AnyConnect и juniper ssl vpn — совместимый ocserv(OpenConnect server) забыли.
Наш материал посвящен самым популярным программным реализациям VPN. Спасибо за ваш комментарий — это хорошие претенденты на изучение для тех, кто уже пресытился описанными нами решениями. Несколько моментов обратили на себя и наше внимание

Если на то пошло, то и Cisco DMVPN есть открытый программный — opennhrp, также обошли вниманием вы и другие full-mesh — например, gvpe.


Обзор так себе, на троечку.

Странно что об ocserv так мало говорят.
По моему мнению он на много лучше OpenVPN по всем параметрам (абсолютно по всем).

Например:
Стандартный TLS: считаю что это хорошо, хоть и не все согласятся. Зато пробивается через великий Китайский… :)
Из коробки умеет параллельно соединяется по TLS+DTLS и предпочитает UDP когда он работает.
У каждого клиента свой TUN/TAP интерфейс на который можно повесить все правила маршрутизации и firewall которые нужно. (думаю многие и не знают что в опенвпн есть встроенный самописный велосипедный «firewall» :) )
У каждого клиента собственный процесс, суммарная скорость не ограничивается одним потоком.
Нормальная поддержка многих видов авторизации… из коробки: прощайте плагины которые работают через раз. Кто пытался прикрутить радиус к опенвпн: поймут. Можно быстро, за 1 минуту поднять сервер с авторизацией по логин/пасс из файла; или строить каскад из сертификатов и радиуса… (это уже не за минуту :) ).
При этом есть клиенты для виртуально любой платформы. Для многих open source, для остальных от Cisco (за ответом «а разрешено ли? » надо идти к юристам, не могу ответить)

Кстати, читал о том, что Китайский файерволл блокируя VPN успешно ловит OpenVPN, но не опознает OpenConnect VPN =)
С sstp под не-Windows на самом деле всё не так плохо. Есть такая штука, как SoftEther, у них и сервер есть, и клиент. С sstp очень даже дружит — и как сервер, и как клиент. Настраивал сервер на линуксе, и пользовался дефолтным виндовым клиентом — всё работает неплохо, правда если надо настроить чуть более нестандартно — то уже сложнее — примеров мало, ибо он не ожень-то популярен.
А чем плох SoftEther под Windows? Приходилось использовать именно его — весьма доволен.
Удивило отсутствие
упоминания ESP при описании IPSec,
упоминания классических связок GRE/IPSec,
раскрытия особенностей наложенного туннелирования (туннель в туннеле),
раскрытия применение SSH для туннелирования,
упоминания отечественных протоколов и СКЗИ для VPN,
использования технологий NAT и Proxy совместно с криптотунелями.

Тема VPN, не смотря на то, что ей 100 лет в обед имеет в себе много интересных особенностей. Ждем следующих серий
imbasoft, этот материал носит скорее вводный или краткий справочный характер. Упоминаемые вами темы — действительно повод для выхода новых серий. Возьмем на заметку, спасибо.
Кстати, фатальные баги, обнаруженные случайно в openssh и openssl, породили новый тренд в криптографии: «давайте перепишем криптографию как можно более лаконично и выразительно». И теперь помимо фич криптографические библиотеки меряются количеством строк кода: у кого меньше — тот молодец, потому что отследить этот критический код становится проще. На почве этого тренда родился vpn сервер под именем fastd. Его рассмотреть тоже стоит.
Мне кажется, из легковесных решений лучше всего Wireguard. Это новый проект, пока что Linux-only, но очень простой в настройке, быстрый и очень компактный.
Еще один существенный плюс OpenVPN – возможность проходить через NAT и брандмауэр без их дополнительной конфигурации по стандартному для HTTPS порту TCP 443 благодаря SSL/TLS-инкапсуляции.

OpenVPN вроде свой собственный протоктол использует. Никакой там инкапсуляции в SSL. А вот SoftEther умеет прикидываться SSL соединением!
GoVPN ещё неплох.

Censorship resistant handshake and transport messages: fully indistinguishable from the noise with optionally hidden packets length.
Antonto, OpenVPN использует библиотекой openssl, поддерживая все ее возможности и работает как по протоколу tcp, так и по udp. Вы можете направить его по TCP 443, чего не скажешь о некоторых других реализациях: https://openvpn.net/index.php/open-source/339-why-ssl-vpn.html.

SoftEther заслуживает внимания, сложно не согласиться. Включим его в следующие серии материалов по VPN.
Antonto, OpenVPN использует библиотекой openssl, поддерживая все ее возможности и работает как по протоколу tcp, так и по udp. Вы можете направить его по TCP 443, чего не скажешь о некоторых других реализациях: https://openvpn.net/index.php/open-source/339-why-ssl-vpn.html.

SoftEther заслуживает внимания, сложно не согласиться. Включим его в следующие серии материалов по VPN.

OpenVPN вовсе не прибит гвоздями к OpenSSL. Он может быть собран и с PolarSSL, например, в репозиториях OpenWRT есть такие сборки (они меньше, что важно для мелких устройств с мелкими флешками).

Унылый пиар. Вот есть базовые варианты, а вот есть крутое, что продаём мы.
StalkerNOVA. Дело в том, что мы не продаем услуги VPN и для нас не может иметь значения выбор пользователями реализации, поскольку и в том случае, если они поднимут VPN-серверы у нас, то будут платить нам только за саму виртуальную машину, а не за выбранное VPN-решение.

Этот обзор описывает популярные сегодня реализации и с точки зрения их ресурсоемкости и совместимости. Возможно, это поможет кому-то, например, в выборе ОС для таких задач, и пользователь сможет не переплачивать за коммерческие ОС, требующие больших ресурсов или специфического клиентского ПО.
Есть OpenVPN, а есть OpenConnect VPN (который, как сказано выше, совместим с Cisco и их вездесущим клиентом AnyConnect VPN). Вы не то, что не рассмотрели различий, вы его просто не рассмотрели.
Такая же ситуация с начавшимся развиваться WireGuard VPN. Выглядит перспективно.

Да даже для OpenVPN вы забыли, что сервер может, например, висеть на порту 443 и проксировать весь трафик на веб-сервер, а как только обнаружит трафик для VPN — будет перехватывать его без трансляции веб-серверу продолжая передавать не связанный с VPN трафик серверу, за счет чего в интернет будет смотреть 2 сервиса с 1 порта без конфликтов (чего, кстати, не умеет OpenConnect VPN и для этого предлагают sniproxy)

Все получилось как-то поверхностно, что больше похоже на https://ru.wikipedia.org/wiki/VPN
Да в комментах получился обзор VPN интереснее и разнообразнее.

Если бы хоть свою рекламу не поставили, то может быть еще и нормально смотрелось бы.
Основной недостаток SSTP — продолжение его достоинства. Он TCP-only. При росте латенции до клиента радикально падает как пропускная способность канала, так и интерактивность сессии. Банально, при доступе к терминальному серверу по SSTP-туннелю, вводимый юзером текст отображается с задержкой до нескольких секунд.
Плюс инкапсуляция там не в SSL, а в честный HTTPS. С одной стороны, позволяет на одном адресе и порту одновременно хостить SSTP-сервер и HTTPS-сайт, с другой — прожорливо по ресурсам.
Ну и еще нюанс — через reverse proxy его прокидывать то еще удовольствие, как выяснилось. В протокол вмурована дополнительная защита от HTTPS MitM, сервер проверяет хеш сертификата, на который терминировался клиент. И, чтобы у них пасьянс сошелся, пришлось поломать голову.
Спасибо за статью, подняли довольно интересную тему. Но ошибок в статье просто море, всех не перечислишь…

PPTP довольно сильно тормозит, особенно в Линуксе. Популярный, широко распространенный — да, но вот быстрым его точно нельзя назвать. Ещё нельзя забывать тот факт, что PPTP использует GRE, поэтому не всегда дружит с NATами и файрволлами.

Про то, что IPsec не использует отдельный виртуальный интерфейс — это не всегда так. Многие реализации (например, встроенная в Windows) используют именно отдельный интерфейс. В Линуксе зависит от реализации ESP, так что может быть по-разному. Про BSD и macOS ничего не могу сказать.

Про уязвимости IPsec — вообще непонятно, откуда вы это взяли. ESP вполне себе неплохо защищает от инъекции пакетов. Упоминается какая-то атака, но никаких пруфлинков к ней нет. Дальше идет ссылка на эксплоит, но непонятно, это уязвимость самого протокола или какой-либо конкретной реализации. Я не спорю, IPsec можно умудриться настроить так, что он станет уязвимым, но не стоит прямо вот так пугать читателя многочисленными атаками. Если всё делать по правилам, можно получить очень производительное и безопасное решение. У хабровчанина ValdikSS есть отличный мануал по настройка IKEv2 в Линуксе.

L2TP отдельного раздела не стоит. Если человеку нужен именно L2-туннель, он скорее всего уже достаточно глубоко в теме. По содержанию — очень сомневаюсь, что L2TP/IPsec работает медленнее SSL-based протоколов.

Про то, что OpenVPN сложно настраивать — ну, тут смотря с чем сравнивать. Из рассмотренных технологий эта наверное самая простая в настройке. Её основной минус — это низкая производительность за счет того, что она работает в пространстве пользователя. Например, вот тут есть сравнение скорости работы разных VPN-ов, и OpenVPN тут почти в 4 раза медленнее IPsec. И это ещё достаточно быстрая машина, на медленных OpenVPN часто даже 100 мбит/с выжать не может.

Можно ещё много чего писать на эту тему. Microsoft, начиная с семерки, рекомендует использовать IKEv2 и SSTP. Если не хочется глубоко копать и пофиг на производительность — OpenVPN.
Упоминается какая-то атака, но никаких пруфлинков к ней нет. Дальше идет ссылка на эксплоит, но непонятно, это уязвимость самого протокола или какой-либо конкретной реализации.

По ссылке не ходил, но вероятно это речь об уязвимости протокола, которой уже давно нет. Если не ошибаюсь, раньше ESP умел только шифровать, и для аутентифицированного шифрования непременно нужно было делать бутерброд AH(ESP(IP)). Сейчас он умеет MAC и аутентификацию, так что вы видите просто ещё один косяк этого посредственного обзора — человек не удосужился проверить, не устарело ли то, о чём он пишет.


Кроме того, никогда не было проблемы при корректном использовании IPSec в целом: ну не тянет один ESP, так используй его одиного, возьми весь этот бутерброд и всё будет хорошо. Проблема надумана, в духе "а если я ставлю короткий пароль, его легко подобрать — уязвимость метода аутентификации по паролю!"

На мой взгляд — связка l2tp+ipsec самая стандартная, самая гибкая, самая надежная и самая простая в настройке (за исключением pptp разумеется) и совместимая с максимально широким спектром оборудования.
Ну да — для ее настройки требуется нормальное понимание принципов работы современных сетей, не так как этому учат в линаксе — факт. Но это имхо только плюс.
связка l2tp+ipsec самая стандартная, самая гибкая, самая надежная и самая простая в настройке

Не сказал бы.
1) L2-туннели нужны далеко не всем, зато все получают оверхед от дополнительных заголовков.
2) Нужны костыли при работе через NAT.
3) Практически всегда L2TP используется вместе с IKEv1, хотя есть более новая версия, IKEv2, в которой серьёзно улучшили работу с мобильными сетями.
Не могу сказать, что недостатки прямо такие существенные, но если есть выбор, почему бы не взять тот же IKEv2 в туннельном режиме? Я уже приводил выше ссылку, где Microsoft хочет объявить L2TP/IKEv1 устаревшим.
нормальное понимание принципов работы современных сетей, не так как этому учат в линаксе

Ух, прямо заинтриговали. Ну-с, расскажите нам, что это за нормальное понимание такое. А то мы тут «в линаксе» вообще не в курсе.
Есть какие-то готовые инструменты что-бы по клику* пользователя на веб странице, поднимался впн тунель в сеть клиента?
Вроде бы в TeamViewer добавили свой VPN. Не веб, но всё равно несложно. А так — звучит очень странно, это какая же будет гигантская дыра в безопасности, если по одному клику в вебе открывается внутренняя сеть?
Клиент должен доверять сервису.
Если клиент скачает бинарный клиент и установит, тот тоже может создать дыру, или другой vpn софт, только установка может быть сложнее.
Сейчас у меня за пару кликов — запускается хром приложение, и оборудование клиента начинает работать контролируясь сервером.
А с чего вы взяли, что запуск в вебе по клику означает гарантирует хоть что-то, чему можно доверять? Да разве можно доверять такое важное дело как VPN хоть тому же хрому, который закрытый бинарь?
Есть ряд доверенных программ и компаний, этого достаточно.
Да разве можно доверять ..., который закрытый бинарь?
С таким же успехом можно сказать и про ОС и любой девайс, что теперь в лесу жить?
Sign up to leave a comment.