Как мы учились обходить блокировки VPN в Китае, чтобы быть готовыми к РКН

Специальный корреспондент
Собака

Собака

Пресс-служба
Команда форума
Private Club
Регистрация
13/10/15
Сообщения
55.001
Репутация
62.840
Реакции
277.225
RUB
0
В понедельник 7 августа многие пользователи VPN в России заметили проблемы с подключением к серверам. Картина складывалась противоречивая: у абонентов одного оператора мог работать VPN, а мог — нет, в одном регионе у части пользователей были трудности с подключением, а другие не испытывали технических проблем. Это уже вторая заметная волна блокировок в этом году.

По собранной в соцсетях и Телеграме информации, ограничения затронули наиболее распространенные VPN-протоколы OpenVPN, WireGuard, L2TP и PPTP. На сбои в работе VPN-сервисов жаловались клиенты мобильных операторов — Мегафон, МТС, Билайн, Tele2, Yota, Тинькофф Мобайл.

Зампред Комитета ГД по информационной политике, информационным технологиям и связи Антон Горелкин , что «пользоваться VPN-сервисами не запрещено, но Роскомнадзор обязан ограничивать работу тех из них, кто нарушает закон» — то есть, разрешает доступ к заблокированным в России сайтам и сервисам, список которых на данный момент включает не только политические и новостные ресурсы, но и крупнейшие социальные сети.

Примерная карта блокировок ВПН на неделе с 7 августа

Примерная блокировок ВПН на неделе с 7 августа
В тот же день вечером создатель сервиса обхода блокировок AntiZapret рассказал, что блокируются преимущественно подключения из России к серверам за границей у абонентов мобильных операторов, и что эти блокировки заметно отличаются от того, что было раньше. На этот раз под удар попали не популярные коммерческие сервисы, доступные всем желающим, а частные серверы, которые пользователи самостоятельно настраивали у зарубежных провайдеров. Поменялся и характер блокировки: теперь Роскомнадзор с помощью DPI и ТСПУ оценивал тип трафика и сразу же его блокировал, если определял его, как подключение через VPN. Блокируются популярные протоколы WireGuard, L2TP и OpenVPN. По мнению технического директора Роскомсободы и основателя Privacy Accelerator Станислава Шакирова, это были «блокировки не в тупую». По его мнению, цензоры пытаются сделать так, чтобы блокировка VPN затронула только частных лиц, но не повлияла на работу корпоративных клиентов.

В этот же день на Xeovo обвалилось огромное количество тикетов, но к вечеру, когда информация о новой волне блокировок VPN ещё продолжала расходиться по рунету, и СМИ ещё собирали статистику, которую мы здесь приводим, мы уже закрыли большую часть из них и соединение наших клиентов было восстановлено. Как нам это удалось? Мы к этому готовились.

Примерно год назад перед Xeovo появилась задача не только предоставлять классические VPN-протоколы, но добавить еще stealth proxies. Они маскируют VPN-трафик под обычный HTTPS, позволяя обходить .

8f4d339e70a0754b9d670716be965897.png

На то было две причины:

  1. Рано или поздно все больше стран начнут блокировать их. Блокируются они очень легко.
  2. На некоторых рынках в рекламе мы используем слоган "Silence censorship. Protect your privacy and bypass restrictions with Xeovo" — который не работает, когда ты не можешь предоставить везде услуги :)
Протокол WireGuard блокируется очень легко. OpenVPN немного сложней, но в целом оба варианта поддаются блокировке без особого труда. На сегодняшний лидеры блокировок VPN это Россия, Китай, Узбекистан, Иран, Египет и Туркменистан. Последний выделяется особо: они просто заблокировали всё и ввели вайтлисты — тут мы пока проиграли, за остальные рынки можно побороться. Но и к вопросу Туркменистана мы ещё вернёмся.

Будет работать в Китае — будет работать везде​

Как milestone мы решили поставить перед собой сложную, но понятную цель: Xeovo VPN должен работать в Китае — и если мы сможем это реализовать, то проблем с другими странами не должно будет быть.

3bcc94e15ccd2d473a20c1296a49edb4.png

Отчасти так и оказалось: наш опыт обхода «Великого китайского файерволла» действительно подготовил нас к тяжёлой волне блокировок в России на этой неделе. С другой стороны, на каждом рынке всё равно есть свои нюансы — не весь опыт борьбы с китайской цензурой переносится на другие страны, и в других странах требуются свои специфические решения.

Для успешного старта мы решили взять как можно больше доступных и проверенных протоколов (Shadowsocks, VLESS, VMess и Trojan).

Из-за такого большого арсенала первые проблемы начались с тестированием рабочих GUI клиентов и составлением пользовательских инструкций для каждой операционной системы. Клиентов очень много и большая часть из них работает примерно одинаково, но все еще бывают исключения к примеру у таких клиентов как Clash и Surfboard. Особо плохая поддержка была поначалу у протокола VLESS на MacOS, сейчас ситуация улучшилась и появился Nekoray.

Сильно мешает то, что постоянно появляется много новых протоколов, которые нужно пересматривать/тестировать каждый год, ибо их перестают поддерживать и просто в конце концов забрасывают. Хотя тенденция постоянного появления новых протоколов напрягает — это происходит потому, что цензура находит способы блокировать новые протоколы. Так эта битва и продолжается: одну голову гидре отрубят — вырастут две, а нам со всем этим зоопарком потом разбираться.

Вторая проблема была с документацией. Иногда мы просто зря тратили время читая ломаную англоязычную документацию для конкретного протокола, когда изначально нужно было сразу начинать с китайской версии. По большей степени документации или не полные или не апдейтятся, всегда возникали проблемы. В какой-то момент мы даже планировали нанять программиста со знанием китайского языка чтобы облегчить жизнь, но справились как-то сами через DeepL Translate.

1579afead3a6f2f8077449f394a47051.jpeg

После всех фаз тестирования и запуска мы начали уже оптимизировать наш генератор. Очень важно было добавить для каждого клиента свой subscription, файл который может фетчить все новые сервера которые мы добавляем и работает во всех популярных клиентах. Это особенно удобная и важная функция если IP-адреса попадают часто под бан.

После всех баг-фиксов и фич мы столкнулись с хорошими трудностями: наши IP-адреса как горячие пирожки начали блокироваться GFW, . Это был верный индикатор, что наш сервис работает как надо — прямой фидбэк, к которому мы были готовы.

Первая стратегия которую мы решили попробовать это смена IP-адресов для выходных узлов. В конце концов это оказалась малоэффективная и затратная стратегия (которую мы все еще иногда используем).

В начале она работала неплохо и IP-адреса жили неделями, попадали в карантин и выходили из блока через пару недель. Потом выяснилось что GFW использует довольно умный подход к блокировке IP-адресов и они редко остаются вечно в бане. Чем чаще IP-адрес попадает в карантин, тем дольше он там будет оставаться.

Решение блокировок IP-адресов мы решили с помощью CDN: если совсем коротко, то IP-адрес прячется за CDN и не попадает в блок. Китай избегает блокировок больших CDN-провайдеров. Единственный минус такого метода — это скорость подключения и стабильность в целом. Так что это всё ещё не панацея, но пока самый эффективный метод, который мы нашли. Если интересует больше технических подробностей, мы советуем читать (как именно блокирует Китай).

Следующая дилемма с Китаем была это разделение протоколов. Все протоколы, которые мы предоставляем могут работать в Китае, но не все из них рассчитаны на массовое использование. Чем больше подключено юзеров, тем больше вероятность что GFW обнаружит что идет подключение к proxy и заблокирует IP-адрес. Так же играет роль регион и провайдер. В некоторых регионах использование VPN отслеживают намного пассивней и хуже, чем в других. Пользователи из некоторых китайских регионов даже сообщали, что какое-то время работал WireGuard :) В итоге, для пользователей, которые подключаются из Китая, мы оставили VLESS и VMess.

После чего мы обнаружили еще одну трудность — позитивную трудность, которую можно воспринимать как экзамен и проверку своего сервиса: во время политических ивентов/выборов Коммунистическая партия машину цензуры. Грубо говоря, в блок летит всё и вся — даже юзеры, которые индивидуально разворачивают прокси. С данной проблемой мы не смогли справиться, и называем такие инциденты чёрные дни. Тут уже как повезет — может пронести и прокси будут работать, но с вероятностью 90% заблокируют всё, включая CDN.

c30c21234a70b03da2be5ebb91af5b7d.png

Более серьезная и сложная проблема это был подбор подходящего хостинг-провайдера, ибо у нас есть свои минимальные стандарты и многие из них не подходили. Большая часть подходящих провайдеров — подпольные, о которых ноль информации и доверия. О стандартных практиках безопасности вообще говорить не приходится. Помимо этого, мы не берем сервера в Китае/Гонконге .

Второй нюанс это . Грубо говоря, нужна CN2 сеть для комфортного подключения если ты в РФ. Для себя мы нашли оптимальных поставщиков в Южной Корее, Тайване, Японии и Сингапуре.

Финальная проблема — это стоимость борьбы с цензурой в Китае. Трафик нам выходит дороже, чем мы предполагали, поскольку мы его не ограничиваем — пользователи ограничены только скоростью канала и сколько смогут из него выжать. Помимо трафика дополнительный кост — частая смена провайдеров/IP-адресов/оплата CDN.

Стоимость трафика в Южной Корее с оптимизированным каналом для Китая для наглядности

Стоимость трафика в Южной Корее с оптимизированным каналом для Китая для наглядности
В целом, этот продукт оказался для нас убыточным, но мы продолжаем работать в Китае и оптимизировать затраты. Нашу борьбу за китайского пользователя мы рассматриваем скорее как инвестицию, чем убыток.

Вслед за Китаем подключились другие страны. Самая большая активность была из Ирана. В целом практики такие-же как в Китае, но процессы у них отлажены намного хуже и они часто блокировали все подряд. Ну и в любой непонятной ситуации аятоллы могут просто отключить интернет в стране.

Будем работать в Туркмении — будем работать везде​

Следующий рубеж, который мы себе поставили — это открыть интернет пользователям из Туркмении. Туркменистан — это endgame в плане интернет-цензуры, в стране по сути действуют вайтлисты. Это ситуация тяжелее, чем в Китае, чем в России, чем в арабских странах — чем везде на планете, за исключением КНДР, где вместо интернета действует интранет.

Какое-то время у нас в Туркмении работали stealth proxies, но потом довольно малоизвестный провайдер попал в бан со всей своей ASN — и сейчас мы ищем способы возобновить работу и помочь людям обходить блокировки. Всё, что можем сказать — что способы будут нестандартные, out of the box, мы будем выходить за наши границы. И также мы будем работать и бороться с цензурой в РФ.

  • Ещё в планах Xeovo VPN увеличить инфраструктуру для прокси. Сейчас мы тестируем , который будет очень полезен для пользователей из Ирана.
  • Так же в планах разработать свой мониторинг IP-адресов на блокировку в Китае, Иране, РФ и других стран.
  • И работаем над модифицированным Raspberry Pi, который планируем отправлять бесплатно нашим клиентам. Это поможет быстрей реагировать на блокировки.








 
  • Теги
    vpn
  • Сверху Снизу