Первого ноября в России начал действовать запрет на обход блокировок с помощью VPN. И многие компании, в том числе иностранные, задались вопросом, как быть организациям, использующим технологию для создания корпоративных сетей.

Как рассказали представители Госдумы, в законе имеется оговорка, согласно которой шифрование сетей можно использовать в корпоративных целях. Это означает, что компаниям не придётся тратить значительные суммы и прокладывать частные сети между своими офисами, так как установка VPN-соединения практически (а в некоторых случаях так и есть) бесплатна. Поэтому сегодня мы решили рассмотреть два способа организации VPN-соединения в корпоративной сети и несколько применяемых для этого протоколов: PPTP, L2TP/IPsec, SSTP и OpenVPN.


/ Flickr / Johannes Weber / CC

PPTP


Спецификация PPTP разрабатывалась консорциумом, основанным Microsoft для организации VPN в dial-up. Поэтому PPTP долгое время оставался стандартом для корпоративных сетей. По этой же причине он использует протокол шифрования Microsoft Point-to-Point Encryption (MPPE).

Идет «по умолчанию» на любой VPN-совместимой платформе и легко настраивается без дополнительного программного обеспечения. Еще одно достоинство PPTP — высокое быстродействие. Но к сожалению, PPTP недостаточно безопасен. С момента включения протокола в состав Windows 95 OSR2 в конце девяностых, раскрылись несколько уязвимостей.

Самая серьезная — это возможность неинкапсулированной аутентификации MS-CHAP v2. Этот эксплойт позволил взломать PPTP за два дня. Microsoft «залатали» дыру, перейдя на протокол аутентификации PEAP, но потом сами предложили использовать VPN-протоколы L2TP/IPsec или SSTP. Еще один момент — PPTP-подключения легко заблокировать, потому что протокол работает с одним портом номер 1723 и использует GRE-протокол.

Когда VPN-туннель установлен, PPTP поддерживает два типа передаваемых сообщений: это контрольные сообщения для поддержания и отключения VPN-соединения, а также сами пакеты данных.

L2TP и IPsec


Layer 2 Tunneling Protocol, или L2TP, также представлен практически во всех современных операционных системах и работает со всеми устройствами, способными «воспринимать» VPN.

L2TP не умеет шифровать проходящий через него трафик, поэтому его часто используют в связке с IPsec. Однако это приводит к появлению негативного эффекта — в L2TP/IPsec происходит двойная инкапсуляция данных, что отрицательно сказывается на производительности. Также L2TP использует пятисотый UDP-порт, который легко блокируется файрволом, если вы находитесь за NAT.

L2TP/IPsec умеет работать с шифрами 3DES или AES. Первый уязвим для атак типа meet-in-the-middle и sweet32, поэтому сегодня редко встречается на практике. При работе с AES-шифром о крупных уязвимостях неизвестно, поэтому в теории этот протокол должен быть безопасен (при правильной реализации). Однако Джон Гилмор (John Gilmore), основатель Electronic Frontier Foundation, указал в своем посте, что IPSec мог быть специальным образом ослаблен.

Наиболее серьезная проблема с L2TP/IPsec заключается в том, что многие VPN-сервисы реализуют его недостаточно хорошо. Они используют pre-shared keys (PSK), которые можно загрузить с сайта. PSK нужны для установки соединения, потому даже если данные оказываются скомпрометированы, они остаются под защитой AES. Но атакующий может использовать PSK, чтобы выдать себя за VPN-сервер и затем подслушать зашифрованный трафик (даже инжектировать вредоносный код).

SSTP


Secure Socket Tunneling Protocol, или SSTP, — это VPN-протокол, который разрабатывала компания Microsoft. Он основывается на SSL и впервые запущен в Windows Vista SP1. Сегодня протокол доступен для таких ОС, как RouterOS, Linux, SEIL и Mac OS X, однако основное применение он все равно находит на платформе Windows. SSTP — проприетарный стандарт, принадлежащий Microsoft, и его код недоступен для публичного обозрения.

Сам SSTP не имеет криптографического функционала за исключением одной функции — речь идет о криптографическом связывании (cryptographic binding), защищающем от атаки MITM. Шифрование же данных выполняет SSL. Описание процедуры установления VPN-соединения можно найти на сайте Microsoft.

Тесная интеграция с Windows упрощает работу с протоколом и повышает его стабильность на этой платформе. Однако SSTP использует SSL 3.0, который уязвим для атаки POODLE, что в теории сказывается на защищённости VPN-протокола.

OpenVPN


OpenVPN — это открытый проект, использующий библиотеку Open SSL, TLS и ряд других технологий. Сегодня он является индустриальным стандартом в коммерческих VPN-сервисах и реализуется на любой платформе с помощью стороннего ПО. Многие провайдеры даже предоставляют кастомные клиенты OpenVPN, однако над ядром кода все равно работают разработчики проекта.

Среди достоинств OpenVPN выделяется его настраиваемость. Его можно настроить для работы на любом порте. Это позволяет пересылать трафик через порт 443, чтобы «замаскировать» его под HTTPS, что усложняет блокирование.

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

Еще одно достоинство протокола — библиотека OpenSSL. Она поддерживает многие криптоалгоритмы — это 3DES, CAST-128, Camelia, AES и Blowfish. Последние два чаще всего используются на практике.

Также плюсом OpenVPN можно считать регулярные аудиты. Последняя проведенная проверка не выявила «дыр», влияющих на безопасность данных пользователей. Тогда были найдены несколько уязвимостей, дающих злоумышленникам возможность проводить DDoS-атаки, но разработчики пропатчили их в версии OpenVPN 2.4.2.

OpenVPN считается одним из самых надёжных VPN-протоколов имеющихся сегодня и широко поддерживается VPN-индустрией. И хотя раньше OpenVPN не работал на мобильных платформах без root-доступа, сегодня есть third-party приложения, которые исправили это «недоразумение».


/ Flickr / Andrew Hart / CC

Типы подключения VPN


В сегодняшнем материале мы поговорим о двух наиболее часто используемых типах подключения к VPN. Речь пойдёт об удаленном доступе к корпоративной сети (remote access) и соединении «точка — точка» (site-to-site)

Удаленный доступ позволяет сотрудникам компании безопасно подключаться к корпоративной сети через интернет. Особенно это важно в том случае, когда сотрудник работает не в офисе и подключается через незащищенные точки доступа, например Wi-Fi в кафе. Для организации этого соединения, устанавливается туннель между клиентом на гаджете пользователя и VPN-шлюзом в сети компании. Шлюз проводит аутентификацию, а затем предоставляет (или ограничивает) доступ к ресурсам сети.

Чтобы защитить соединение чаще всего используются протоколы IPsec или SSL. Также возможно применение протоколов PPTP и L2TP.


/ Wikimedia / Philippe Belet / PD

Site-to-site VPN служит объединения разных локальных сетей. В этом случае устройства пользователей работают без VPN-клиентов — всю работу выполняет шлюз.
Такой тип подключения применяется тогда, когда у компании есть несколько удаленных офисов, которые нужно объединить в одну частную сеть. А также в том случае, если у организации есть партнер, к сети которого требуется подключение. Это позволяет компаниям вместе работать в защищенном общем пространстве.


/ Wikimedia / Philippe Belet / PD

Для защиты соединения «точка – точка» чаще всего используется IPsec. Также применяется вариант операторского MPLS-облака без публичных сетей. В этом случае появляется возможность организовать соединения Layer3 (MPLS IP VPN) или Layer2 (VPLS).

Напоследок хотелось бы отметить, что имеются еще несколько вариантов использования VPN-соединений:

  • Установление соединения между двумя серверами в дата-центрах. Полезно в том случае, если по какой-то причине нет возможности наладить безопасный канал с помощью стандартной корпоративной сети.
  • Подключение к сервису IaaS.
  • Размещение VPN-шлюза в облаке.

Подробнее о них и технологии VPLS мы планируем рассказать в одном из последующих материалов.



P.S. О чем еще мы пишем в нашем корпоративном блоге:

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


  1. rail-ka
    12.11.2017 18:20

    Хорошая статья, спасибо! Еще хотелось бы увидеть хотя бы небольшое описание таких терминов как Cisco IPsec и IKEv2. Потому что в русском варианте о них информации мало.


    1. AcidVenom
      12.11.2017 22:33

      Cisco IPSec, но IPsec. </зануда>
      Очевидно же, что не дождетесь. </сарказм>


  1. Temmokan
    13.11.2017 06:13

    Интересно было бы почитать о применении tinc в аналогичных случаях.


  1. simplix
    13.11.2017 10:23

    Вопрос по PPTP при mschap2, на который не получается найти однозначный ответ — уязвим ли он при использовании сложного цифро-буквенного пароля с разным регистром длиной 32 символа, к примеру? На каждом углу говорят о небезопасности протокола, но что конкретно имеется в виду — незащищённость слабых паролей, или он в принципе уязвим даже при сложном пароле? Хотелось бы услышать именно факты, а не догадки.


    1. ildarz
      13.11.2017 13:01
      +1

      на который не получается найти однозначный ответ

      А ищете как? Гугл по запросу "PPTP mschapv2 vulnerability" выдает вагон ссылок с однозначным ответом — принципиальная уязвимость протокола.


      1. simplix
        13.11.2017 13:38

        Вы можете указать конкретную статью с тех. подробностями этого однозначного ответа? Например по вашему запросу в гугле есть такие статьи:

        1) www.securitylab.ru/analytics/428488.php

        решил пойти на генерацию для своих пользователей равномерно случайных 21-символьных паролей, не давая им возможности выбирать свои собственные пароли, чтобы гарантировать безопасность развертывания PPTP VPN-сервиса

        2) samag.ru/archive/article/1752
        Ведь редкий пользователь установит себе пароль типа «3hEML@4rj897#KJK$$», его будет сложновато запомнить

        И предлагается использование ключей 2048 бит как надёжное, что говорит о том, что сложность пароля решает проблему.


        1. ildarz
          13.11.2017 13:55
          +1

          Да вот хотя бы по той ссылке, которую вы привели первой, все и описано (насколько я вижу, это перевод оригинального доклада, который окончательно похоронил PPTP-MSCHAPv2). Как вы сделали из нее вывод, что сложность пароля решает проблему, я не знаю, потому что там написано прямо противоположное.


          Вторая ссылка 2007 года. Если уязвимость раскрыта в 2012, чем вам может помочь статья 2007-го?


          1. simplix
            13.11.2017 14:04

            Понял, спасибо.


        1. navion
          15.11.2017 20:08

          И предлагается использование ключей 2048 бит

          Скорее всего там про EAP-MS-CHAP v2. С ним никаких проблем, там обычный MS-CHAP v2 инкапсулируется в TLS.


  1. teecat
    13.11.2017 13:51

    Точности ради

    в России начал действовать запрет на обход блокировок с помощью VPN

    Открываем закон
    Владельцам информационно-телекоммуникационных сетей, информационных ресурсов (сайт в сети «Интернет» и (или) страница сайта в сети «Интернет», информационная система, программа для электронных вычислительных машин), посредством которых обеспечивается доступ к информационным ресурсам, информационно-телекоммуникационным сетям, доступ к которым ограничен на территории Российской Федерации в соответствии с настоящим Федеральным законом (далее также — владелец программно-аппаратных средств доступа к информационным ресурсам, информационно-телекоммуникационным сетям, доступ к которым ограничен), запрещается предоставлять возможность использования на территории Российской Федерации принадлежащих им информационно-телекоммуникационных сетей и информационных ресурсов для получения доступа к информационным ресурсам, информационно-телекоммуникационным сетям, доступ к которым ограничен на территории Российской Федерации в соответствии с настоящим Федеральным законом.

    Сокращаем
    Владельцам информационно-телекоммуникационных сетей, информационных ресурсов… запрещается предоставлять возможность… для получения доступа к информационным ресурсам… доступ к которым ограничен

    Тоесть:
    — Запрета VPN нет, есть запрет на доступ к запрещенным ресурсам
    — Запрет касается владельцев ресурсов, посредством которых идет обход. Частным пользователям запрета нет

    Представитель ведомства Вадим Ампелонский заявил, что закон требует от анонимайзеров отфильтровать запрещенные сайты, при этом сами анонимайзеры при этом не запрещены.
    линк

    Закон, вступающий в силу с 1 ноября 2017 года, не содержит в себе оснований для блокировки домашнего интернета при осуществлении поиска запрещенных сайтов.

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


  1. redmanmale
    13.11.2017 16:56

    И ни слова про SoftEther VPN, который при всех достоинствах практически лишён недостатков.