PPTP

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


1. Необходимость применения

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

2. Спецификация

Протокол PPTP (Point-to-Point-Tunneling Protocol) разработан компанией Microsoft совместно с компаниями Ascend Communications, 3Com/Primary Access, ECI-Telematics и US Robotics. Этот протокол был представлен в рабочую группу "PPP Extentions" IETF в качестве претендента на стандартный протокол создания защищенного канала при доступе удаленных пользователей через публичные сети (в первую очередь Internet) к корпоративным сетям. Спецификация протокола была опубликована RFC 2637 в 1999 году. Она не была ратифицирована IETF. Протокол считается менее защищенным, чем IPSec. PPTP работает, устанавливая обычный PPP сеанс противоположной стороной с помощью протокола Generic Routing Encapsulation. Второе соединение на TCP -порта 1723 используется для инициирования и управления GRE-соединением. PPTP сложно перенаправлять за сетевой экран, так как он требует одновременного установления двух сетевых сеансов.

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

Багатопротокольнисть - основное преимущество инкапсулирующих протоколов канального уровня, к которым относится протокол PPTP.

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


3. Процесс связи по протоколу PPTP

Поскольку вся идея дистанционного доступа состоит в разрешении машины клиента подключаться по телефонной линии к машине сервера, соединение PPTP инициируется клиентом, который использует служебный средство Windows NT - Remote Access Service (RAS) - для установки PPP -соединения с поставщиком услуг Internet. Затем при активизированном соединении PPP с помощью сервера, подключенного к Internet и действует как сервер RAS, клиент применяет RAS для выполнения второго соединения. На этот раз в поле номера телефона указывается IP-адрес (имя или номер), и клиент, для того чтобы осуществить соединение, вместо COM-порта использует VPN-порт (VPN-порты конфигурируются на машинах клиента и сервера в процессе установки PPTP). Введение IP-адреса инициирует передачу запроса сервера на начало сеанса. Клиент ожидает от сервера подтверждения имени пользователя и пароля и ответы сообщением, что соединение установлено. В этот момент начинает свою работу канал PPTP, и клиент может приступить к туннелирования пакетов сервера. Поскольку они могут быть пакетами IPX и NetBEUI, сервер может выполнять с ними свои обычные процедуры обеспечения защиты. В основе обмена данными по протоколу PPTP лежит управляющее соединение PPTP - последовательность управляющих сообщений устанавливают и обслуживают тоннель. Полное соединение PPTP состоит только из одного соединения TCP / IP, которое требует передачи эхо-команд для поддержания его открытым, пока выполняются транзакции. В протоколе PPTP определены две схемы его применения.

Первая схема рассчитана на поддержку защищенного канала между сервером удаленного доступа ISP (Internet Service Provider - провайдера Internet) и пограничным маршрутизатором корпоративной сети (рис.2).

Add caption here

Эта схема приведена на (рис.3). Пользователь дважды устанавливает удаленное соединение с помощью утилиты Dial-Up Networking, представляющий собой клиентскую часть сервиса удаленного доступа Windows NT.

Add caption here

4. Реализация 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 (/ 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.

Microsoft Windows Mobile 2003 и более новые версии также поддерживают протокол PPTP.



5. Безопасность протокола PPTP

Протокол PPTP позволяет создавать защищенные каналы для обмена данными по различным сетевым протоколам - IP, IPX или NetBEUI. Данные этих протоколов инкапсулируются с помощью протокола PPTP в пакеты протокола IP, с помощью которого переносятся в зашифрованном виде через сеть TCP / IP. Инкапсулируется исходный кадр РРР, поэтому протокол PPTP можно отнести к классу протоколов инкапсуляции канального уровня в сетевой.

PPTP был объектом многочисленных анализов безопасности, в нем были обнаружены серьезные проблемы. Известны проблемы касаются аутентификации PPP протоколов, устройству протокола MPPE, и интеграции аутентификации MPPE и PPP для создания ключа сеанса. Обзор данных проблем:

  • MSCHAP-v1 совершенно ненадежный. Существуют утилиты для легкого извлечения хэшей паролей из перехваченного обмена MSCHAP-v1. [1]
  • MSCHAP-v2 подвержен словарной атаки на перехвачены challenge response пакетов. Существуют программы, выполняющих данный процесс. [1]
  • При использовании MSCHAP-v1, MPPE использует одинаковый RC4 сеансовый ключ для шифрования информационного потока в обоих направлениях. Поэтому стандартным методом XORьа потоков по различным направлениям вместе, криптоаналитик может узнать ключ. [2]
  • MPPE использует RC4 поток для шифрования. Не существует метода для аутентификации цифробуквенного потока, и поэтому данный поток уязвим к атаке, исполняющей подмен битов. Злоумышленник легко может изменить поток при передаче и изменить некоторые биты, чтобы изменить выходной поток без опасности своего проявления. Этот подмен бит может быть обнаружен с помощью протоколов, подсчитывают контрольные суммы. [1]

См.. также

Примечания