Немного о VPN: Дополнения к обзору программных реализаций

    Не так давно в нашем блоге мы публиковали материал, посвященный обзору программных реализаций 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. Вот несколько интересных подготовленных нами материалов:


    1cloud.ru
    141,00
    IaaS, VPS, VDS, Частное и публичное облако, SSL
    Поделиться публикацией

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

      +2
      Могу сказать за SoftEther — все классно. Быстро и просто развернуть. Понятен. Подключиться к нему можно чем угодно. Штатными средствами Android, клиентом OpenVPN, клиент SoftEther есть под OpenWRT и работает стабильно (сеть из 50 устройств более года эксплуатации на производственном участке). Минусы которые встречались: при организации канала необходимо было уменьшить объем паразитного трафика, как выяснилось часть такого трафика генерит сам SoftEther. Это отключается, но все же пришлось помаяться. Так же повысить скорость соединения не так уж просто (из коробки было 5 Мбит, после долгих работ удалось получить до 20 Мбит). Но в общем стоящий комбайн, порадовал, советую.
        +1
        Кстати, такой вопрос — может ли клиент SoftEther-а подключиться к, например, «чистому» MS-SSTP (поднятому не с помощью SoftEther, а при помощи WinServer, иначе он будет скорее всего использовать свой собственный EtherIP)?
          0
          SoftEther имеет собственный протокол SSL-VPN, так что думаю он не совместим с «чистым» MS-SSTP. В то же время сервер SoftEther поддерживает L2TP/IPsec, MS-SSTP, OpenVPN, L2TPv3 протоколы.
            +1
            Вот мне и интересно. Если сервер поддерживает, может и клиент тоже? Чёткого ответа на этот вопрос я не видел, а протестировать не довелось. Если бы поддерживал, то наверное это был бы чуть ли не единственный клиент, который бы поддерживал SSTP из-под Линукса.
              0
              Клиент SoftEther поддерживает только собственный протокол SSL-VPN SoftEther, а сервер в свою очередь поддерживает L2TP/IPsec, MS-SSTP, OpenVPN, L2TPv3 протоколы и соответственно клиенты которые работают с данным протоколом. Как то так.
          0
          Увидеть статью по настройке и оптимизации было бы прекрасно!
            0
            А каким образом оптимизировали SoftEther?
              0
              В политиках отключаем много лишнего, юзаем сжатие и в нашем случае tcp соединение, ну и убираем сервера с роутеров и переносим на нормальный сервер (все таки прожорлив)
                0
                Это с каким протоколом возможно?
                  0
                  Собственный протокол SoftEther SSL-VPN он по шустрее OpenVPN
            0
            Насчёт сравнения сторонних сервисов — есть неплохой каталог сервисов http://allvpn.org/
            Постоянно пополняется и удобно выбирать. Себе выбрал ALTVPN.
              0
              Тут про серверы, а не про сервисы. Почувствуйте разницу!
                +2
                Я чувствую. Но тема смежная. И об этом в первом предложении статьи даже пишут.
                Не так давно в нашем блоге мы публиковали материал, посвященный обзору программных реализаций VPN, который вызвал достаточно бурное обсуждение.

                0
                .
                +1
                Только сегодня вспомнил про tinc, когда была необходимость используя только windows быстро сделать сеть vpn.
                Настройка с 0 заняла меньше 10 минут.
                  0
                  У AnyConnect с версии 4.0 цена взлетела до небес. Раньше лицензия на железку (Essentials + Mobile) стоила около сотни баксов, а сейчас просят по $14 за пользователя на три года.
                    +5
                    Это даже не обзор, это верхоглядство какое-то.
                    Где мегапопулярный OpenVPN? Где StrongSwan с поддержкой IKEv2? Где OpenSwan? Где BSD-шный mpd5 наконец?
                      +4
                      Таким стилем изложения страдают многие корпоративные блоги, так как ставят перед собой только маркетинговую цель.
                        +1
                        Хороший показатель компетентности, ага.
                        +1
                        Справедливости ради. OpenVPN был рассмотрен в первую очередь.
                          0
                          Да, я посмотрел первую часть. Но ему место не среди описания протоколов, хотя он и реализует свой, как и Softether, а сюда в обзор.
                        0
                        Насчет «проверки на наличие антивирусов» — забудьте. Если только не хотите ежедневного потока жалоб от сотрудников, т.к. новые версии определяются далеко не сразу, и не все, а даже если версия нужная — всё равно может случиться какой-нибудь косяк. TAC разводит руками, просит «собрать данные» и обещает «передать разработчикам».
                        Проблема лишь в том, что новые версии антивирусов релизятся несколько чаще, чем Cisco добавляет их в вайт лист…
                          0
                          Если нужен мультипротокольный VPN сервер, как альтернативу SoftEther VPN, можно использовать:
                          https://github.com/jlund/streisand

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

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

                          Самое читаемое