Протоколы VPN — PPTP, L2TP, IKEv2, OpenVPN

В настоящее время существует довольно большое количество протоколов, применяемых для создания VPN-соединений. Какое решение выбрать и на что следует обратить внимание для правильной настройки подключения? Попробуем кратко ответить на эти вопросы.
Протокол туннелирования точка-точка (Point-to-Point Tunneling Protocol) – это протокол, изобретенный компанией Cisco Systems для организации VPN через сети коммутируемого доступа. PPTP является стандартным протоколом для построения VPN уже на протяжении многих лет — впервые его поддержка была реализована в операционных системах Windows NT 4.0 и Windows 95 OSR2.
В настоящее время 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 встроен во все операционные системы (за исключением последних версий iOS)
- очень прост в настройке
- работает быстро
Минусы:
- небезопасен
Вывод
Протокол 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-протоколы.
Плюсы:
- высокая безопасность
- легкость настройки
- доступен в современных операционных системах
Минусы:
- работает медленнее, чем другие 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 особенно актуален для мобильных пользователей — IKEv2 позволяет автоматически переустанавливать VPN-туннель в случае временного обрыва Интернет-соединения, например во время поездки в метро. Также протокол хорошо восприимчив к частой смене сетей — например переключению между точками Wi-Fi, или между Wi-Fi и мобильной сетью. Это один из немногих протоколов, поддерживаемых устройствами Blackberry.
Плюсы:
- высокая безопасность и скорость
- повышенная стабильность работы
- хорошо подходит для пользователей мобильных устройств
- легок в настройке на стороне пользователя
Минусы:
- использует жестко определенные порты, что упрощает его блокировку
Вывод
Благодаря своей безопасности, стабильности и скорости работы, 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 на стороне клиента требуется установка дополнительного программного обеспечения — в настоящий момент для всех современных операционных систем, в том числе и для мобильных платформ, существует большое количество приложений, как бесплатных, так и коммерческих.
Плюсы:
- гибкость настройки
- высокая безопасность
- повышенная стабильность и надежность работы
Минусы:
- необходима установка дополнительного программного обеспечения
Вывод
На сегодняшний день технология OpenVPN является наилучшим решением для организации VPN. Использование этого протокола позволит обеспечить надежное, быстрое и безопасное VPN-соединение. Настройка подключения не вызывает большой сложности, и фактически сводится к установке бесплатного приложения, доступного для любых платформ и операционных систем.
Подводя итог нашему обзору, коротко обобщим сделанные выводы:
- PPTP — небезопасный протокол, ваши данные можно перехватить и расшифровать. Можно применять только для смены текущего географического местоположения и сокрытия реального IP-адреса.
- L2TP/IPSec — имеет приемлемый уровень защиты, удобен в настройке, не требует установки дополнительного программного обеспечения (за исключением Linux), является хорошей альтернативой PPTP.
- IKEv2 — современный протокол VPN, обладает хорошей безопасностью и скоростью работы. Прекрасно подходит для пользователей мобильных устройств, особенно Blackberry.
- OpenVPN — имеет открытый исходный код, работает быстро и безопасно. Обладает гибкими настройками, обеспечивает хорошую стабильность работы. Даже несмотря на необходимость установки дополнительного программного обеспечения, на сегодняшний день является лучшим решением для VPN.
Иными словами — при возможности используйте OpenVPN, для мобильных устройств хорошо подойдет IKEv2. Для быстрых решений, когда нужно только скрыть свой IP-адрес — можно ограничиться L2TP/IPSec или PPTP.
Что такое PPTP протокол VPN соединения
PPTP (Point-to-Point Tunneling Protocol) — это первый в мире признанный Microsoft протокол доступа типа точка-точка, работающий на основе создания туннеля в сети.
PPTP соединение создает специальный защищенный туннель в обычной незащищенной компьютерной сети и передает данные посредством размещения в пакетах информации PPP кадров.
Вследствие чего пакеты с зашифрованными данными передаются по определенной виртуальной сети IP — Internet или Virtual Private Network.
PPTP подключение также может использоваться для создания туннеля между двумя отдельными компьютерами или офисными, рабочими локальными сетями.
Что такое PPTP протокол простыми словами
Что такое PPTP протокол — это первый в мире протокол туннелирования канала связи, официально признанный и поддержанный Microsoft. Именно благодаря этому факту PPTP протокол подключения и смог набрать широкую популярность среди пользователей и разработчиков программного обеспечения, так или иначе использующего PPTP протокол.
Подключение по PPTP протоколу между компьютером и VPN, например, осуществляется посредством сразу двух соединений:
- — Стандартная PPP сессия через Generic Routing Encapsulation
- — Соединение через TCP порт 1723
Первое PPTP соединение осуществляет непосредственный контакт с противоположной стороной. А второе отвечает за инициализацию и управление первым GRE соединением.
Надежность PPTP подключения к Virtual Private Network
PPTP подключение к VPN считается достаточно надежным соединением, хоть и имеет несколько известных уязвимостей, коими грешат практически все соответствующие протоколы. Главной проблемой PPTP протокола, по сравнению с популярным OpenVPN, является 128 битное шифрование данных, которое не идет ни в какое сравнение с 2048 битным шифром от последнего.
Кроме того, PPTP соединение, по сравнению с OpenVPN и ее легендарным шифром, имеет еще несколько различий:
- — PPTP подключение не работает в VPN, где отсутствует протокол GRE47, и это минус
- — Однако, PPTP протокол встроен в Windows, что делает его чуть более удобным
Не смотря на эти факты, PPTP VPN соединение все-таки неплохо шифрует исходящие данные и хорошо защищает конфиденциальную информацию в момент передачи, при условии использования стабильного интернет соединения.
В противном случае, в момент неожиданного обрыва связи при использовании PPTP VPN подключения, в логах посещаемого ресурса может засветиться реальный IP адрес.
Новости:
Виды VPN-соединений (PPTP, L2TP, IPSec, SSL)
Раньше для осуществления безопасной передачи данных возникала необходимость в выделенной линии, связывающей два пункта. Расходы на организацию таких линий довольно велики.
Виртуальная частная сеть дает пользователям безопасный способ доступа к ресурсам корпоративной сети через Интернет или другие общественные или частные сети без необходимости выделения линии.
Безопасная частная виртуальная сеть представляет собой совокупность технологий/служб туннелирования, аутентификации, управления доступом и контроля, используемых для защиты данных и передачи трафика через Интернет.
Существует много причин для использования виртуальных частных сетей. Наиболее типичны следующие из них:
Безопасность (защита данных).
С помощью аутентификации получатель сообщения, являющийся пользователем виртуальной частной сети, может отслеживать источник полученных пакетов и обеспечить целостность данных.
С средств защиты данных в виртуальных частных сетях гарантируется конфиденциальность исходных пользовательских данных.
Стоимость (снижение количества линий доступа и уменьшение расходов на междугороднюю телефонную связь).
Организация виртуальной частной сети позволяет компании передавать данные через линии доступа к Интернету, таким образом уменьшая необходимость в некоторых из существующих линий.
При организации виртуальной частной сети снижаются расходы на междугороднюю телефонную связь, поскольку пользователь обычно получает услуги от местного Интернет-провайдера, а не совершает междугородний звонок для установления прямой связи с компанией.
Известно, что сети, использующие протокол IP, имеют «слабое место», обусловленное самой структурой протокола IP. Разработчики IP не намеревались обеспечивать каких-либо функций безопасности на уровне IP, а гибкость IP позволяет хитроумно использовать особенности данного протокола в целях преодоления контроля за трафиком, управления доступом и других мер безопасности. Поэтому данные в сети, использующей протокол IP, могут быть легко подделаны или перехвачены.
При туннелировании для передачи по сети протокольных пакетов сети одного типа они вставляются или инкапсулируются в протокольные пакеты другой сети. Это обеспечивает безопасность при передаче данных.
Протоколы для построения VPN-туннеля:
PPTP
PPTP (Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. Протокол PPTP позволяет инкапсулировать (упаковывать или скрыть от использования) пакеты PPP в пакеты протокола Internet Protocol (IP) и передавать их по сетям IP (в том числе и Интернет).
PPTP обеспечивает безопасную передачу данных от удаленного клиента к отдельному серверу предприятия путем создания в сети TCP/IP частной виртуальной сети. PPTP может также использоваться для организации туннеля между двумя локальными сетями. PPTP работает, устанавливая обычную PPP-сессию с противоположной стороной с помощью протокола Generic Routing Encapsulation (GRE). Второе соединение на TCP порту 1723 используется для инициации и управления GRE-соединением. Для защиты данных PPTP-трафика может быть использован протокол MPPE. Для аутентификация клиентов могут использоваться различные механизмы, наиболее безопасные из них — MSCHAPv2 и EAP-TLS.
Для обеспечения работы клиента по протоколу PPTP, необходимо установить IP-соединение с туннельным сервером PPTP. Все передаваемые по этому соединению данные могут быть защищены и сжаты. По туннелю PPTP могут передаваться данные различных протоколоыв сетевого уровня (TCP/IP, NetBEUI и IPX).
Преимущества протокола PPTP:
- Использование частного IP-адреса. Пространство IP-адресов частной сети не должно координироваться с пространством глобальных (внешних) адресов.
- Поддержка множества протоколов. Можно осуществлять доступ к частным сетям, использующим различные комбинации TCP/IP или IPX.
- Безопасность передачи данных. Для предотвращения несанкционированного подключения используются протоколы и политики обеспечения безопасности сервера удаленного доступа.
- Возможность использования аутентификации и защиты данных при передачи пакетов через Интернет.
- Разнообразие протоколов. Так как используется кадрирование PPP, удаленные пользователи могут использовать для доступа к корпоративому узлу большое количество различных протоколов, таких как IP, IPX и т.д.
- Создание туннелей в различных сетях. L2TP может работать как в сетях IP, так и в сетях ATM, Frame Relay и др.
- Безопасность передачи данных. При этом, пользователь не должен иметь никакого специального программного обеспечения.
- Возможность аутентификации пользователей.
- Виртуальная частная сеть между организациями
- Мобильный пользователь
- Пользователь SOHO
- Экономическая эффективность
- Законченное решение для коммерческого использования
- Интегрированное безопасное решение
- Нет необходимости в дополнительном программном обеспечении
- Простота конфигурирования
- Экономически эффективное решение для дистанционных пользователей и филиалов
- Совместимость с решениями большинства поставщиков решений для виртуальных частных сетей.
- Простота использования
- Нет необходимости в дополнительном программном обеспечении
- Безопасный удаленный доступ
L2TP
L2TP (Layer 2 Tunneling Protocol) — протокол туннелирования уровня 2 (канального уровня). Объединяет протокол L2F (Layer 2 Forwarding), разработанный компанией Cisco, и протокол PPTP корпорации Microsoft. Позволяет организовывать VPN с заданными приоритетами доступа, однако не содержит в себе средств для защиты данных и механизмов аутентификации.
Протокол L2TP использует сообщения двух типов: управляющие и информационные сообщения. Управляющие сообщения используются для установления, поддержания и ликвидации туннелей и вызовов. Для обеспечения доставки ими используется надежный управляющий канал протокола L2TP. Информационные сообщения используются для инкапсулирования кадров PPP, передаваемых по туннелю. При потере пакета он не передается повторно.
Структура протокола описывает передачу кадров PPP и управляющих сообщений по управляющему каналу и каналу данных протокола L2TP. Кадры PPP передаются по ненадежному каналу данных, предварительно дополняясь заголовком L2TP, а затем — по транспорту для передачи пакетов, такому как Frame Relay, ATM и т.п. Управляющие сообщения передаются по надежному управляющему каналу L2TP с последующей передачей по тому же транспорту для пересылки пакетов.
Все управляющие сообщения должны содержать порядковые номера, используемые для обеспечения надежной доставки по управляющему каналу. Информационные сообщения могут использовать порядковые номера для упорядочивания пакетов и выявления утерянных пакетов.
Преимущества протокола L2TP:
IPSec
IPSec (IP Security) — набор протоколов, касающихся вопросов обеспечения защиты данных при транспортировке IP-пакетов. IPSec также включает в себя протоколы для защищённого обмена ключами в сети Интернет. Протоколы IPSec работают на сетевом уровне (уровень 3 модели OSI).
Internet-протокол (IP) не имеет средств защиты передаваемых данных. Он даже не может гарантировать, что отправитель является именно тем, за кого он себя выдает. IPSec представляет собой попытку исправить ситуацию. При использовании IPSec весь передаваемый трафик может быть защищен перед передачей по сети. При использовании IPSec получатель сообщения может отслеживать источник полученных пакетов и удостовериться в целостности данных. Необходимо быть уверенным в том, что транзакция может осуществляться только один раз (за исключением случая, когда пользователь уполномочен повторять ее). Это означает, что не должно существовать возможности записи транзакции и последующего ее повторения в записи с целью создания у пользователя впечатления об осуществлении нескольких транзакций. Представьте себе, что мошенник получил информацию о трафике и знает, что передача такого трафика может дать ему какие-то преимущества (например, в результате на его счет будут переведены деньги). Необходимо обеспечить невозможность повторной передачи такого трафика.
С помощью виртуальной частной сети (VPN) можно решать следующие прикладные задачи:
IPSec VPN оптимален для объединения сетей разных офисов через Интернет.
Можно устанавливать VPN-соединение с использованием протокола IPSec.
Для пользователей SMB/SOHO (Малый бизнес/Малый офис/Домашний офис):
Для дистанционных пользователей:
Для коллективных пользователей:
Существует две разновидности протокола IPSec: ESP (Encapsulation Security Payload, инкапсуляция защищенных данных) и AH (Authentication Header, Аутентифицирующий заголовок). ESP и AH — новые протоколы IP. О том, что пакет является пакетом ESP, говорит значение в поле протокола заголовка IP, равное 50, а для пакета AH — равное 51.
В пакетах ESP и AH между заголовком IP (IP header) и данными протокола верхнего уровня вставляется заголовок ESP/AH (ESP/AH header).
ESP может обеспечивать как защиту данных, так и аутентификацию, а также возможен вариант протокола ESP без использования защиты данных или без аутентификации. Однако, невозможно использовать протокол ESP одновременно без защиты данных и без аутентификации, поскольку в данном случае безопасность не обеспечивается. При осуществлении защиты передаваемых данных заголовок ESP не защищен, но защищены данные протокола верхнего уровня и часть трейлера ESP.
А в случае аутентификации производится аутентификация заголовка ESP, данных протокола верхнего уровня и части трейлера ESP.
Хотя протокол AH может обеспечивать только аутентификацию, она выполняется не только для заголовка AH и данных протокола верхнего уровня, но также и для заголовка IP.
Протоколы семейства IPSec могут использоваться для защиты либо всех полезных данных IP-пакета, либо данных протоколов верхнего уровня в поле полезных данных IP-пакета. Это различие определяется выбором двух различных режимов протокола IPSec: транспортного режима или туннельного режима.
Транспортный режим в основном используется хостом IP для защиты генерируемых им самим данных, а туннельный режим используется шлюзом безопасности для предоставления услуги IPSec другим машинам, не имеющим функций IPSec. Однако функции хоста IPSec и шлюза безопасности могут выполняться одной и той же машиной. Оба протокола IPSec, AH и ESP, могут выполняться в транспортном или туннельном режиме.
SSL VPN
SSL (Secure Socket Layer) протокол защищенных сокетов, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создается защищенное соединение между клиентом и сервером.
SSL использует защиту данных с открытым ключом для подтверждения подлинности передатчика и получателя. Поддерживает надёжность передачи данных за счёт использования корректирующих кодов и безопасных хэш-функций.
SSL использует RC4, MD5, RSA и другие алгоритмы защиты данных.
SSL использует два ключа для защиты данных — открытый ключ и закрытый или частный ключ известный только получателю сообщения.
На сегодняшний день, в сети Интернет можно встретить множество сайтов на которых используется протокол SSL для обеспечения безопасности пользовательских данных (например, веб-сайты предоставляющие коммерческие и банковские сервисы). Практически все самые популярные браузеры, почтовые клиенты и интернет-приложения поддерживают работу с протоколом SSL. Для доступа к страницам, защищённым протоколом SSL, в URL вместо обычного префикса http, как правило, применяется префикс https (порт 443), указывающий на то, что будет использоваться SSL-соединение.
SSL также может обеспечить защиту протоколов прикладного уровня (уровень 7 модели OSI), например, таких как POP3 или FTP. Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат.
Безопасное соединение между клиентом и сервером при использовании SSL выполняет две функции — аутентификацию и защиту данных.
SSL состоит из двух уровней. На нижних уровнях (уровни 4-5) многоуровневого транспортного протокола (например, TCP) он является протоколом записи и используется для инкапсуляции (то есть формирования пакета) различных протоколов. Для каждого инкапсулированного протокола он обеспечивает условия, при которых сервер и клиент могут подтверждать друг другу свою подлинность, выполнять защиту передаваемых данных и производить обмен ключами, прежде чем протокол прикладной программы начнет передавать и получать данные.
Преимущества протокола SSL:
SSL VPN оптимален для подключения удаленных пользователей к ресурсам локальной сети офиса через Интернет.