Классические протоколы: PPTP, L2TP, IPsec, OpenVPN, SSTP
Эти пять — фундамент VPN-индустрии 2000-х. Понимать их обязательно: половину из них до сих пор используют в корпоративных сетях (IPsec, SSTP), а понимание их слабостей объясняет, почему появились WireGuard, Reality и всё остальное.
Все пять протоколов прекрасно блокируются современным DPI. Кроме корпоративного site-to-site (где DPI обычно нет), в 2026 ни один из них не годится для обхода блокировок. Их нужно знать как «зачем мы пришли к новому». Не как «что использовать сегодня».
1. PPTP — Point-to-Point Tunneling Protocol
1996 год, Microsoft + Ascend + 3Com. Самый старый коммерческий VPN, который до сих пор местами включён по дефолту. Простая идея: расширение PPP (модемный протокол) на TCP/IP.
| Параметр | Значение |
|---|---|
| Транспорт | TCP (control) + GRE (data, протокол IP №47) |
| Порт | TCP 1723 + GRE |
| Аутентификация | MS-CHAPv2 (взломан 2012), PAP (открытый пароль), EAP |
| Шифрование | MPPE (RC4, 40/128 бит) — устаревшее, без AEAD |
| Безопасность 2026 | F — взломан, использовать НЕЛЬЗЯ |
| Удобство | Встроен в Windows из коробки до Windows 11 |
MS-CHAPv2 — публично сломан
В 2012 на DEF CON Moxie Marlinspike показал ChapCrack: за 1 день перебора
DES-ключей атакующий с записью handshake получает пароль пользователя. Сервис
cloudcracker.com делал это за $200.
После этого Microsoft, Apple, OpenBSD рекомендуют отключать PPTP. Cisco убрала из IOS. В iOS 10 и macOS Sierra (2016) поддержка удалена. Если в инструкции твоего VPN-провайдера встречаешь PPTP — беги.
2. L2TP/IPsec — Layer 2 Tunneling Protocol
1999-2005. Логичный наследник PPTP. Сам L2TP — туннельный протокол без шифрования, его всегда комбинируют с IPsec, который добавляет криптографию. Поэтому везде пишут «L2TP/IPsec» через слеш.
| Параметр | Значение |
|---|---|
| Транспорт | UDP 1701 (L2TP) + UDP 500/4500 (IPsec IKE/NAT-T) |
| Шифрование | IPsec: AES-CBC/GCM, ChaCha20-Poly1305 (новые реализации) |
| Аутентификация | PSK (общий секрет) — главный режим, или сертификаты |
| Безопасность 2026 | C — криптография ок, но детектится мгновенно |
| Главная проблема | Фиксированные порты 500/4500/1701 — блокируются на раз |
Поверх IPsec накладывается L2TP — он переносит уже зашифрованный PPP. Получается двойная инкапсуляция: overhead ~70 байт. Зато встроено в Windows/macOS/iOS из коробки.
Почему IPsec не один и зачем L2TP
Классический IPsec в режиме tunnel передаёт IP-пакеты, но не умеет аутентифицировать пользователя (только машину) и плохо работает с динамическими IP. L2TP добавляет PPP-уровень: каждый клиент видит виртуальный «PPP-канал», получает динамический IP, можно раздать DNS, разные пароли. IPsec лишь защищает этот L2TP.
В современных продуктах эту проблему решили через IKEv2 mobike + EAP — и L2TP стал не нужен. Поэтому новые реализации идут «чистый IKEv2/IPsec» без L2TP.
3. IPsec — индустриальный стандарт
RFC 4301+ (2005). Не «один протокол», а целый стек (IKE + ESP + AH). Это до сих пор стандарт site-to-site VPN в корпоративных сетях, телекомах, между ДЦ. Если работаешь инженером СПД — этот раздел обязателен.
Стек IPsec
IKEv1 vs IKEv2 — главная развилка
| IKEv1 (1998) | IKEv2 (2005, RFC 7296) | |
|---|---|---|
| Сообщений в handshake | 9 (Main mode) или 6 (Aggressive) | 4 (всегда) |
| NAT Traversal | Хак через NAT-T | Встроено в стандарт |
| EAP authentication | Нет | Да (RADIUS, OTP, сертификаты) |
| Перезаключение | Сложно, рвёт сессию | MOBIKE: смена IP без разрыва |
| Атаки на агрессивный режим | Утечка PSK-хэша → offline brute | Нет |
| Использовать в 2026 | Нельзя | Да |
Aggressive Mode IKEv1 — древняя дыра, до сих пор у многих включена
В Aggressive Mode сервер шлёт PSK-хэш в открытом виде (один из шагов рукопожатия не шифруется).
Атакующий с интернета может запросить handshake, получить хэш и offline перебирать словарём.
Утилита ike-scan + psk-crack делают это автоматически.
В 2025 году такие настройки до сих пор встречаются на старых Cisco ASA и FortiGate. Если ты сетевик — это первая проверка при аудите.
Где IPsec живёт и почему
- Site-to-site между ДЦ/офисами — IPsec до сих пор стандарт. Cisco, Juniper, Fortinet, Mikrotik, pfSense — все поддерживают совместимо
- Облачные VPN (AWS Site-to-Site VPN, Azure VPN Gateway) — IKEv2/IPsec единственный поддерживаемый вариант. Учить обязательно
- MPLS overlay — DMVPN, GETVPN на Cisco — это IPsec в специальных режимах
- SD-WAN — большинство современных SD-WAN (Cisco Viptela, Versa, VMware VeloCloud) делают IPsec tunnels между нодами
Site-to-site между корпоративными сетями без активного DPI. В корпсети не блокируют UDP 500/4500 — это нормальный трафик. Скорость отличная (на железе с AES-NI близка к линейной), стандарт RFC, совместимость между вендорами. WireGuard в site-to-site между разными вендорами не работает — IPsec единственный универсальный.
4. OpenVPN — народный TLS-VPN
2001, James Yonan. Идея: построим VPN поверх TLS, используем готовую OpenSSL, запустим в userspace. Получилось — кросс-платформа (Linux/Win/Mac/iOS/Android/роутеры), гибкая конфигурация, тысячи опций. До WireGuard был стандартом VPN-сервисов.
| Параметр | Значение |
|---|---|
| Транспорт | UDP (по умолчанию, рекомендуемый) или TCP |
| Порт | 1194 (default), но любой |
| Криптография | TLS 1.2/1.3 для control, AES-GCM или ChaCha20-Poly1305 для data |
| Аутентификация | x.509 сертификаты (PKI), TLS-PSK, username/password (PAM) |
| Размер кода | ~600 000 строк + OpenSSL ещё столько же |
| Безопасность 2026 | B+ — крипта ок, fingerprint детектится |
Почему OpenVPN детектируется ТСПУ за миллисекунду
OpenVPN маскируется неудачно: первый пакет от клиента имеет легко узнаваемый формат:
Pattern-matching на opcode 0x38
DPI смотрит первый байт UDP-пакета: если 0x38 (или 0x40, 0x48 — другие OpenVPN opcodes) — это OpenVPN с вероятностью 99.9%. Время детекта — один пакет. Поэтому OpenVPN на дефолтных настройках мёртв в России, Иране, Китае.
tls-crypt-v2 — обёртка control-канала в дополнительный HMAC-шифр. Первый пакет становится «случайным», pattern на opcode уже не сработает. Поэтому в 2024-2025 OpenVPN с tls-crypt-v2 ещё работает кое-где в РФ.
Но это полумера: статистика пакетов (тайминги, размеры, ratio TCP/UDP) выдаёт OpenVPN ML-классификатору. Полноценный обход требует обфускации поверх — obfsproxy/obfs4 или Cloak. Сама архитектура OpenVPN не умеет маскироваться.
Где OpenVPN всё ещё уместен
- Корпоративный remote-access с PKI: AD-сертификаты, RBAC, аудит — OpenVPN мощнее WireGuard
- Старые роутеры/embedded: где WireGuard не поддерживается ядром
- Сложные routing scenarios: client-specific configs, dynamic routes, до сих пор гибче WG
- Корпорат с MFA: интеграция с RADIUS/SAML/TOTP через скрипты
5. SSTP — Secure Socket Tunneling Protocol
Microsoft, Windows Server 2008. Идея: пробросим VPN через стандартный HTTPS-порт 443, чтобы файрволы пропускали как обычный веб-трафик. Получился первый «VPN через 443» — прародитель всех современных решений (Trojan, Reality).
| Параметр | Значение |
|---|---|
| Транспорт | TCP 443 (HTTPS) |
| Криптография | TLS (любая версия, поддерживаемая ОС) |
| Аутентификация | x.509 + PPP внутри (PAP/CHAP/MS-CHAPv2/EAP) |
| Поддержка | Windows (родная), Linux (sstp-client, неофициально) |
| Безопасность 2026 | C — криптография ок, fingerprint обнаруживается |
Из плюсов: проходит через любой корпоративный proxy, работает где разрешён только TCP 443. Из минусов: проприетарный (Microsoft), плохая кросс-платформа, fingerprint TLS handshake выдаёт SSTP против обычного браузера за 1 ClientHello (ALPN, расширения, шифры — всё специфическое).
6. Сводная таблица для запоминания
| Протокол | Транспорт | Шифрование | Обход блокировок | Где живёт | Тир 2026 |
|---|---|---|---|---|---|
| PPTP | TCP 1723 + GRE | MPPE (RC4) — взломан | Нет (древний) | — | F |
| L2TP/IPsec | UDP 500/4500/1701 | AES-GCM | Нет (детект на портах) | iOS/macOS из коробки | C |
| IKEv2/IPsec | UDP 500/4500 | AES-GCM, ChaCha20 | Нет (детект на портах) | Site-to-site, корпорат | A (для site-to-site) |
| OpenVPN UDP | UDP (любой порт) | TLS 1.3 + AES-GCM | Слабый (opcode), tls-crypt-v2 помогает | Remote-access, PKI | B |
| OpenVPN TCP | TCP (любой) | TLS 1.3 + AES-GCM | Чуть лучше, но медленнее | Через restrictive networks | B- |
| SSTP | TCP 443 | TLS | Через корп. прокси — да; против DPI — нет | Windows-only legacy | C+ |
7. Почему мы пошли дальше
Главный вывод урока — почему 2010-е дали миру WireGuard, Trojan, Reality:
- IKE детектится по портам. UDP 500/4500 — известны всем. Достаточно правила «дропать всё с этих портов» — IPsec на колене.
- OpenVPN детектится по opcode. Первый байт пакета выдаёт. tls-crypt-v2 спасает на год вперёд, потом обходят и его.
- PPTP сломан криптографически. Не используется.
- SSTP — Windows-only, fingerprint TLS handshake виден.
- Все классические протоколы НЕ маскируются. Они не пытаются выглядеть «как что-то ещё». В 2010-х это было ок (блокировок мало). В 2020-х — нет.
Решения «следующего поколения» (WireGuard, Xray, Reality) решают разные задачи: WireGuard — «делаем меньше кода и быстрее», Trojan/Reality — «маскируемся под HTTPS». Дальше в курсе мы их разбираем по очереди.
В следующем уроке — WireGuard: почему 4000 строк кода стали стандартом, как устроен Noise_IK handshake, что у WG плохо в 2026 (UDP, фиксированный handshake) и как это лечат через AmneziaWG.