Иногда протоколы становятся популярными вопреки своим техническим недостаткам, просто из‑за агрессивного продвижения крупной компанией. Бывает и наоборот, протокол независимых разработчиков решает настолько насущную проблему какой‑то части пользователей, что быстро набирает популярность сам по себе. Так произошло с OpenVPN или WireGuard.
Некоторые протоколы теряют популярность. Некоторые так и не становятся широко известными, иногда заслуженно, иногда нет. В этой статье мы поговорим о нескольких таких протоколах.
PPTP
Протокол PPTP (Point to Point Tunneling Protocol) оказался на задворках вполне справедливо. Хочется верить, что молодые читатели с ним уже не сталкивались, но лет десять назад он был хрестоматийным примером незаслуженно популярного протокола.
Популярность ему обеспечила монополия его разработчика — корпорации Microsoft. С середины девяностых до конца двухтысячных абсолютное большинство клиентских устройств были компьютерами с Windows. Очевидно, наличие в Windows встроенного клиента автоматически делало протокол как минимум распространенным.
Microsoft не была бы самой собой, если бы не воспользовалась этим для сохранения и укрепления своего монопольного положения. Протокол PPTP использовал стандартные PPP и GRE для передачи данных, но для аутентификации и шифрования применялся нестандартный, патентованный набор протоколов: MPPE (Microsoft Point-to-Point Encryption) и MS-CHAP.
Из‑за этого свободные реализации что клиента, что сервера PPTP были в свое время такой же больной темой, как GIF и MP3. Затем срок действия патентов истек, poptop для Linux и MPD для FreeBSD стали популярными альтернативами проприетарным продуктам.
Однако предупреждения о проблемах безопасности самодельной криптографии не были беспочвенными. Оценки стойкости MPPE и MS-CHAP неоднократно снижались, и в 2012 году протокол был дискредитирован окончательно: исследователи доказали, что стойкость MS-CHAP-v2 не лучше DES. После этого воспринимать PPTP как безопасный протокол стало невозможно, и он быстро потерял последние остатки популярности.
Стоит ли использовать PPTP?
Очевидно, категорически не рекомендуется.
SSTP
SSTP (Secure Socket Tunneling Protocol) — вторая попытка Microsoft создать собственный протокол для VPN. В этот раз они не стали изобретать свои криптографические алгоритмы, а использовали стандартный SSL/TLS. Они также больше не препятствуют созданию свободных реализаций.
SSTP представляет собой PPP поверх HTTPS. Очевидное преимущество — он отлично проходит через NAT и теоретически даже через прокси. Преимущество далеко не уникальное, OpenVPN умел работать поверх TCP/443 задолго до этого.
OpenVPN, впрочем, не просто так по умолчанию использует UDP, а не TCP. У туннелей поверх TCP наблюдаются серьезные проблемы с производительностью — на одном и том же железе они могут быть в десятки раз медленнее.
В Windows, очевидно, есть встроенный клиент — начиная с Windows Vista. Для Linux есть реализации клиента и плагины к NetworkManager. Есть и сторонние клиенты для macOS, например EasySSTP. Для мобильных устройств тоже придется искать и ставить сторонние приложения.
Если нужно развернуть сервер SSTP, из свободных проектов его поддерживают ACCEL-PPP и SoftEther.
Стоит ли использовать SSTP?
Разве что если вынуждает корпоративная политика.
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее