Немного о VPN: протоколы для удаленного доступа

в 13:05, , рубрики: openvpn, sstp, vas experts, vpn, Блог компании VAS Experts, Сетевые технологии

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

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

Немного о VPN: протоколы для удаленного доступа - 1
/ 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 приложения, которые исправили это «недоразумение».

Немного о VPN: протоколы для удаленного доступа - 2
/ Flickr / Andrew Hart / CC

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

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

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

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

Немного о VPN: протоколы для удаленного доступа - 3

/ Wikimedia / Philippe Belet / PD

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

Немного о VPN: протоколы для удаленного доступа - 4

/ Wikimedia / Philippe Belet / PD

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

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

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

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


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

Автор: VAS Experts

Источник

Поделиться

* - обязательные к заполнению поля