Соединение PPTP - что это такое? Типы подключения VPN. Стоит ли использовать сторонние утилиты

PPTP (от англ. Point-to-Point Tunneling Protocol ) - туннельный протокол типа точка-точка (узел-узел), позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания туннеля в незащищённой сети.

PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.

Данный протокол менее безопасен, чем IPSec. PPTP работает, устанавливая обычную PPP сессию с противоположной стороной с помощью протокола Generic Routing Encapsulation. Второе соединение на TCP-порте 1723 используется для инициации и управления GRE-соединением. PPTP сложно перенаправлять за сетевой экран, так как он требует одновременного установления двух сетевых сессий. PPTP-трафик может быть зашифрован с помощью MPPE. Для аутентификации клиентов могут использоваться различные механизмы, например - MS-CHAPv2 и EAP-TLS.

Вопрос безопасности и надежности протокола

  • MSCHAP-v1 совершенно ненадёжен. Существуют утилиты для лёгкого извлечения хэшей паролей из перехваченного обмена MSCHAP-v1;
  • MSCHAP-v2 уязвим к словарной атаке на перехваченные challenge-response пакеты. Существуют программы, выполняющие данный процесс;
  • В 2012 году было показано, что сложность подбора ключа MSCHAP-v2 эквивалентна подбору ключа к шифрованию DES, и был представлен онлайн-сервис, который способен восстановить ключ за 23 часа;
  • При использовании MSCHAP-v1, MPPE применяет одинаковый RC4 сессионный ключ для шифрования информационного потока в обоих направлениях. Поэтому стандартным методом является выполнение XOR’а потоков из разных направлений вместе, благодаря чему криптоаналитик может узнать ключ;
  • MPPE использует RC4 поток для шифрования. Не существует метода для аутентификации цифробуквенного потока, и поэтому данный поток уязвим к атаке, делающей подмену битов. Злоумышленник легко может заменить некоторые биты для изменения исходящего потока без опасности своего обнаружения. Данная подмена битов может быть зафиксирована с помощью протоколов, считающих контрольные суммы.

Структура

На рисунке 1 показано строение PPTP пакета. В целом - ничего особенного, в IP пакет инкапсулируется PPP кадр и GRE заголовок.

Кратко о GRE. Это протокол туннелирования, который работает на 3 уровне модели OSI. Функция GRE - инкапсуляция пакетов сетевого уровня сетевой модели OSI в IP пакеты.

Туннелирование подразумевает три протокола:

  • пассажир - инкапсулированный протокол (IP, CLNP, IPX, Apple Talk, DECnet Phase IV, XNS, VINES и Apollo);
  • протокол инкапсуляции (GRE);
  • транспортный протокол (IP).

Заголовок занимает 4 байта (рис. 2) и состоит из 2х частей:

1) 1-2 байты — flags:

- ChecksumPresent – бит 0, если равен 1, то в заголовке GRE присутствует необязательное поле контрольной суммы – Checksumfield;

- Key Present – бит 2, если равен 1, то в заголовке GRE присутствует необязательное поле, содержащее ключ – Key field;

- Sequence Number Present – бит 3, если равен 1, то в заголовке GRE присутствует необязательное поле порядкового номера – SequenceNumberfield;

- Version Number – биты 13–15. Данное поле обозначает версию реализации GRE. Значение 0 обычно используется для GRE. Point-To-Point протокол (PP2P) использует версию 1.

2) 3-4 байты. Содержат тип протокола (ethertype) инкапсулированного пакета.

MTU

Не менее важный вопрос для протокола - это вопрос MTU .

Так как PPTP - это полезная нагрузка + заголовок PPP+ GRE + заголовок IP. MTU Ethernet = 1500 байт, header IP = 20 байт, GRE = 4 байта. 1500-20-4 = 1476 байт.

Управляющие сообщения

В основе обмена данными по протоколу PPTP лежит управляющее соединение PPTP - последовательность управляющих сообщений, которые устанавливают и обслуживают туннель. Полное соединение PPTP состоит только из одного соединения TCP/IP, которое требует передачи эхо-команд для поддержания его открытым, пока выполняются транзакции. Ниже, на рисунке 3, указаны управляющие сообщения и их значения.

PPTP (Point-to-Point Tunneling Protocol) – это туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети.

Описание

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

Протокол PPTP инкапсулирует PPP-кадры в IP-датаграммы для передачи по сети. Протокол PPTP использует TCP-соединение для управления туннелем и измененную версию протокола GRE с целью инкапсуляции PPP-кадров для туннелированных данных. Полезные данные инкапсулированных PPP-кадров могут быть шифрованными, сжатыми или и теми, и другими одновременно.

Кадр PPP (IP-, IPX- или Appletalk-датаграмма) заключается в оболочку с заголовком GRE (Generic Routing Encapsulation) и заголовком IP. В заголовке IP-адреса источника и приемника соответствуют VPN-клиенту и VPN-серверу.

Заголовок GRE состоит из 2 частей по 2 байта: 1-2 байты - флаги:

  1. ChecksumPresent – бит 0, если равен 1, то в заголовке GRE присутствует необязательное поле контрольной суммы – Checksumfield;
  2. Key Present – бит 2, если равен 1, то в заголовке GRE присутствует необязательное поле, содержащее ключ – Key field;
  3. Sequence Number Present – бит 3, если равен 1, то в заголовке GRE присутствует необязательное поле порядкового номера – SequenceNumberfield;
  4. Version Number – биты 13–15. Данное поле обозначает версию реализации GRE. Значение 0 обычно используется для GRE. Point-To-Point протокол (PP2P) использует версию 1.

3-4 байты, в свою очередь, содержат тип протокола (ethertype) инкапсулированного пакета.

PPTP является наиболее часто используемым протоколом для построения VPN многие годы. Он опирается на различные методы аутентификации для обеспечения безопасности (как правило, MS-CHAP v.2). Является стандартным протокол почти во всех операционных системах и устройствах, поддерживающих VPN. Его главное преимущество заключается в том, что он использует меньше вычислительных ресурсов, следовательно обладает высокой скоростью работы.

Обычно используется со 128-битным шифрованием, в следующие несколько лет после включения этого протокола в состав Windows 95 OSR2 в 1999 году были найдены ряд уязвимостей. Наиболее серьезной из которых явилась уязвимость протокола аутентификации MS-CHAP v.2. Используя эту уязвимость, PPTP был взломан в течение 2 дней. Microsoft сама рекомендовала к использованию в качестве VPN проколов L2TP или SSTP.

Реализация

Cisco первой реализовала PPTP и позже лицензировала эту технологию корпорации Microsoft.

PPTP удалось добиться популярности благодаря тому что это первый VPN протокол, поддерживаемый корпорацией Microsoft. Все версии Microsoft Windows, начиная с Windows 95 OSR2, включают в свой состав PPTP-клиент, однако существует ограничение на два одновременных исходящих соединения. А сервис удалённого доступа для Microsoft Windows включает в себя PPTP сервер.

До недавнего времени в Linux-дистрибутивах отсутствовала полная поддержка PPTP из-за опасения патентных претензий по поводу протокола MPPE. Впервые полная поддержка MPPE появилась в Linux 2.6.13. Официально поддержка PPTP была начата с версии ядра Linux 2.6.14.

Операционная система FreeBSD поддерживает PPTP протокол, используя в качестве сервера PPTP порт mpd (/usr/ports/net/mpd), используя подсистему netgraph. В качестве клиента PPTP в системе FreeBSD может выступать либо порт pptpclient (/usr/ports/net/pptpclient), либо порт mpd, работающий в режиме клиента.

Mac OS X поставляется со встроенным PPTP клиентом. Cisco и Efficient Networks продают реализации PPTP клиента для более старых версий Mac OS. КПК Palm, имеющие поддержку Wi-Fi, поставляются с PPTP клиентом Mergic.

Настройка (отдельные шаги)

Настройка VPN-сервера

VPN-серверы можно настроить с помощью мастера настройки сервера маршрутизации и удаленного доступа. Этот мастер позволяет настроить следующие параметры:

  1. базовый брандмауэр на общем интерфейсе;
  2. метод адресации клиентов удаленного доступа VPN-сервером (либо с помощью адресов, получаемых VPN-сервером от DHCP-сервера, либо с помощью адресов из указанного диапазона адресов, настроенного вручную на VPN-сервере);
  3. пересылку сообщений авторизации и проверки подлинности на сервер службы RADIUS (Remote Authentication Dial-In User Service - служба проверки подлинности удаленных пользователей), т. е. настройку VPN-сервера как клиента RADIUS.

После выполнения этого мастера автоматически настраиваются следующие параметры маршрутизации и удаленного доступа:

  1. сетевые интерфейсы;
  2. порты PPTP и L2TP (пять или 128 для каждого протокола, в зависимости от параметров, выбранных в мастере);
  3. поддержка многоадресной рассылки на основе протокола IGMP (Internet Group Management Protocol, протокол управления группами Интернета);
  4. IP-маршрутизация;
  5. установка агента ретранслятора DHCP.
Настройка политики удаленного доступа

Для управления с помощью политики удаленного доступа проверкой подлинности и шифрованием при виртуальных частных подключениях создайте политику удаленного доступа и настройте ее свойства следующим образом:

  1. В поле Имя политики введите имя политики, например VPN-доступ.
  2. Для атрибута NAS-Port-Type выберите тип Virtual (VPN), а для атрибутаTunnel-Type - тип Point-to-Point Tunneling Protocol.
  3. В параметрах профиля выберите необходимые параметры проверки подлинности и шифрования.

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

Чтобы различать пользователей подключений удаленного доступа к сети и пользователей виртуальных частных сетей удаленного доступа, выполните следующие действия. Создайте группу Active Directory, члены которой могут создавать виртуальные частные подключения к VPN-серверу, например, группу «Пользователи_VPN». Добавьте в эту новую группу Active Directory соответствующие учетные записи пользователей.

Создайте новую политику удаленного доступа и настройте ее свойства следующим образом.

  1. Введите в поле Имя политики имя новой политики, например Разрешить VPN-доступ членам группы Пользователи_VPN.
  2. Для атрибута Windows-Groups выберите группу, например Пользователи_VPN, для NAS-Port-Type выберите тип Virtual (VPN), а для Tunnel-Type - тип Point-to-Point Tunneling Protocol.
  3. Установите переключатель в положение Предоставить право удаленного доступа.
  4. Разместите политики удаленного доступа, используемые по умолчанию, после новой политики.

Установленные по умолчанию параметры шифрования позволяют использовать все уровни шифрования, в том числе и отсутствие шифрования. Чтобы потребовать использования шифрования, снимите флажок Без шифрования и выберите нужные уровни на вкладке Шифрование в окне параметров профиля политики удаленного доступа.

PPTP (Point-to-Point Tunneling Protocol) - туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями.

Спецификация протокола была опубликована как «информационная» RFC 2637 в 1999 году. Она не была ратифицирована IETF. Протокол считается менее безопасным, чем IPSec - протокол защиты сетевого трафика на IP-уровне .

PPTP работает, устанавливая обычную PPP сессию с противоположной стороной с помощью протокола GRE туннели по 47 порту. Второе соединение на TCP-порту 1723 используется для инициации и управления GRE-соединением. PPTP сложно перенаправлять за сетевой экран , так как он требует одновременного установления двух сетевых сессий.

PPTP-трафик может быть зашифрован с помощью MPPE. Для аутентификации клиентов могут использоваться различные механизмы, наиболее безопасные из них - MS-CHAPv2 и EAP-TLS. Протокол PPTP нельзя считать приемлемым, с точки зрения информационной безопасности, как минимум, без принятия дополнительных мер по обеспечению информационной безопасности каналов связи, либо без применения дополнительных средств защиты информации (например - дополнительного шифрования). Т.о. PPTP не следует применять в общедоступных сетях (Интернет, частные(домашние) сети) для обеспечения конфиденциальности и-или сохранности коммерческой тайны (и особенно - для сохранности государственной тайны).

PPTP - Поддержка встроена в Windows.

Пожалуйста, обратите внимание, что PPTP VPN сервис использует для своей работы порт TCP 1721/TCP и протокол IP GRE (номер 47). Такие пакеты должны проходить через Ваш Firewall/NAT (и соответственно, Firewall/NAT Вашего провайдера), а если по дороге до нашего сервера есть NAT, то он должен корректно обрабатывать VPN соединение в целом (как правило, это осуществляется с помощью модуля PPTP NAT helper).

Реализация PPTP

Cisco первой реализовала PPTP и позже лицензировала эту технологию корпорации Microsoft. PPTP удалось добиться популярности благодаря тому что это первый протокол тоннелирования, поддерживаемый корпорацией Microsoft. Все версии Microsoft Windows, начиная с Windows 95 OSR2, включают в свой состав PPTP-клиент, однако существует ограничение на два одновременных исходящих соединения. А сервис удалённого доступа для Microsoft Windows включает в себя PPTP сервер.

До недавнего времени в Linux-дистрибутивах отсутствовала полная поддержка PPTP из-за опасения патентных претензий по поводу протокола MPPE. Впервые полная поддержка MPPE появилась в Linux 2.6.13. Официально поддержка PPTP была начата с версии ядра Linux 2.6.14. Тем не менее, сам факт применения MPPE в PPTP фактически не обеспечивает безопасность протокола PPTP. Операционная система FreeBSD поддерживает PPTP протокол, используя в качестве сервера PPTP порт MPD 5 настройка (/usr/ports/net/mpd), используя подсистему netgraph. В качестве клиента PPTP в системе FreeBSD может выступать либо порт pptpclient (/usr/ports/net/pptpclient), либо порт mpd, работающий в режиме клиента. Mac OS X поставляется со встроенным PPTP клиентом. Cisco и Efficient Networks продают реализации PPTP клиента для более старых версий Mac OS . КПК Palm, имеющие поддержку Wi-Fi, поставляются с PPTP клиентом Mergic.

, и как его можно использовать? На сегодняшний день немногие современные пользователи знает что это.

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

А узнают о его существовании просто случайно, не задаваясь даже целью понять что это, и чем оно так полезно.

Введение в теорию PPTP

Название подключения или соединения PPTP происходит от имени протокола, на основе какового и построено такое подключение.

Полная расшифровка его англоязычной аббревиатуры звучит как point to point tunneling protocol. Что, по сути, означает туннельный протокол от точки к точке.

Точками в этом случае обозначены пара абонентов, которые связываются путем передачи данных зашифрованных в пакеты и передающихся посредством незащищенных сетей, построенных по принципам TCP/IP.

Для кого-то такое определение покажется чересчур сложным, но это всего лишь вершина айсберга.

Если рассматривать соединение PPTP более подробно, окажется, что оно позволяет преобразовывать кадры PPP в IP-пакеты привычного типа.

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

Важно, что PPTP сложно назвать идеальным, и в ряде случаев, этот способ проигрывает в сравнении с другими моделями типа IPSec, поскольку имеет меньший уровень безопасности.

Впрочем, это не мешает его использовать повсюду и достаточно широко. От такого не стоит отказываться, и сейчас рассмотрим почему.

рис. 1 – Схематическое изображение PPTP соединения

Что дает соединение PPTP

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

В частности, его можно с успехом использовать для осуществления дальних звонков с ощутимой экономией.

Происходит это потому как этот протокол не требует прямого соединения между двумя абонентами. Оно производится по защищенной линии в интернете, которая и называется туннелем.

Что касается туннеля, то он используется исключительно в роли посредника.

В то же время PPTP с успехом применяется при формировании клиент-серверных соединений. В этом случае соединение происходит несколько иначе.

Абонент, т. е. пользователь подключает свой терминал – рабочее устройство к серверу посредством того же защищенного канала.

Базовые правила подключения PPTP

Но прежде чем начать работу с подключением PPTP, его следует настроить и соблюсти несколько важных условий.

К особенностям настройки используемого туннелирования стоит отнести следующее:

  • порт TCP № 1723;
  • порт IP GRE №

При этом чтобы данные настройки работали соответствующим образом параметры встроенного брандмауэра (или сетевого экрана) не должны ограничивать поток IP-пакетов.

Их отправка и прием должна быть свободной.

Впрочем, даже если эти правила будут соблюдены при настройке подключения локально, не факт, что PPTP будет работать корректно.

Важно: Для правильной работы протокола провайдер должен обеспечить полную свободу пересылки туннелированных данных.

Детализация процесса подключения

Упомянутые выше точки соединяются посредством PPP-сессии, которая формируется на платформе протокола GRE.

Его аббревиатура расшифровывается как Generic Routing Encapsulation.

За его менеджмент и инициализацию несет ответственность второе подключение порта TCP.

Информация в форме пакета IPX который передается от точки к точке называется полезной нагрузкой, а дополняется он управляющей информацией.

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

Постобработку производятся встроенными средствами системы соответственно указанному протоколу.

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

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

рис. 4 – Уязвимые места PPTP

Обеспечение защиты соединения

Как отмечалось выше, данные передаются в форме шифрованного пакета.

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

Мы же выделим те которые характеризуются высокой степенью защищенности, в частности это:

  • MSCHAP-v1;
  • MSCHAP-v2;
  • EAP-TLS;
  • MPPE.

Чтобы обеспечить повышенный уровень защиты можно дополнительно использовать дозвоны - звонки ответа, реализованные программным путем.

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

А пока рассмотрим, чем выделяются представленные выше варианты.

Стоит отметить, что MSCHAP-v1 не отличается своей надежностью.

Для извлечения парольных хешей из него можно использовать специальные утилиты перехваченного обмена.

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

Криптоаналитики могут расшифровать данные и из MPPE, который базируется на использовании потока RC4.

К примеру, расшифровать его можно используя метод подмены битов.

Впрочем, при желании такую уязвимость можно обнаружить, используя соответствующие методы, которые считают контрольные суммы.

Таким образом, становится понятно, что установленную на PPTP защиту можно обойти. И именно поэтому приходится использовать дополнительные средства безопасности.

рис. 5 – Упрощенная схема защищенного PPTP канала

Вам это может быть интересно:

Пример настройки параметров PPTP в OS MS WINDOWS 7

Чтобы понять все тонкости PPTP-соединения стоит попытаться самостоятельно провести настройки такого подключения.

Мы рассмотрим, как этот процесс происходит в системе , в частности, в популярной седьмой ее версии. Сделать это несложно следуя нашим рекомендациям.

Изначально потребуется запустить Панель управления . Произвести это проще всего из меню Пуск .

В ней понадобится выбрать категорию Центр управления сетями .

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

Найти его можно в области уведомлений, расположенной справа в нижней части экрана.

После запуска Центра управления можно будет вносить изменения в свойства сетевого адаптера.

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

Затем можно вызывать пункт Свойства из контекстного меню для имеющегося локального подключения.

При этом большая часть провайдеров позволяет устанавливать адреса на рабочих станциях для DNS и IP серверов в автоматическом режиме.

По завершении внесения изменений в настройки понадобится активизировать подключение.

С этой целью в основном окне Центра управления нужно выделить настроенное ранее подключение и вызвать для него меню правой кнопкой мыши.

В нем следует выбрать пункт Включить .

  • Перевод

Недавно я искал информацию об отличиях существующих VPN-технологий и наткнулся на эту статью. Здесь вкратце описаны преимущества и недостатки основных VPN, очень легко и доступно. Предлагаю сообществу перевод статьи.

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

Заметка про длину ключа шифрования

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

Сейчас почти невозможно найти VPN-шифрование с использованием ключа длиной менее 128 бит и все сложнее найти 256-битное шифрование в предлагаемых OpenVPN-решениях, ключи которых бывают даже 2048 бит. Но что означают эти цифры на практике, 256-битное шифрование действительно более безопасное, чем 128-битное?

Краткий ответ таков: при практическом применении – нет. Это правда, что взлом 256-битного ключа потребует в 2128 больше вычислительной мощности, чем взлом 128-битного ключа. Это означает, что потребуется 3.4х10^38 операций (количество комбинаций в 128-битном ключе) – подвиг для существующих компьютеров и даже в ближайшем будущем. Если бы мы применили самый быстрый суперкомпьютер (по данным 2011 года его скорость вычислений 10.51 петафлопс), нам потребовалось бы 1.02х10^18 (около 1 миллиарда) лет, чтобы взломать 128-битный AES-ключ путем перебора.

Так как на практике 128-битный шифр не может быть взломан путем перебора, было бы правильно говорить, что ключа такой длины более чем достаточно для большинства применений. Только настоящие параноики (например, чиновники в правительстве, имеющие дело со сверхсекретными документами, которые должны оставаться в тайне в течение следующих 100 или более лет) могут использовать 256-битное шифрование (правительство США, например, использует сертифицированный NIST 256-битный AES-шифр).

Так почему же все более часто встречаются VPN-провайдеры, предлагающие 256-битное шифрование (не говоря уже о 2048-битном)? Особенно если учесть, что использование шифрования с 256-битным или более длинным ключом требует больше вычислительных ресурсов. Ответ прост – маркетинг. Проще продать VPN-услуги с более длинным ключом шифрования.

Крупные корпорации и правительства могут испытывать потребность в дополнительной безопасности, обеспечиваемой длинными ключами, но для среднего домашнего пользователя VPN с ключом 128 бит более чем достаточно.

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

PPTP

Протокол туннелирования точка-точка (Point-to-Point Tunneling Protocol) – это протокол, изобретенный Microsoft для организации VPN через сети коммутируемого доступа. PPTP является стандартным протоколом для построения VPN уже на протяжении многих лет. Это только VPN-протокол и он опирается на различные методы аутентификации для обеспечения безопасности (наиболее часто используется MS-CHAP v.2). Доступен как стандартный протокол почти во всех операционных системах и устройствах, поддерживающих VPN, что позволяет использовать его без необходимости установки дополнительного программного обеспечения. PPTP остается популярным выбором как предприятий, так и VPN-провайдеров. Его преимущество также в том, что он использует меньше вычислительных ресурсов, следовательно обладает высокой скоростью работы.

Хотя PPTP обычно и используется со 128-битным шифрованием, в следующие несколько лет после включения этого протокола в состав Windows 95 OSR2 в 1999 году были найдены ряд уязвимостей. Наиболее серьезной из которых явилась уязвимость протокола аутентификации MS-CHAP v.2. Используя эту уязвимость, PPTP был взломан в течение 2 дней. И хотя компанией Microsoft была исправлена эта ошибка (за счет использования протокола аутентификации PEAP, а не MS-CHAP v.2), она сама рекомендовала к использованию в качестве VPN проколов L2TP или SSTP.

Плюсы:

  • клиент PPTP встроен почти во все операционные системы
  • очень прост в настройке
  • работает быстро
Минусы:
  • небезопасен (уязвимый протокол аутентификации MS-CHAP v.2 все еще много где используется)

L2TP и L2TP/IPsec

Протокол туннелирования 2 уровня (Layer 2 Tunnel Protocol) – это протокол VPN, который сам по себе не обеспечивает шифрование и конфиденциальность трафика, проходящего через него. По этой причине, как правило, используется протокол шифрования IPsec для обеспечения безопасности и конфиденциальности.

L2TP/IPsec встроен во все современные операционные системы и VPN-совместимые устройства, и так же легко может быть настроен как и PPTP (обычно используется тот же клиент). Проблемы могут возникнуть в том, что L2TP использует UDP-порт 500, который может быть заблокирован файрволлом, если вы находитесь за NAT. Поэтому может потребоваться дополнительная настройка роутера (переадресация портов). Кстати, протокол SSL, например, использует TCP-порт 443, чтобы быть неотличимым от обычного HTTPS-трафика.

Протокол IPsec на данный момент не имеет никаких серьезных уязвимостей и считается очень безопасным при использовании таких алгоритмов шифрования, как AES. Однако, поскольку он инкапсулирует данные дважды, это не так эффективно, как SSL-решения (например, OpenVPN или SSTP), и поэтому работает немного медленнее.

Плюсы:

  • очень безопасен
  • легко настраивается
  • доступен в современных операционных системах
Минусы:
  • работает медленнее, чем OpenVPN
  • может потребоваться дополнительная настройка роутера

OpenVPN

OpenVPN является достаточно новой технологией с открытым кодом, которая использует библиотеку OpenSSL и протоколы SSLv3/TLSv1, наряду с множеством других технологий для обеспечения надежного VPN-решения. Одним из его главных преимуществ является то, что OpenVPN очень гибок в настройках. Этот протокол может быть настроен на работу на любом порту, в том числе на 443 TCP-порту, что позволяет маскировать трафик внутри OpenVPN под обычный HTTPS (который использует, например, Gmail) и поэтому его трудно заблокировать.

Еще одним преимуществом OpenVPN является то, что используемые для шифрования библиотеки OpenSSL поддерживают множество криптографических алгоритмов (например, AES, Blowfish, 3DES, CAST-128, Camelia и другие). Наиболее распространенные алгоритмы, которые используют VPN-провайдеры – AES и Blowfish. AES является новой технологией, и хотя оба считаются безопасными, тот факт, что он имеет 128-битный размер блока, а не 64-битный как у Blowfish, означает, что он может работать с большими (более 1Гб) файлами лучше. Различия, однако, довольно незначительные. То, как быстро работает OpenVPN, зависит от выбранного алгоритма шифрования, но, как правило, работает быстрее, чем IPsec.

OpenVPN стал технологией №1 при использовании VPN, и хотя он изначально не поддерживается операционными системами, этот протокол широко поддерживается через стороннее программное обеспечение. Совсем недавно невозможно было использовать OpenVPN на iOS и Android без джейлбрейка и рута, а сейчас появились сторонние приложения, которые частично решили эту проблему.

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

Плюсы:

  • гибко настраивается
  • очень безопасен (зависит от выбранного алгоритма шифрования, но все они безопасны)
  • может использовать широкий спектр алгоритмов шифрования
Минусы:
  • необходимо стороннее программное обеспечение
  • может быть неудобен в настройке
  • ограниченная поддержка портативными устройствами

SSTP

Протокол безопасного туннелирования сокетов (Secure Socket Tunneling Protocol) – был представлен Microsoft в Windows Vista SP1, и хотя он теперь доступен на Linux, RouterOS и SEIL, он по-прежнему используется в значительной степени только Windows-системами (есть очень маленький шанс, что он появится на Apple устройствах). SSTP использует SSL v.3 и, следовательно, предлагает аналогичные преимущества, что и OpenVPN (например, возможность использовать TCP-порт 443 для обхода NAT), а так как он интегрирован в Windows, он проще в использовании и более стабилен, чем OpenVPN.

Плюсы:

  • очень безопасен (зависит от алгоритма шифрования, обычно используется очень стойкий AES)
  • полностью интегрирован в Windows (начиная с Windows Vista SP1)
  • имеет поддержку Microsoft
  • может работать сквозь файрволлы
Минусы:
  • работает только в Windows-среде

Заключение

PPTP небезопасен (даже его создатели в Microsoft отказались от него), поэтому его использования следует избегать. В то время, как простота установки и кроссплатформенная совместимость являются привлекательными, L2TP/IPsec имеет те же преимущества и является более безопасным.

L2TP/IPsec является хорошим решением VPN, но не таким хорошим, как OpenVPN. Однако, для быстрой настройки VPN без необходимости установки дополнительного программного обеспечения остается лучшим решением, особенно для мобильных устройств, где поддержка OpenVPN по-прежнему на низком уровне.

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

SSTP предлагает большинство преимуществ OpenVPN, но только в среде Windows. Это означает, что он лучше интегрирован в ОС, но благодаря этому он слабо поддерживается VPN-провайдерами.

Большинство пользователей могут использовать OpenVPN на своих настольных компьютерах, возможно, дополнив его L2TP/IPsec на своих мобильных устройствах.