Выбираем протокол для VPN. Сравнение OpenVPN, PPTP, L2TP/IPsec и IPsec IKEv2
Многие ресурсы, рассказывая пользователям о VPN, как правило, рекомендуют OpenVPN с шифрованием 256 бит, объясняя, что это самый надежный протокол. Но на самом деле это не совсем протокол, а на итоговую безопасность VPN влияют несколько показателей, и каждый из них очень важен.
Мы начинаем цикл о выборе безопасного VPN, в рамках которого рассмотрим показатели, влияющие на итоговую безопасность VPN, и в их разрезе расскажем о некоторых уязвимых местах VPN-туннеля.
Как правило, выбор VPN начинается с выбора протокола туннелирования (далее ПТ). Сегодня на рынке имеется несколько вариантов ПТ для реализации виртуальной частной сети: OpenVPN, PPTP, L2TP/IPsec, IPsec IKEv2 и другие, не получившие широкого распространения.
Сразу хотелось бы отметить, что OpenVPN не совсем верно называть протоколом туннелирования, это программное обеспечение для создания виртуальной сети, но пусть будет протокол, дабы избежать путаницы. Что такое протокол? Представьте себе ситуацию: вы встретились с человеком и хотите с ним пообщаться, но говорите на разных языках. Разумеется, вы не поймете друг друга, и речи о каком-либо полноценном взаимодействии идти не может. Протокол – это и есть язык взаимодействия, в данном случае между компьютером и VPN-сервером.
PPTP – первый протокол, поддерживаемый на платформе Windows. Протокол имеет слабое шифрование и может быть взломан как спецслужбами, так и квалифицированными злоумышленниками. Из плюсов стоит отметить отсутствие необходимости устанавливать дополнительное программное обеспечение и скорость работы. PPTP VPN требует минимальных ресурсов и по сравнению с OpenVPN почти не расходует заряд при использовании на мобильных устройствах. Почему этот протокол до сих пор используется?
Главная его проблема – слабая защита передачи ключа, но это не значит, что любой желающий может взломать шифрование. PPTP имеет и свои плюсы: простоту в настройке и использовании, неплохую защиту и смену IP-адреса. PPTP, может, и не самый защищенный протокол, но определенно лучше, чем ничего.
Что о нем надо знать:
Он медленнее других из-за двойного инкапсулирования (создается IPsec-туннель, а данные ходят через L2TP);
Использует стандартные порты, и потому его легко может заблокировать интернет-провайдер или системный администратор;
Операционные системы имеют встроенную поддержку этой технологии, нет необходимости ставить дополнительное ПО;
При его правильной настройке нет информации о возможности расшифровать данные.
Мы его не рекомендуем и не используем из-за скорости, потому много рассказывать о нем не станем.
Что такое IKEv2 в этой связке? Это, если говорить очень просто, авторизация через сертификат, и она, к сожалению, поддерживается не всеми устройствами.
Что о нем надо знать:
Работает быстрее, нежели L2TP/IPsec,
Сопоставим с OpenVPN,
Поддерживается не всеми операционными системами (хотя сам IPsec поддерживается везде);
При правильной настройке его не могут расшифровать ни спецслужбы, ни злоумышленники (по крайней мере, так считается в среде IT-специалистов).
Стоит отметить поддержку IPsec на всех популярных операционных системах как положительный момент. Но есть по этому поводу и другое мнение: в отличие от встроенных систем шифрования диска, наличие встроенных систем IPsec не вызывало возмущений со стороны спецслужб. Его реализовали даже в Windows, где всегда воздерживались от инструментов защиты данных, недоступных для взлома спецслужбам. Этот факт многим кажется подозрительным.
OpenVPN – бесплатное решение с открытым исходным кодом, которое, по признанию большинства специалистов, является самым лучшим на сегодняшний день для создания частной виртуальной сети (VPN).
Что надо знать об OpenVPN:
Не входит в состав стандартных дистрибутивов современных операционных систем, потому требует установки дополнительного программного обеспечения;
При правильной настройке его не смогут расшифровать ни спецслужбы, ни злоумышленники;
При нестандартных настройках сложно блокируется.
Да, OpenVPN требует установки дополнительного программного обеспечения, но это проверенный временем софт с открытым исходным кодом, установка и настройка которого не создаст проблем даже новичку.
OpenVPN работает на всех современных операционных системах: Windows, macOS, Linux, Android, iOS.
Зашифрованная информация, созданная при помощи OpenVPN, может передаваться по одному из двух протоколов: UDP или TCP. VPN-провайдеры обычно предлагают оба варианта, сопровождая их комментарием «TCP надежней, UDP быстрее».
Представьте себе, что вы рубите лес для постройки дома и вам надо спускать срубленные деревья вниз по реке до места строительства. Вы можете просто бросать их в воду, и ваш помощник будет ловить их на месте стройки ‒ это будет самым быстрым и простым способом. Но если бревно застрянет в процессе доставки или будет похищено, вы не узнаете этого, разве что когда вам не хватит бревен на постройку дома. А если вы присвоите каждому бревну номер и ваш помощник будет звонить после получения каждого бревна, уведомляя об успешной доставке, в этом случае, даже если какие-то бревна будут потеряны, вы узнаете об этом незамедлительно и отправите замену. Но согласитесь, такой способ отправки бревен займет больше времени, а потому, если река широкая и не извилистая, лучше использовать простой и быстрый способ.
Аналогичная ситуация и в выборе протокола: UDP – быстрый способ без подтверждения доставки пакетов, его мы рекомендуем использовать при стабильном интернете.
TCP не такой быстрый, но зато доставка каждого пакета подтверждается, он рекомендуется при плохой связи. TCP необходим в тех ситуациях, когда UDP-трафик блокируется провайдером или настройками роутера.
Альтернативный вариант OpenVPN TCP по 443 порту не может быть заблокирован, так как этот порт используется для всех HTTPS-соединений, и пользователи просто не смогут открывать сайты. Мы в своих решениях ставим OpenVPN UDP, но если в течение 15 секунд не получается подключиться при помощи UDP, автоматически начинается TCP-соединение. Позже мы поговорим про TLS authentication, порт соединения, генерацию сессионного ключа, алгоритмы шифрования, длину ключа, аутентификацию данных и другие составляющие безопасного VPN-соединения.
IKEv2 и Flex VPN средствами Cisco IOS. Синтаксис и логика работы
В настоящей статье я попробовал в максимально доступном и сжатом виде описать что такое IKEv2, FlexVPN и как это реализовано в IOS маршрутизаторов Cisco. Для наилучшего понимания содержания, нужно чтобы читателя, на момент ознакомленимя с нижеприведенным текстом, не пугали такие слова как VPN, IPSec, ISAKMP, ISAKMP Profile и т.д. Кроме того, желательно иметь хорошее представление о том, как настраиваются различные типы VPN с использованием VTI интерфейсов (или GRE over IPSec) на оборудовании Cisco, поскольку статья в значителной степени опирается на знание этих вопросов.
Предисловие
Коротко об основных особенностях и отличиях IKEv2 от своего предшественника
Тезисно перечислю наиболее значимые на мой взгляд вещи:
1. Оба протокола работают по UDP/500(4500 в случае с NAT-T), но между собой несовместимы, т.е. не получится так, чтобы на одном конце туннеля был IKEv1, а на другом – IKEv2. При этом один и тот же роутер может терминировать на себе и IKEv2 и IKEv1 туннели одновременно. В заголовках IKEv1 и 2 достаточно различий для того, чтобы роутер смог определить с чем имеет дело, несмотря на одни и те же порты.
2. В IKEv2 больше нет таких понятий как aggressive/main mode, что является одним из аспектов, делающих протокол более простым для понимания.
3. В IKEv2 термин фаза1 заменен на IKE_SA_INIT (обмен двумя сообщениями, обеспечивающий согласование протоколов шифрования/хеширования и генерацию DH ключей), а фаза2 – на IKE_AUTH (тоже два сообщения, реализующие непосредственно аутентификацию пиров и генерацию ключей для ESP). Обмен данными в IKE_AUTH всегда зашифрован с помощью SA, сформированными IKE_SA_INIT. Isakmp SA теперь называются ikev2 sa, а ipsec sa — Child SA.
4. в IKEv2 метод аутентификации между пирами больше не согласовывается автоматически и не привязан к тем или иным политикам IKEv2. Т.е. если раньше в IKEv1 каждой isakmp policy была строка authentication, где указывалось, каков будет тип аутентификации, в случае если будет выбрана именно эта policy, то теперь метод аутентификации задается вручную и явно определяется что вот с этим пиром будет аутентификация по сертификатам, а вот с этим – по pre-shared key. Кроме того, в IKEv2 стала возможна ассимметричная аутентификация. Т.е. можно сделать так, что эндпоинт A будет аутентифицировать эндпоинт B по сертификатам, в то время как B будет аутентифицировать A по pre-shared ключу. Или же А аутентифицирует B с помощью pre-shared key1, в то время как B аутентифицирует A с помощью pre-shared key2. Возможны и другие варианты, в т.ч. аутентификация с использованием различных методов EAP.
5. Mode Config (то, что в ikev1 называлось phase 1.5 и используется для настройки удаленных подключений RAVPN/EasyVPN), NAT-T и keepalives теперь непосредственно описаны в спецификации протокола и являются его неотъемлемой частью. Раньше же эти вещи реализовывались вендорами по своему по мере необходимости.
6. в IKEv2 добавился дополнительный механизм защиты control-plane (services plane) от DoS атак. Суть его в том, что прежде чем отвечать на каждый запрос в установлении защищенного соединения (IKE_SA_INIT) IKEv2 VPN-шлюз шлет источнику такого запроса запроса некий cookie, и ждет, что тот ответит тем же. Если источник ответил – отлично, можно начинать с ним генерацию DH. Если же источник не отвечает (в случае с DoS атакой так и происходит, — это по сути сравнимо с TCP SYN flood attack), VPN-шлюз просто забывает о нем. Без этого механизма, при каждом запросе IKE_SA_INIT IKEv2 от кого угодно VPN-шлюз бы пытался сгенерировать DH ключ (что, как известно, весьма ресуроемкий процесс) и вскоре бы остался с убитой (пусть временно) control-plane.
Что такое FlexVPN?
FlexVPN — это фреймворк, реализющий IKEv2 в IOS маршрутизаторов Cisco. Т.е. это IKEv2+IPSec в синтаксисе команд IOS. Не более того.
Основная фишка, FlexVPN (ключевое слово Flex – Flexible), которую Cisco позиционирует как отличительную особенность FlexVPN, это то, что одна и та же конфигурация VPN-шлюза позволяет цеплять к нему разные типы туннелей – Remote Access, Site-to-Site, etc. Хотя, на мой взгляд, той же (ну или почти той же) flexibility можно добиться и в традиционной IKEv1 настройке, если использовать VTI интерфейсы. Ну да ладно, это все мое ИМХО.
Далее разберем сейчас разберем как выглядит синтаксис FlexVPN, какие комнды он использует, что они означают, для чего нужны, как соотносятся с аналогичными командами в IKEv1.
Синтаксис FlexVPN в части настройки IKEv2
Итак, основные (и, ИМХО, все) компоненты IKEv2 в Cisco IOS, это:
1. Proposal
2. Policy
3. Keyring
4. Profile
Далее о каждом по порядку.
IKEv2 proposal пределяет какие алгоритмы будут задействованы для установления/защиты IKE_SA_INIT фазы. По сути своей – это аналог crypto isakmp policy в IKEv1, хотя и не в полной мере.
Выглядит так:
Первое отличие от isakmp policy в том, что в один proposal можно засунуть сразу несколько алгоритмов/длины ключей шифрования/DH/хеширования. Второе отличие, о чем упоминалось ранее – нет строки authentication, поскольку теперь аутентификация – это отдельный вопрос. Третье отличие – proposal не является самостоятельной частью конфига и должен быть помещен в policy.
IKEv2 Policy – это контейнер для proposal, и не только. Тут сначала пример, а потом поясню:
Как видно, policy ссылается на proposal. Но, кроме этого, она добавляет возможность выбрать тот или иной proposal в зависимости от того, 1) в каком VRF находится интерфейс, к которому подключается удаленный пир; 2) к какому локальному адресу подключается удаленный пир. Если сравнить это crypto isakmp policy в IKEv1, то там crypto isakmp policy были глобальными для всех подключений. В принципе отсутствовала возможность сделать так, что для части пиров могут быть использваны только policy 1,2,3 а для другой части 4.5.6. Тут такая возможность есть, хотя и не уверен, что в этом есть большая практическая польза. Но, тем не менее…
Таким образом, еще раз подчеркну:
Crypto ikev2 policy + crypto ikev2 proposal в IKEv2 выполняют ту же роль, что и crypto isakmp policy в IKEv1.
IKEv2 Keyring – это репозиторий, в котором хранятся pre-shared ключи. Очевидно, что keyring используется и имеет смысл только если выбран метод аутентификации по pre-shared ключам. В случае, если для аутентификации используется PKI, нужно настраивать не keyring, a Trustpoint. Если провести аналогию с IKEv1, там в самом простом случае для задания pre-shared ключей использовалась такая конструкция:
Т.е. pre-shared ключи были самостоятельными элементами конфигурации, каждый сам по себе. В IKEv2 же появился своеобразный контейнер, keyring, благодаря чему конфиг выглядит более структурированным, + добавляются некоторые дополнительные возможности.
Пример того, как может выглядеть keyring vpn-шлюза, установленного в HQ, для взаимодействия с двумя удаленными площадками (в отсутствии глубоких навыков рисования таблиц в html, вставил в виде картинки):
IKEv2 profile лежит в основе FlexVPN и является основной его составляющей. Он определяет «политику» удаленного доступа к VPN-шлюзу. По своему назначению IKEv2 profile – полностью аналогичен IKEv1 isakmp profile в Cisco IOS или tunnel-group (connection profile) если вспомнить ASA, но имеет больше возможностей и более гибок в настройке. Это своеобразный репозиторий параметров, которые не согласовываются участниками VPN-взаимодействия автоматически, а определяются статически. Какие именно функции он выполняет? В процессе установки VPN-соединения, а в частности IKE_INIT_SA VPN-шлюзу нужно знать (цифры в скобках — это не ссылки на список использованной литературы, а ссылки на строки конфига, приведенного ниже):
1. Как аутентифицировать подключающийся пир (PKI? Pre-shared keys?). В IKEv2 тип аутентификации, как я раньше упоминал, – not negotiated, и должен быть явно определен. Во FlexVPN для этого используется ikev2 profile (1).
2. Каковы должны быть параметры dead-peer detection (DPD). В IKEv2 таймеры DPD также не согласовываются автоматически, а задаются вручную в настройках ikev2 profile (2) (хотя могут быть определены глобально).
3. Какой keyring должен быть использован для аутентификации удаленного пира в случае с аутентификацией по pre-shared ключам – это тоже параметр ikev2 profile (3).
4. Какой trustpoint использовать для аутентификации удаленного пира, в случае с PKI-аутентификацией – тоже параметр ikev2 profile (4).
5. Как представить себя удаленному пиру, что выбрать в качестве собственного IKEv2_ID – тоже параметр ikev2 profile (5).
6. В какой iVRF – поместить трафик, после того, как он будет расшифрован (VRF-aware IPSec) – параметр ikev2 profile (6).
Пример IKEv2 профиля:
crypto ikev2 profile profile_name
   match local_address|certificate map|FVRF|IKEv2_ID of remote peer
   authentication
   dpd interval retry-interval
   identity local (5)
   keyring name (3)
   ivrf name (6)
   pki trustpoint label [sign | verify] (4)
   virtual-template number
Т.е. профиль IKEv2 определяет множество параметров VPN-подключения. И таких профилей в конфигурации может быть множество, и каждый может определять различных набор параметров, в зависимости от того, кто/что подключается к шлюзу (или к кому подключается шлюз). И вот это «в зависимости» определяется директивой match (директив match в одном профиле может быть несколько).
Например, имеем два профиля:
С такой настройкой, когда удаленный пир с Src IP = 1.1.1.1 подключится к локальному шлюзу, к нему (пиру) будут применены параметры, описанные в PROFILE1. Когда к локальному шлюзу подклчючится пир с fqdn=remotepeer2.someorg.com – к нему будут применены параметры, описанные в PROFILE2.
Здесь нужно подвести невидимую черту обязательно сказать, что на этом месте все, что называется IKEv2 в контексте натройки протокола средствами IOS, заканчивается и больше ничего нового не будет. А, можно сделать черту видимой. Вот она:
Что дальше?
Так вот, эти четыре продемонстрированные выше конструкции (policy,proposal,keyring,profile) определяют настройку того, что в IKEv1 называлось phase1. В IKEv2 — это IKE_SA_INIT, но суть абсолютно та же.
Что делать после того, как IKE_SA_INIT настроены? Правильно. Нужно настроить профиль IPSec, определить какой трафик будет ходить через тунель (proxy-ACL или тунельный интерфейс — VTI, где за это отвечает маршрутизация), т.е. выполнить то, что в IKEv1 называлось настройками второй фазы. Эта часть настроек в IKEv1 и в IKEv2 абсолютно идентична. Как выглядит конфиг целиком, приведу ниже на простом примере.
Чтобы совсем не думать
Необходимо упомянуть, что FlexVPN в IOSпо дефолту преднастроен так, что требует минимум действий со стороны администратора для быстрой настройки VPN, если администратору не сильно хочется/лень вникать как все это работает и выполнять какие-то умные настройки. Для этого предназначены так называемые smart-defaults. Smart-defaults – это заранее сконфигурированные дефолтные ikev2 proposal/policy/profile, ipsec profile, etc. Объективно smart-defaults могут быть весьма полезны и имеют право на существование. Зачем постоянно вбивать одни и те же настройки, если они уже есть в конфиге? Посмотреть на них можно выполнив команду sh run all | s crypto. Вывод команды будет примерно такой (часть вывода опущена за ненадобностью):
Т.е. видно, что в конфиге по дефолту настроеные и IKEv2 proposal и IKEv2 policy, и IPSec transform-set и IPSec profile. Причем сконфигурированы они так, что высший приоритет имеют наиболее серьезные алгоритмы, что нас вполне устраивает. Естественно, что наибольшую предсказуемость работы VPN обеспечит только ручная настройка всех параметров, но как last-resort — могут быть использованы и дефолтные.
Пример
Дальше рассмотрим достаточно простой пример Site-to-Site VPN с pre-shared аутентификацией. Топология выглядит так:
Нужно настроить IPSec/IKEv2 тунель между маршрутизаторами Site1Router и Site2Router и обеспечить взаимную доступность лупбеков каждого из маршрутизаторов через туннель с использованием динамического протокола муршрутизации.
Конфиг каждого из роутеров в данном случае будет таким:
В данном примере конфиг имеющий отношение к настройке IKEv2 и IPSec выделен цветом. В примере задействованы те самые smart-defaults (см. вывод sh run all выше — т.е. можно просто взять и мысленно дорисовать эти настройки к конфигу каждого роутера), которые задают параметры по умолчанию для IKEv2 policy/proposal, IPSec transform-set. IPSec profile тоже используется дефолтный. В конфиге он ссылается на профиль ikev2 и вешается на туннельный интерфейс для его защиты. В результате конфиг получается довольно компактный и легко читаемый. Как видно из примера, настройка всего, что в IKEv1 имело отношение ко 2 фазе, аналогична таковой в IKEv1. Т.е. создается такой же crypto ipsec transform set (тут взят дефолтный), этот transform-set вместе с ikev2 профилем привязывается к ipsec профилю, ipsec-профиль вешается на интерфейс, работающий в режиме ipsec ipv4 (VTI).
Некоторые команды show
После того, как туннель успешно установился, посмотрим вывод некоторых команд:
Site1Router#sh crypto ipsec sa
Вывод sh crypto ipsec sa такой же, как если бы мы настраивали традиционный Ikev1, поскольку ESP все равно, кто для него подготавливает ключевую информацию — IKEv2 или IKEv1. Далее:
Site1Router#sh crypto ikev2 sa detailed
Тут уже видим специфичную для IKEv2 информацию — использованные алгоритмы шифрования/хеширования/DH группы. Видно также что IKEv2 профиль не был привязан к специфичным VRF (поскольку использовались smart-default). Видно, что инициатором соединения был Site2Router.
Site1Router#sh crypto engine connections active
Тут опять ничего нового. Имеем два unidirectional IPSec SA (строки, начинающиеся с 11 и 12) и один bidirectional IKEv2 SA.
Вывод sh crypto isakmp sa, как и ожидается, ничего не показывает:
Site1Router#sh crypto isakmp sa
Ну вот как-то так. Надеюсь, весь этот текст не оказался слишком запутанным или слишком поверхностным, и будет кому-то полезен.
Что такое IKE и IKEv2 VPN протоколы?
Скачайте VPN и пользуйтесь быстрым и надежным протоколом IKEv2 уже сегодня
Зашифруйте свои конфиденциальные данные и защититесь от кибер угроз с помощью VPN Unlimited и первоклассного VPN протокола IKEv2.
Примечание: VPN Unlimited также доступен как часть пакета безопасности MonoDefense®.
Подробнее о протоколе IKEv2
Для чего использовать IKEv2 VPN протокол:
256-битное шифрование данных
Реализация IPSec для обеспечения безопасности
Стабильное и согласованное соединение
Поддержка MOBIKE для обеспечения лучшей скорости
Безопасность. IKEv2 использует проверку подлинности сертификата сервера, что означает, что он не будет выполнять никаких действий, пока не определит личность запрашивающей стороны. Благодаря этому количество атак «человек посередине» и DoS атак значительно уменьшается.
Скорость. Продуманная архитектура и эффективная система обмена сообщениями протокола IKEv2 обеспечивают лучшую производительность. Благодаря встроенному механизму NAT, который делает проход через брандмауэр и устанавливает соединения намного быстрее, скорость IKEv2 соединения также значительно повышается.
Функции и технические особенности
IKE основан на базовых протоколах безопасности, таких как безопасная ассоциация SA, протокол управления ключами и контекстами безопасности ISAKMP, криптографический протокол распространения ключей SKEME и протокол определения ключей Oakley. ISAKMP определяет основу для аутентификации и обмена ключами, но не указывает сами ключи. SKEME описывает универсальную технику обмена ключами, которая обеспечивает быстрое обновление ключей. Oakley позволяет проверенным сторонам обмениваться ключами через небезопасное соединение, используя алгоритм обмена ключами Диффи-Хеллмана. Такой метод обеспечивает максимальную секретность ключей, защиту идентификационных данных и аутентификацию.
Протокол IKE использует UDP порт 500, который идеально подходит для сетевых приложений, для которых критически важно отсутствие временной задержки, например приложения связанные с аудио и видео обменом файлами или же онлайн игры. Более того, протокол не передает служебные данные, которые связаны с протоколом «точка-точка» (PPP). Это делает IKE быстрее, чем PPTP и L2TP протоколы. Кроме того, IKE протокол поддерживает шифрование AES и Camellia, а также использует ключи длинной 256 бит. Именно поэтому IKE считается достаточно безопасным протоколом.
Готовы начать работу с IKEv2 VPN клиентом?
Ознакомьтесь с нашей подробной инструкцией и узнайте, как настроить IKEv2 соединение на вашем устройстве.

В настоящее время существует довольно большое количество протоколов, применяемых для создания VPN-соединений. Какое решение выбрать и на что следует обратить внимание для правильной настройки подключения? Попробуем кратко ответить на эти вопросы.
В настоящее время PPTP доступен как стандартный протокол VPN почти во всех операционных системах и коммуникационных устройствах, что позволяет использовать его без необходимости установки дополнительного программного обеспечения. Его преимущество также в том, что он использует небольшое количество вычислительных ресурсов, следовательно, обладает высокой скоростью работы.
PPTP работает, устанавливая обычную PPP сессию с противоположной стороной с помощью протокола Generic Routing Encapsulation. Для инициации и управления GRE-соединением используется второе соединение на TCP-порте 1723. Из-за необходимости установления двух сетевых сессий, могут возникнуть сложности при настройке PPTP-соединения за сетевым экраном. Кроме того, некоторые Интернет-провайдеры блокируют GRE-протокол, что делает невозможным использование PPTP.
PPTP опирается на различные методы аутентификации для обеспечения безопасности соединения, наиболее часто среди которых используется MS-CHAP v.2. Данные, передаваемые через PPTP, шифруются с помощью протокола MPPE, включающего в себя алгоритм шифрования RSA RC4 с ключом длиной максимум 128 бит.
За время своего существования, в реализации протокола PPTP были обнаружены различные уязвимости, наиболее серьезной из которых явилась уязвимость протокола аутентификации MS-CHAP v.2, позволяющая в течение суток восстановить ключ шифрования. Из-за наличия проблем с безопасностью, протокол PPTP может применяться только в решениях построения VPN, где отсутствуют требования к обеспечению конфиденциальности передаваемых данных.
Плюсы:
Минусы:
Вывод
Протокол PPTP небезопасен, поэтому следует избегать его использования для передачи важных данных. Однако, если VPN применяется только для смены текущего географического местоположения и сокрытия реального IP-адреса, PPTP может быть хорошим решением благодаря своей кроссплатформенности и высокой скорости работы.
Протокол туннелирования 2 уровня (Layer 2 Tunnel Protocol) – сетевой протокол, в качестве основы использующий протокол PPP канального уровня. Cоздан в 1999 году компаниями Cisco и Microsoft как дальнейшее развитие протокола PPTP, в настоящее время является промышленным стандартом (RFC2661).
Так как сам по себе L2TP не обеспечивает шифрование и конфиденциальность трафика, при построении VPN на основе L2TP для обеспечения безопасности передаваемых данных, как правило, используется протокол шифрования IPSec (IP Security). Комбинацию L2TP и IPSec называют L2TP/IPSec (RFC3193).
Для L2TP/IPSec в качестве транспорта применяется протокол UDP, где порт 1701 используется в качестве порта отправителя и получателя для инициализации туннеля, порт UDP-500 применяется для обмена ключами шифрования, порт UDP-4500 для NAT-операций, протокол 50 (ESP) для передачи зашифрованных данных через IPSec.
L2TP/IPsec встроен во все современные операционные системы и коммуникационные устройства, и может быть настроен так же легко, как и PPTP. Некоторые сложности с настройкой могут возникнуть для операционных систем семейства Linux, где может потребоваться установка дополнительных пакетов из состава ОС.
С точки зрения безопасности, VPN-подключения по протоколу L2TP/IPSec являются достаточно надёжными, так как обеспечивают конфиденциальность, целостность и проверку подлинности данных.
По сравнению с другими VPN-протоколами, L2TP/IPSec более «капризный» в плане обеспечения стабильной и надежной работы. Так, если VPN-клиент находится за сетевым устройством, выполняющим преобразование сетевых адресов (NAT), либо не пропускающим пакеты на UDP-порт 500, сеанс L2TP/IPSec установить не удастся. Кроме того, так как L2TP/IPSec инкапсулирует передаваемые данные дважды, это делает его менее эффективным и более медленным, чем другие VPN-протоколы.
Плюсы:
Минусы:
Вывод
Протокол L2TP/IPSec позволяет обеспечить высокую безопасность передаваемых данных, прост в настройке и поддерживается всеми современными операционными системами. Однако, по сравнению с другими VPN-протоколами, является менее производительным и стабильным.
IKEv2
Протокол обмена ключами (Internet Key Exchange) версии 2 — входящий в набор IPSec протокол туннелирования, разработанный совместно компаниями Microsoft и Cisco. Входит в состав Windows 7 и более поздних версий, поддерживается мобильными устройствами Blackberry и Apple. Имеются решения с открытым исходным кодом для Linux.
Передача данных производится через UDP порты 500 и/или 4500, с шифрованием данных криптоалгоритмами 3DES и AES. Использование UDP обеспечивает хорошую скорость работы и не создает проблем для работы за NAT и межсетевыми экранами.
Плюсы:
Минусы:
Вывод
Благодаря своей безопасности, стабильности и скорости работы, IKEv2 в настоящее время является лучшим решением VPN для мобильных пользователей.
OpenVPN
OpenVPN является полнофункциональным решением с открытым иcходным кодом для организации инфраструктуры VPN на основе библиотеки OpenSSL и протоколов SSL/TLS. Благодаря своей бесплатности и открытости, OpenVPN в настоящее время фактически является стандартом в VPN-технологиях, очень гибким в настройках и с богатыми функциональными возможностями.
В стандартной конфигурации OpenVPN использует для передачи данных UDP протокол и порт 1194. Однако, VPN-соединение может быть легко настроено для работы по протоколу TCP на любом порту, например на 443 TCP-порту, что позволяет маскировать трафик OpenVPN под обычный HTTPS, тем самым обходя блокировки на стороне межсетевых экранов.
Использование в качестве основы библиотеки OpenSSL позволяет обеспечить поддержку множества криптографических алгоритмов (например RSA, AES, Blowfish, 3DES и других) для надежной защиты передаваемых данных. Производительность OpenVPN зависит от выбранного алгоритма шифрования, но, как правило, работает быстрее, чем IPSec.
Возможность использования протокола TCP позволяет добиться стабильной и надежной работы в беспроводных, сотовых и других сетях с высокой общей нагрузкой и повышенным уровнем потери пакетов. Для увеличения скорости передачи, можно использовать сжатие данных на основе библиотеки LZO.
Плюсы:
Минусы:
Вывод
На сегодняшний день технология OpenVPN является наилучшим решением для организации VPN. Использование этого протокола позволит обеспечить надежное, быстрое и безопасное VPN-соединение. Настройка подключения не вызывает большой сложности, и фактически сводится к установке бесплатного приложения, доступного для любых платформ и операционных систем.
Подводя итог нашему обзору, коротко обобщим сделанные выводы:
Иными словами — при возможности используйте OpenVPN, для мобильных устройств хорошо подойдет IKEv2. Для быстрых решений, когда нужно только скрыть свой IP-адрес — можно ограничиться L2TP/IPSec или PPTP.





