PPTP

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

Необхідність застосування[ред.ред. код]

Протоколи туннелювання потрібні тому, що деякі протоколи не можуть маршрутизуватися через певні мережі. Кадри PPP, які не маршрутизуються через мережу Інтернет, самостійно ці кадри не можуть знайти правильний маршрут через Інтертет до одержувача, для цього їм потрібна підтримка. Саме для цього і потрібні протоколи тунелювання. Вони дозволяють проводити інкапсуляцію пакетів PPP, тим самим кадри правильно доходять до одержувача.

Специфікація[ред.ред. код]

Протокол 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, що з'єднує два вузли.

Процес зв'язку по протоколу 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

Реалізація 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.


Безпека протоколу 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]

Див. також[ред.ред. код]

Примітки[ред.ред. код]

Посилання[ред.ред. код]