- PPTP
-
PPTP (англ. Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.
Содержание
Спецификация
Спецификация протокола была опубликована как «информационная» RFC 2637 в 1999 году. Она не была ратифицирована IETF. Протокол считается менее безопасным, чем IPSec. PPTP работает, устанавливая обычную PPP сессию с противоположной стороной с помощью протокола Generic Routing Encapsulation. Второе соединение на TCP-порте 1723 используется для инициации и управления GRE-соединением. PPTP сложно перенаправлять за сетевой экран, так как он требует одновременного установления двух сетевых сессий.
PPTP-трафик может быть зашифрован с помощью MPPE. Для аутентификации клиентов могут использоваться различные механизмы, наиболее безопасные из них — MS-CHAPv2 и EAP-TLS.
Реализация PPTP
Cisco первой реализовала PPTP и позже лицензировала эту технологию корпорации Microsoft.
PPTP удалось добиться популярности благодаря тому, что это первый протокол туннелирования, который был поддержан корпорацией Microsoft. Все версии Microsoft Windows, начиная с Windows 95 OSR2, включают в свой состав PPTP-клиент, однако существует ограничение на два одновременных исходящих соединения. А сервис удалённого доступа для Microsoft Windows включает в себя PPTP сервер.
Некоторое время в Linux-дистрибутивах отсутствовала полная поддержка PPTP из-за опасения патентных претензий по поводу протокола MPPE. Впервые полная поддержка MPPE появилась в Linux 2.6.13 (2005 год). Официально поддержка PPTP была начата с версии ядра Linux 2.6.14. Тем не менее, сам факт применения MPPE в PPTP фактически не обеспечивает безопасность протокола PPTP.
Операционная система FreeBSD поддерживает PPTP протокол, используя в качестве сервера PPTP порт mpd (/usr/ports/net/mpd), используя подсистему netgraph; можно также использовать программу PoPToP (/usr/ports/net/poptop). В качестве клиента 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.
Безопасность протокола PPTP
PPTP был объектом множества анализов безопасности, в нём были обнаружены различные серьёзные уязвимости. Известные относятся к используемым протоколам аутентификации PPP, устройству протокола MPPE, и интеграции между аутентификациями MPPE и PPP для установки сессионного ключа. Краткий обзор данных уязвимостей:
- MSCHAP-v1 совершенно ненадёжен. Существуют утилиты для лёгкого извлечения хешей паролей из перехваченного обмена MSCHAP-v1.[1]
- MSCHAP-v2 уязвим к словарной атаке на перехваченные challenge response пакеты. Существуют программы, выполняющие данный процесс.[2]
- В 2012 году было показано, что сложность подбора ключа MSCHAP-v2 эквивалентна подбору ключа к шифрованию DES, и был представлен онлайн-сервис, который способен восстановить ключ за 23 часа.[3]
- При использовании MSCHAP-v1, MPPE использует одинаковый RC4 сессионный ключ для шифрования информационного потока в обоих направлениях. Поэтому стандартным методом является выполнение XOR’а потоков из разных направлений вместе, благодаря чему криптоаналитик может узнать ключ.[4]
- MPPE использует RC4 поток для шифрования. Не существует метода для аутентификации цифробуквенного потока и поэтому данный поток уязвим к атаке, делающей подмену битов. Злоумышленник легко может изменить поток при передаче и заменить некоторые биты, чтобы изменить исходящий поток без опасности своего обнаружения. Данная подмена битов может быть обнаружена с помощью протоколов, считающих контрольные суммы.[1]
См. также
Примечания
- ↑ 1 2 Bruce Schneier, Cryptanalysis of Microsoft's Point to Point Tunneling Protocol (PPTP)
- ↑ Статья Exploiting Cisco Leap (англ.) (Проверено 1 сентября 2011)
- ↑ Divide and Conquer: Cracking MS-CHAPv2 with a 100% success rate
- ↑ Bruce Schneier, Cryptanalysis of Microsoft's PPTP Authentication Extensions (MS-CHAPv2), October 19 1999
Ссылки
- RFC 2637
- ЧаВо по дырам в безопасности в реализации Майкрософт, Брюс Шнайер, 1998
- Poptop, сервер PPTP для Linux
- PPTP клиент, Linux, FreeBSD и NetBSD клиент
- pptpproxy — Linux pptp-прокси
- Настройка PPTP VPN клиента в Windows (виста) (рус.)
- Почему не следует внедрять PPTP (англ.)
Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) Физический Канальный Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • SMDS • STP • ERPS
Сетевой Транспортный Сеансовый Представления Прикладной Другие прикладные OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype
Виртуальные частные сети (VPN) Программное обеспечение Chaply • Check Point VPN-1 • Cisco Systems VPN Client • CloudVPN • CryptoLink • Gbridge • Hamachi • Jabpunch • Microsoft Forefront Unified Access Gateway • n2n • NetworkManager • OpenVPN • Openswan • pLan OpenVPN Edition (ZeroGC Gaming Client) • rp-pppoe • Social VPN • strongSwan • Tinc • tcpcrypt • Vyatta • Wippien
Механизмы SSTP · IPsec • L2TP • L2TPv3 • PPTP • Split tunneling
Управляемые поставщиком Для улучшения этой статьи желательно?: - Проставив сноски, внести более точные указания на источники.
- Добавить иллюстрации.
Категории:- TCP/IP
- Сетевые протоколы
- VPN
Wikimedia Foundation. 2010.