PPTP
PPTP (Point-to-Point Tunneling Protocol, RFC 2637, 1999) — VPN-протокол от Microsoft/Cisco/Ascend, встроенный в Windows с 95-й версии. Криптографически сломан с 2012 года. Использовать нельзя. Тут только для истории и для понимания что видишь в старом железе.
Как работал
- Клиент устанавливает control-сессию с сервером по TCP порт 1723.
- Через неё — data-сессия в GRE-туннеле (IP protocol 47).
- Внутри GRE — PPP-фреймы с аутентификацией и данными.
Криптография — MPPE
MPPE (Microsoft Point-to-Point Encryption) — RC4 40/56/128-бит с ключом, выведенным из пароля пользователя через MS-CHAPv2. Всё сломано:
- RC4 — атаки на биасы битов, plaintext-восстановление.
- MS-CHAPv2 — Moxie Marlinspike в 2012 показал ChapCrack: любой перехваченный handshake брутфорсится за 23 часа на CloudCracker.com (сейчас за минуты на GPU).
- Ключи RC4 переиспользуются из-за детерминированности выведения из пароля.
- Нет PFS. Скомпрометированный пароль → весь исторический трафик расшифровывается.
Что делать
- Если видишь PPTP-сервер в 2026 — выключай его.
- Если клиент, который знает только PPTP — заменяй устройство или обёртывай трафик другим способом.
- Клиенты давно удалили: macOS выкинул PPTP в Sierra 2016, iOS в iOS 10 2016. Windows формально ещё поддерживает.
Плюсы (исторические)
- Простой в настройке.
- Работал везде в 2000-х (Windows 95, 98, XP из коробки).
- Быстрый (криптография слабая, зато лёгкая для CPU).
Минусы
- Сломан. Любой перехваченный трафик расшифровывается.
- Часто блокируется файрволами (GRE, TCP 1723).
- NAT-проблемы: GRE плохо через NAT, нужен GRE-helper модуль.
- Массово выключен в современных ОС.
Знаменитый случай — Iranian Anti-Filter
В начале 2010-х иранцы массово использовали PPTP для обхода фильтров. Все верили что «это же VPN, значит зашифровано». По факту иранские спецслужбы всё видели насквозь — пароли, трафик, историю.
Что взять взамен
| Ты хочешь | Бери |
|---|---|
| Простой remote-access VPN | WireGuard |
| Совместимость с Windows из коробки | IKEv2 |
| Обход блокировок | Xray с REALITY/VLESS |
| Корпоративный AD-интегрированный | IKEv2 + EAP-MSCHAPv2 |