1 ноября 2019 года в силу вступил Закон о «суверенном Рунете», согласно которому, российский сегмент интернета должен «централизованно управляться Роскомнадзором». И ведомство взялось за то, чтобы установить полный контроль. А на пути к этому стоят VPN-сервисы, предоставляющие россиянам доступ к заблокированным в России сайтам.
Роскомнадзор уже неоднократно предпринимал попытки преследования VPN, которые не хотят фильтровать трафик пользователей и осуществлять блокировки по реестру запрещённых сайтов (что само по себе для VPN абсурдно). Так, в течение лета 2021 года в СМИ периодически появляется информация, что то один, то другой VPN-сервис якобы подвергся блокировке от госведомства. Правда, в большинстве случаев их пользователи никаких особых сбоев в работе не замечают. Роскомнадзор же явно намерен продолжать попытки, в том числе используя новые возможности ТСПУ (технические средства противодействия угрозам), блокировать такие сервисы. И, кажется, что риски блокировок или других санкций для строптивых VPN сейчас действительно высоки.
Мы постараемся ответить на вопросы, насколько реальна перспектива блокировок VPN, кто и как может эти блокировки осуществить и как вообще устроены современные VPN-сервисы, как могут они защищаться от нападок РКН и защищать своих пользователей.
И начнем с актуального перечня текущего состояния VPN-протоколов — какие из них работают, какие уже устарели и какие они имеют возможности.
1. L2TP/IPsec — связка из двух протоколов, где сначала IPsec устанавливает защищённый канал связи, внутри которого L2TP устанавливает защищённый туннель. Такая комбинация считается морально устаревшей по соображениям безопасности и невысокой производительности.
a) IPSec (Internet Protocol Security) - разработан Инженерным советом Интернета (Internet Engineering Task Force, IETF) для IPv6 (первоначально был обязательным, позже стал рекомендацией)
i) Может использоваться также как протокол туннелирования (tunnel mode), но в связке с L2TP используется в «транспортном» режиме (transport mode).
b) L2TP (Layer 2 Tunneling Protocol) — протокол туннелирования. Его стандарт был опубликован в 2000 году и явился развитием протоколов L2F (Layer 2 Forwarding Protocol, Cisco) и PPTP.
i) Сам по себе не имеет механизма шифрования данных.
2. Альтернативно используется связка IKEv2/IPsec, которая обеспечивает бо́льшую скорость передачи данных в сравнении с L2TP/IPsec и позволяет поддерживать соединение при переключении от одной сети к другой (что актуально для мобильных приложений). Такая комбинация не отличается максимальной защитой, но обеспечивает высокую скорость и стабильность соединения.
a) IKEv2 (Internet Key Exchange) — протокол обмена ключами, позволяющий установить предварительное безопасное соединение для того чтобы узлы сети смогли безопасно обменяться информацией, необходимой для установки полноценного защищённого подключения (используемый алгоритм шифрования, ключ шифрования и т. п.)
b) То есть в данной связке IPsec используется как протокол туннелирования.
3. OpenVPN — свободное ПО, демон для установки защищённого соединения между клиентами и сервером.
a) Использует собственный протокол, включающий в себя SSL/TLS для шифрования данных.
b) Открытый исходный код позволяет любому желающему провести собственный аудит и убедиться в отсутствии случайно или специально оставленных бэкдоров.
c) Имеет репутацию надёжного, проверенного временем решения.
4. WireGuard — современный протокол, созданный как замена OpenVPN.
a) Малая кодовая база упрощает аудит по сравнению с OpenVPN.
b) Занимает лидирующие позиции по скорости и использует современные технологии шифрования. Впрочем, так же существует критика проекта со стороны некоторых криптоаналитиков за отсутствие такой расширяемости в плане использования протоколов шифрования, которая есть у IPSec.
c) NordLynx — проприетарный вариант WireGuard, используемый NordVPN. По утверждению компании он «решает проблему WireGuard, который должен хранить на сервере IP-адреса подключённых к нему клиентов».
1. PPTP (Point-to-Point Tunneling Protocol) — морально устаревший протокол, не обеспечивающий надёжного шифрования.
1) SSTP (Secure Socket Tunneling Protocol) — проприетарный протокол Microsoft, позволяет использовать PPTP вместе с SSL/TLS шифрованием.
2) MPPE (Microsoft Point-to-Point Encryption) — используется для шифрования данных в рамках PPTP и PPP (Point-to-Point Protocol).
2. SoftEther — протокол, используемый приложением SoftEther VPN (которое также поддерживает альтернативные протоколы).
1) Обеспечивает хорошую защиту от DPI (deep packet inspection) за счёт использования инкапсуляции Ethernet внутрь HTTPS.
2) Поддерживает VPN over ICMP и VPN over DNS, позволяя проникать сквозь сети, которые не пропускают через себя TCP/UDP трафик.
3. Cisco AnyConnect — технология установления подключения к VPN. Для обмена данными может использовать также протоколы UDP и SCTP (Stream Control Transmission Protocol). В некоторых случаях (UDP) так же использует DTLS (Datagram Transport Layer Security) для обеспечения безопасности соединения.
1) OpenConnect — open-source реализация данного способа подключения.
4. Lightway — собственная разработка ExpressVPN как альтернатива WireGuard. Отличается минимальной кодовой базой, и, по утверждению разработчиков, стабильно работает при переключении между разными сетями.
1. TLS, ранее SSL (Transport Layer Security, Secure Sockets Layer) - распространённый криптографический протокол (используется в том числе в рамках HTTPS). Широко используется в рамках протоколов подключения к VPN (OpenVPN, SoftEther, Cisco AnyConnect).
2. SSH (Secure SHell) — Сам по себе - протокол для удалённого управления. Но самая распространённая его реализация, OpenSSH позволяет в пределах такого соединения установить туннель и предоставляет интерфейс (по протоколу SOCKS) для подключения поверх этого туннеля, результат такого соединения похож на анонимизацию пользователя через VPN, но не является им. Такая технология неоптимальна, так как использование TCP over TCP приводит к низкому качеству связи.
Сами по себе популярные VPN-протоколы уязвимы к блокировкам при помощи технологии DPI (Deep packet inspection), которая анализирует проходящий через сетевой узел трафик, и блокирует пакеты, которые распознает, как принадлежащие VPN-протоколам.
Однако существуют технологии, позволяющие дополнительно замаскировать VPN-трафик под другой тип трафика, что затрудняет его выявление при помощи DPI.
1. Shadowsocks, протокол шифрования, созданный на основе SOCKS5, позволяет в числе прочего скрывать факт использования VPN, пропуская трафик, через промежуточный SOCKS5 прокси-сервер, что позволяет обходить блокировки VPN.
1) SOCKS — протокол для обмена данными через прокси-сервер. Его расширение SOCKS5 обеспечивает механизм аутентификации.
2. obfs4 (obfs4proxy) — одна из реализаций PT (Pluggable Transports - «подключаемые транспорты») в рамках проекта Tor. Также может использоваться в рамках OpenVPN и в соединении с другими технологиями. PT маскируют трафик Tor (или VPN) под другой тип трафика, что позволяет обходить блокировки со стороны провайдеров или властей.
3. Cloak — ещё один вариант PT, который маскирует трафик других протоколов под HTTP-трафик, что затрудняет его блокировку.
1) Помимо вышеупомянутых, существуют и другие варианты PT.
4. Stunnel — технология туннелирования, позволяющая в том числе маскировать трафик под HTTPS, то есть в конечном счёте под TLS, что затрудняет блокирование VPN трафика.
5. OpenVPN Scramble (XOR Obfuscation) — технология обфускации трафика, использующая шифр XOR (также известный как гаммирование) для того, чтобы DPI алгоритмы не могли распознать его.
6. Chameleon — проприетарный протокол VyprVPN, маскирующий трафик OpenVPN.
7. V2Ray — часть Project V (набор инструментов для защиты приватности в сети), предоставляет возможность работы с прокси-серверами, поддерживает различные протоколы, в том числе Shadowsocks.
По факту коммерческие VPN-сервисы чаще всего предлагают следующие протоколы:
Сводная таблица использования протоколов популярными сервисами (информация будет обновляться):
VPN cервис | WireGuard | OpenVPN | IKEv2/IPsec | Прочее |
NordVPN | Да (как NordLynx) | Да | Да (на macOS и iOS) | |
ExpressVPN | Нет | Да | Да (на Windows и iOS) | Lightway (недоступен на iOS), IKEv1 (на iOS), L2TP (на Windows и macOS) |
PIA (Private Internet Access) | Да (бета-версия) | Да | Да (на iOS) | Shadowsocks |
Red Shield VPN | Да (требует ручной установки) | Да | Да (недоступен на Android) | OpenConnect (недоступен на macOS и iOS) |
Amnezia | Нет (в разработке) | Да | Нет (в разработке) | Shadowsocks, Cloak |
Outline VPN | Нет | Нет | Нет | Shadowsocks |
Мы также напоминаем, где взять защищённые и проверенные VPN, помогающие как обеспечить конфиденциальность, так и восстановить доступ к цензурируемой информации в Сети — сервис vpnlove.me.
Главное за неделю в области права.
23 декабря 2022 года Минюст включил Роскомсвободу в реестр незарегистрированных общественных объединений, выполняющих функции иностранного агента. Мы не согласны с этим решением и обжалуем его в суде.