Не так давно в нашем блоге мы публиковали материал, посвященный обзору программных реализаций VPN, который вызвал достаточно бурное обсуждение. Тогда мы обещали подготовить вторую часть: на этот раз мы взглянем на следующие программные решения для создания виртуальных частных сетей: AnyConnect VPN, OpenConnect VPN, SoftEther VPN, Tinc.



/ фото Dave Crosby CC


AnyConnect VPN


Исследуя продукты, которые предлагает компания Cisco, достаточно сложно пройти мимо слов «Any Connect» – за этим названием скрывается решение, разрабатываемое вендором как VPN-клиент «следующего поколения». И он действительно предлагает несколько прогрессивных функций для защиты компьютеров компаний.

Например, продукт предоставляет полный сетевой доступ на базе SSL (TLS и DTLS) и IPsec, что позволяет удаленным клиентам устанавливать соединение практически с любым приложением или сетевым ресурсом, потому часто используется организациями для расширения доступа к корпоративным ноутбукам.

Подключение осуществляется с помощью клиента Cisco AnyConnect Secure Mobility Client, протокола L2TP/IPsec VPN и IPsec VPN. Решение автоматически подстраивает протокол туннелирования с учетом ограничений сети и использует протокол DTLS для оптимизации проходящего трафика, например VoIP или TCP-доступа к приложениям.

Благодаря распространению шифрования SSL, применяющегося в браузерах, AnyConnect обеспечивает удаленный доступ без клиента, что позволяет обращаться к сетевым ресурсам, веб-приложениям и приложениям терминальных служб (например Citrix) вне зависимости от их расположения.

AnyConnect способен определять операционную систему, а также антивирусы и брандмауэры, установленные на клиенте, перед установлением удаленного соединения, что тоже положительно сказывается на безопасности. Дополнительно стоит упомянуть и возможности телеметрии. Система собирает информацию о происхождении вредоносного контента, обнаруженного антивирусным программным обеспечением, которую можно использовать для повышения безопасности сети за счет модификации правил фильтрации URL.

OpenConnect VPN


OpenConnect – это открытое приложение для подключения к виртуальным частным сетям с реализацией подключений точка-точка, которое изначально было написано в качестве замены проприетарного клиента Cisco AnyConnect SSL VPN. Причиной для разработки послужила серия недостатков, обнаруженных в решении Cisco под Linux: отсутствие поддержки архитектур отличных от i386 (для платформ Linux), отсутствие интеграции с NetworkManager, отсутствие грамотной поддержки форматов пакетов RPM и DEB, невозможность работы в качестве непривилегированного пользователя, закрытость кода и др.

OpenConnect (ocserv) разрабатывался как небольшой, безопасный и быстрый VPN-сервер. Он поддерживает протокол OpenConnect SSL VPN и совместим с клиентами, использующими протокол AnyConnect SSL VPN – при этом применяются стандартные TLS и DTLS протоколы передачи данных. Более того, OpenConnect предоставляет двойной TCP/UDP VPN-канал и умеет работать со стандартными протоколами безопасности IETF.

Соединение происходит в два этапа. Сперва устанавливается простое HTTPS-соединение, по которому происходит аутентификация пользователя (с помощью сертификата, пароля или SecureID). После аутентификации пользователь получает cookie, используемое для установления VPN-соединения.

Одной из основных функций ocserv является разграничение привилегий пользователей с целью повышения безопасности и отказоустойчивости, что достигается за счет совместного использования TCP и UDP.

SoftEther VPN


Дэйю Нобори (Daiyu Nobori) начал разрабатывать SoftEther VPN, когда начинал свое обучение в Цукубском университете. В 2003 он выпустил первую версию SoftEther, но получил предупреждение от правительства Японии, которое посчитало, что проект подпадает под определение вредоносного ПО из-за своей способности обходить брандмауэры. В результате SoftEther был исключен из общего доступа.

Через какое-то время – в апреле 2004 – Mitsubishi Materials Corporation предложили Нобори купить SoftEther 1.0 и подписать контракт на 10 лет (с апреля 2004 по апрель 2014), который давал корпорации право на продажу SoftEther и запрещал автору продавать программу самостоятельно. Однако в марте 2013 Нобори начал распространять решение бесплатно, а в январе 2014 года его удалось открыть под лицензией GPLv2.

SoftEther VPN – это еще один мощное и простое решение для организации VPN. SoftEther VPN совместим с современными популярными VPN-продуктами: OpenVPN, L2TP, IPsec, EtherIP, L2TPv3, Cisco VPN Routers и MS-SSTP VPN имеет версии под Windows, Linux, OS X, FreeBSD и Solaris.

Программное обеспечение состоит из сервера, бридж-сервера, клиента, GUI и утилит администрирования. Клиент нужен для подключения одного компьютера к LAN (Remote Access VPN), а бридж-сервер – для соединения двух или более сетей (Site-to-Site VPN). Стоит отметить, что при использовании второго варианта исключается необходимость отдельной настройки параметров подключения для каждого конкретного клиентского устройства – достаточно сконфигурировать по одному VPN-шлюзу со стороны каждой из связываемых сетей. Кстати, мы подготовили небольшое практическое руководство по настройке Site-to-Site VPN – его вы можете найти по ссылке.

SoftEther VPN позволяет определить локальный мост между виртуальным хабом и физическим Ethernet-сегментом используя функцию Local Bridge, что дает возможность обмениваться пакетами между физическим адаптером и виртуальным хабом, а это, в свою очередь, разрешает настроить удаленный туннель из дома или с мобильного устройства. Также вы можете установить каскадное соединение между двумя и более удаленными виртуальными хабами, дабы объединить два и более Ethernet-сегментов в одно целое.

Не стоит забывать и про поддержку средств для обхода межсетевых экранов и систем глубокого инспектирования пакетов, которые несколько лет назад вызвали недовольство у правительства Японии. Для затруднения обнаружения туннеля в SoftEther VPN поддерживается техника закамуфлированного проброса Ethernet поверх HTTPS, при этом на стороне клиента реализуется виртуальный Ethernet-адаптер, а на стороне сервера – виртуальный Ethernet-коммутатор.

С момента публикации бинарной версии SoftEther VPN Server было зафиксировано более 80 тысяч успешных внедрений сервера, большинство из которых в Японии, США и Китае.

Tinc


Tinc – это VPN-демон и один из претендентов на звание самой маленькой и самой простой в настройке VPN-реализации. Проект стартовал достаточно давно, еще в 1998 году, а активная разработка ведется по сей день, но несмотря на это tinc выглядит зрелым продуктом.

Он позволяет соединять компьютеры посредством сетей IPv4/IPv6, работающих под управлением таких ОС, как Linux, BSD, Mac OS X, Solaris, Windows. Кроме того, поддерживается работа на iPhone и iPod.

Tinc обладает несколькими интересными функциями. Весь трафик опционально сжимается с помощью zlib или lzo, а для шифрования используется LibreSSL или OpenSSL – это позволяет защитить передаваемые данные от изменения.

Что интересно, вне зависимости от настройки демонов tinc, если есть возможность, VPN-трафик направляется напрямую к точке назначения, не делая «крюков», а введение новых узлов осуществляется простым добавлением файла конфигурации – нет необходимости запускать новых демонов или создавать новые устройства.

Сегодня tinc доступен в репозиториях большинства дистрибутивов, а установочный пакет для Windows можно скачать на официальном сайте. Разработчиками взят курс на упрощение процесса установки и настройки систем на базе tinc, а в документации на сайте отражены все важные вопросы, в том числе и особенности установки в различных операционных системах.

Вместо заключения


Чтобы развернуть VPN в своей инфраструктуре вы всегда можете воспользоваться услугами сторонних VPN-провайдеров, однако стоит отметить, что их услуги обходятся недешево, особенно если к сети необходимо подключить сразу большое количество клиентов. При этом провайдер получает ваши корпоративные и личные данные – на этот шаг готова пойти не каждая компания.

?Более надежным и гибким решением видится самостоятельная настройка виртуальных частных сетей на физических или виртуальных серверах (VPS/VDS). Благо в интернете есть большое количество подробных инструкций. Свой вариант с использованием облачного VPS/VDS-сервера от 1cloud предлагаем и мы (для Windows и для Linux). Такое решение легко масштабируется под текущую нагрузку на виртуальную частную сеть.

P.S. Если вам интересно, то мы готовы поделиться своим опытом разработки IaaS-провайдера 1cloud. Вот несколько интересных подготовленных нами материалов:?

Поделиться с друзьями
-->

Комментарии (23)


  1. chelaxe
    01.09.2016 14:35
    +2

    Могу сказать за SoftEther — все классно. Быстро и просто развернуть. Понятен. Подключиться к нему можно чем угодно. Штатными средствами Android, клиентом OpenVPN, клиент SoftEther есть под OpenWRT и работает стабильно (сеть из 50 устройств более года эксплуатации на производственном участке). Минусы которые встречались: при организации канала необходимо было уменьшить объем паразитного трафика, как выяснилось часть такого трафика генерит сам SoftEther. Это отключается, но все же пришлось помаяться. Так же повысить скорость соединения не так уж просто (из коробки было 5 Мбит, после долгих работ удалось получить до 20 Мбит). Но в общем стоящий комбайн, порадовал, советую.


    1. Evengard
      01.09.2016 15:02
      +1

      Кстати, такой вопрос — может ли клиент SoftEther-а подключиться к, например, «чистому» MS-SSTP (поднятому не с помощью SoftEther, а при помощи WinServer, иначе он будет скорее всего использовать свой собственный EtherIP)?


      1. chelaxe
        01.09.2016 15:06

        SoftEther имеет собственный протокол SSL-VPN, так что думаю он не совместим с «чистым» MS-SSTP. В то же время сервер SoftEther поддерживает L2TP/IPsec, MS-SSTP, OpenVPN, L2TPv3 протоколы.


        1. Evengard
          01.09.2016 15:10
          +1

          Вот мне и интересно. Если сервер поддерживает, может и клиент тоже? Чёткого ответа на этот вопрос я не видел, а протестировать не довелось. Если бы поддерживал, то наверное это был бы чуть ли не единственный клиент, который бы поддерживал SSTP из-под Линукса.


          1. chelaxe
            01.09.2016 15:12

            Клиент SoftEther поддерживает только собственный протокол SSL-VPN SoftEther, а сервер в свою очередь поддерживает L2TP/IPsec, MS-SSTP, OpenVPN, L2TPv3 протоколы и соответственно клиенты которые работают с данным протоколом. Как то так.


    1. myppomeu
      01.09.2016 16:17

      Увидеть статью по настройке и оптимизации было бы прекрасно!


    1. gvozd1989
      02.09.2016 11:11

      А каким образом оптимизировали SoftEther?


      1. chelaxe
        02.09.2016 12:30

        В политиках отключаем много лишнего, юзаем сжатие и в нашем случае tcp соединение, ну и убираем сервера с роутеров и переносим на нормальный сервер (все таки прожорлив)


        1. gvozd1989
          02.09.2016 16:01

          Это с каким протоколом возможно?


          1. chelaxe
            02.09.2016 17:52

            Собственный протокол SoftEther SSL-VPN он по шустрее OpenVPN


  1. pewpew
    01.09.2016 15:23

    Насчёт сравнения сторонних сервисов — есть неплохой каталог сервисов http://allvpn.org/
    Постоянно пополняется и удобно выбирать. Себе выбрал ALTVPN.


    1. mxms
      01.09.2016 22:39

      Тут про серверы, а не про сервисы. Почувствуйте разницу!


      1. pewpew
        01.09.2016 22:49
        +2

        Я чувствую. Но тема смежная. И об этом в первом предложении статьи даже пишут.

        Не так давно в нашем блоге мы публиковали материал, посвященный обзору программных реализаций VPN, который вызвал достаточно бурное обсуждение.


    1. mxms
      01.09.2016 22:45

      .


  1. icCE
    01.09.2016 15:51
    +1

    Только сегодня вспомнил про tinc, когда была необходимость используя только windows быстро сделать сеть vpn.
    Настройка с 0 заняла меньше 10 минут.


  1. navion
    01.09.2016 19:50

    У AnyConnect с версии 4.0 цена взлетела до небес. Раньше лицензия на железку (Essentials + Mobile) стоила около сотни баксов, а сейчас просят по $14 за пользователя на три года.


  1. mxms
    01.09.2016 22:50
    +5

    Это даже не обзор, это верхоглядство какое-то.
    Где мегапопулярный OpenVPN? Где StrongSwan с поддержкой IKEv2? Где OpenSwan? Где BSD-шный mpd5 наконец?


    1. YourChief
      01.09.2016 22:59
      +4

      Таким стилем изложения страдают многие корпоративные блоги, так как ставят перед собой только маркетинговую цель.


      1. mxms
        01.09.2016 23:03
        +1

        Хороший показатель компетентности, ага.


    1. Pilat
      02.09.2016 01:40
      +1

      Справедливости ради. OpenVPN был рассмотрен в первую очередь.


      1. mxms
        02.09.2016 10:46

        Да, я посмотрел первую часть. Но ему место не среди описания протоколов, хотя он и реализует свой, как и Softether, а сюда в обзор.


  1. Night_Snake
    01.09.2016 23:10

    Насчет «проверки на наличие антивирусов» — забудьте. Если только не хотите ежедневного потока жалоб от сотрудников, т.к. новые версии определяются далеко не сразу, и не все, а даже если версия нужная — всё равно может случиться какой-нибудь косяк. TAC разводит руками, просит «собрать данные» и обещает «передать разработчикам».
    Проблема лишь в том, что новые версии антивирусов релизятся несколько чаще, чем Cisco добавляет их в вайт лист…


  1. jakshi
    05.09.2016 14:38

    Если нужен мультипротокольный VPN сервер, как альтернативу SoftEther VPN, можно использовать:
    https://github.com/jlund/streisand

    Думаю актуально для живущих за China's Great Firewall.