Национальные особенности китаёзного интернета
Дивные дела деются в нашей большой и гордой стране, которая пошла своим уникальным путём ™. Надысь у её сателлита Беларуси стали блокировать Торы, при этом хорошо видно как в режиме реального времени адаптируется защита — мосты (bridges) в ручном режиме постепенно коллекционируются и добавляются в общий бан-лист (по проблематике этого можно почитать у меня вот здесь). Как уже давно замечено, Беларусь — это экономико-политический полигон России, то есть всё, что внедряется в Беларуси, после обкатки и осмысливания вскоре ВНЕЗАПНО всплывает на её большой славянской родине. Таких корреляций так много, что политологи уже давно называют Беларусь своего рода testnet«ом для РФ. На феномене такой отложенной репликации останавливаться здесь не будем, ибо она имеет оффтопичные корни, а пока примем просто на веру это как некую гипотезу, и вперим свой жадный взгляд в то, что происходит там.
А происходит на Белой Руси на данный момент следующее. Год помучавшись с подручной изолентой и скотчем, местные siloviki не смогли собрать эффективно фильтрующую систему, а потому просто купили некое китайское решение. Интересны детали: бан-список этого стороннего решения содержит ip-адреса 5994 входных нод Тора, которых всего на данный момент чуть-чуть больше 7000. Таким образом, государствам уже во всю предлагаются сторонние аутсорс-решения наподобие антивирусных, установив которые под ключ знай себе просто плати абонентку и обновляй базы, которые, в свою очередь, будут пополнять чорные айтишники, предположительно, с узким разрезом глаз. Так бабло постепенно побеждает зло. Базы эти содержат не сигнатуры вирусов, а бескрайние коллекции ip-адресов всякой нечести для сторонников крепкой вертикали, как-то: VPN«ов, прокси, анонимизаторов, Тор«ов etc.
Так вот, други мои одноядерные, возвращаясь к Беларуси — горят мосты, мосты горят — количество рабочих bridges тает прямо на глазах, предлагается сразу переходить к обфускации трафика, так сказать готовится к эшелонированной обороне. Алигер ком алигер, впрочем, запрашиваемые мною custom bridges банятся тоже довольно шустро, из чего следует, что засланные казачки китаёзы также во всю юзают такие же общие интерфейсы запроса приватных мостов. Только мы их юзаем по прямой нужде, а они их — тупо банят. Но дело не в Торе конкретном, к которому я кстати испытываю большой скепсис, дело в общей тенденции.
Да, пока жить можно, но только если осторожно. Но вот вам пример с перспективой: чорные айтишники, работающие исключительно за деньги, а не за светлые гуманистические идеалы человечества, прямо сейчас скучковались в Туркменистане. Так вот, в солнечном Туркменистане не только не сменяется президент, но там даже не работает Tor, такая вот странная корреляция нарисовалась. OBFS4 в тех краях определяется моментально, после чего соединение принудительно дропается. Даже Meek не работает: начинается передача данных, а через примерно мегабайт-полтора DPI на пограничном шлюзе понимает, что серверы Amazon, вероятнее всего, используются для передачи данных, а не для чистого HTTPS-соединения, и перестает пропускать трафик. А Azure заблокирован, и Meek Azure, соответственно, тоже. На FTE не приходит ответ — лишь тишина одиночества.
Пустота. Тишина. Одиночество. Ночь.
И никто никогда не захочет помочь.
Все прошло. Смысл всплывет в кадрах из кинолент.
Но остался в душе, как царапина, интернет.
Конечно, сравнивая Беларусь, Туркменистан и Россию, нельзя недооценивать последнюю, где размах энтропического бардака имеет такие гипетрофированно-циклопические масштабы, что начинаешь сомневаться: возможно ли в РФ в принципе закупить оборудование DPI, чтобы деньги, выделенные на эти святые государственные цели не самораспилились по дороге к поставщику оборудования? Короче говоря, in эффективные менеджеры we trust, пока никакой иной надежды не проглядывается. Тем более буквально давече Парень с Голым Торсом подписал новую доктрину информационной безопасности страны, в которой особо обращается внимание на то, что «наращивается информационное воздействие на население России в целях размывания духовно-нравственных ценностей».
И покамест все мы тут духовно-нравственно размываемся, невинно теряя девственную жесткость своих морально-этических скреп («под напором ряда враждебно настроенных к нам государств»), содрогаясь в тщетных попытках развидеть однажды увиденное в бездонных сетевых недрах интернета, предлагаю далее в качестве прикладного спиритического сеанса попробывать заглянуть в наше тревожное будущее — в современный красный Китай. Как же тамошнее государство зафиксировало тлетворное размытие умов своих сограждан, как блокируются внешние сервисы, как обламываются тщедушные поползновения враждебных государств?
Далее под моим катом выложены заметки-наблюдения простого русского мужичка-айтишника, такого как ты и я, в рубахе и с православным крестом на груди, который размывает делится своими житейскими впечатлениями от юзания китаёзного интернета, в частности, тамошнего VPN«а. Попутно напомню, что ранее мною было взято похожее интервью Сеть через прицел DPI: анатомия китайского интернета, которое прекрасно дополняет все эти наблюдения правдой маткой сухими техническими подробностями.
Сие есть наше будущее окаянное, оно грядет как тать. Считаю, что для начала сеанса всем показан укольчик чего-нить седативно-успокоительного, ну, а затем уже сразу можно постигать не страшась всё сокрытое под катом.
Так уж получилось, что уже почти год я живу в Китае, в городе Шеньчжэнь.
Многие неугодные сервисы, такие как Twitter, Facebook, Instagram, Google здесь блокируют, так как они не хотят сотрудничать с китайским правительством. В России движутся в том же направлении, но пока еще находятся в самом начале пути. Тем интереснее посмотреть, как это все работает. Практически, увидеть будущее.
Сразу оговорюсь, что некоторые технические аспекты я даю с намеренным упрощением, в основном схемы работы все расписаны именно для понимания принципов.
После того, как начались первые блокировки интернет-проектов Роскомнадзором, многие стали сравнивать то, что происходит в России с Китаем. Я и сам отпускал в Фейсбуке едкие замечания. Посмотрев с другой стороны, я осознаю, насколько наивно это было.
Ставить рядом российские и китайские блокировки — это все равно что сравнивать низенький заборчик, сквозь который видна противоположная сторона и можно при желании передавать вещи или, поставив табуреточку, перелезть, с трехметровой бетонной стеной с колючей проволокой сверху.
Технически обход блокировок в России — штука элементарная. Блокировка осуществляется по IP адресу, или по домену. Чаще всего после блокировки сервисы благополучно переезжают на другие адреса или домены. В некоторых случаях (например, как в случае с Рутрекером) владельцы ресурсов пишут удобные обертки, которые «вроде как ничего не нарушают», и, при этом, позволяют без проблем достучаться до нужных ресурсов.
Новые IP адреса и доменные имена банят долго, обертки не запрещают. Работает TOR и все возможные способы туннелирования, начиная от простейших PPTP и L2TP вариантов VPN.
На фоне всего этого разгвоздяйства китайские кибер-полицейские работают как хорошо обученный спецназ. Рассказываю историю.
Перед выездом в Китай установил OpenVPN на свой сервак в Германии (у меня есть там железка у хорошо известного многим провайдера на букву H). Заодно подумал, и закинул его же на свои инстансы на Amazon.
По приезду попробовал присоединиться и… Потерпел неудачу. Дело в том, что провайдеры Китая анализируют весь трафик, который идет через них (так называемый DPI, Deep Packet Inspection), и блокируют не только IP адреса или домены, а, в том числе, не пропускают и определенные протоколы. Среди них есть и OpenVPN. Ну и, конечно, PPTP, L2TP, IPsec. При этом, компании, которым VPN соединение нужно, пользуются модифицированной версией, которую может расшифровать правительство.
Конечно, разом запретить все открытые протоколы правительство все равно не может. Например, без SSH китайские компании потеряли бы много денег — в конце-концов, им же нужно работать с серверами по всему миру. Поэтому следующим моим шагом было запихнуть трафик от OpenVPN в SSH туннель. Потом еще настроить удаленный DNS, и так далее, не буду грузить тут вас подробностями, благо инструкций в интернете великое множество.Пару дней все работало прекрасно, правда, пинг был великоват, ну да я все равно не играю в компьютерные игры, так что, мне было практически все равно.
А потом все начало тормозить. Я зашел на сервер — и увидел, что до него пытались достучаться по всем известным уязвимостям с пары десятков китайских IP. Уж не знаю, каким образом китайский кибер-спецназ прознал об этом (а может, сведения о этом VPN появились на каком-нибудь форуме местных хакеров), так что, я от греха подальше убил виртуалку, в которой стоял OpenVPN и перекинул туннель на амазоновский инстанс.
Через пару часов EC2 ушел в глубокий отказ, мне пришлось ребутить его из консоли. Судя по всему, в него тоже «постучали». Хорошо, что не в мою дверь. Впрочем, по заверениям всех иностранцев, так или иначе проживающих в Китае, случаев арестов лаоваев за использование VPN пока не было. Мало того, не было и случаев штрафов за публикацию контента в Facebook, или, например, за то, что китайская компания ведет в нем страничку.
Когда я спросил у пары китайских знакомых, почему это так — они сказали — «ну, правительство не будет препятствовать бизнесу. Что хорошо для бизнеса — то хорошо для Китая. А если прессовать иностранцев и сажать их за их любимые соцсети, то они не будут сюда приезжать. А нам нужно сотрудничество».
Уж не знаю, правда это или нет. Познакомились недавно, может, они просто боятся говорить со мной начистоту? Кто его знает.
Конечно, я нашел себе VPN-сервис, благо их сейчас немало. Все они построены по следующему принципу: у них есть много-много серверов по всему миру, и когда эти сервера банят, то поднимают новые. Так как большинство этих серверов — всего лишь виртуалки, то делается это быстро. Купили у нового провайдера VPS, накатили образ, хоп — уже новая нода. А ПО ссинхронизировало списки с нового сервера. В качестве протоколов используется чаще всего OpenVPN с модифицированными заголовками или туннелирование VPN через SSH/SSL.
Прихлопывают эти VPN достаточно часто, на форумах часто можно увидеть нытье о том, что что-то из Китая опять не работает. Особенную активность разводят во время всевозможных саммитов. Вот, например, пока я писал этот пост, прихлопнули мою любимую виртуалку в Сингапуре, до которой пинг был всего около 150 мс.
Сейчас она не отвечает, хотя, до этого исправно снабжала меня свободным инернетом в течение трех недель. Да, конечно же, «обходы блокировок» с помощью «включения сжатия» в Хроме, VPN в Opera итд итп, не работают. Давно забанили.
Кроме VPN анализируют также посты в соцсетях, HTML странички, и так далее — все это как по ключевым словам, так и с помощью систем анализа смысла.
Главное тут — психологический аспект. Большинство иностранцев, чья работа не связана с интернетом, через полгода-год на эти VPN забила. Ну потому что реально раздражает, что для того, чтобы вылезти в сеть, тебе нужно что-то там включить, подождать, все это обязательно будет тормозить (пинг в 200–300 милисекунд — обычное дело, и это еще хорошо), скорости больше 2–3 мегабит ты все равно не получишь…
Те, кто знает китайский, плотно сидят в здешних социальных сетях, остальные… В ВК, конечно же. Судя по всему, у российской соцсетки есть или сервера на территории Поднебесной, или у их провайдера хороший пиринг с Китаем. По крайней мере, абсолютно все другие российские сервисы работают очень медленно (американские — нормально, потому что пиринг с Америкой налажен).
В общем, это действующая модель того, к чему может прийти Россия, если пойдет по пути запретов. Немногочисленные маргиналы, пролезающие сквозь файрволл абсолютно незаметны и достаточно безопасны на фоне подавляющего большинства, которому получить «сетевую свободу» просто лень. В какой-то момент начинаешь думать «да черт с ней, с этой зарубежной соцсеткой. Платить еще за VPN этот. И фильм нормально не посмотришь, и гифки будут грузиться по 2 минуты…».
Другое дело, что непонятно, смогут ли в России организовать Deep Packet Inspection на соответствующем техническом уровне. Потому что у нас все дорого, или невозможно. Помните анекдот про грешника, который в российский ад попал? У него там каждый день была обязанность — съесть ведро навоза. Но жил он в этом аду, в общем-то, неплохо. Потому что ежедневно было одно и то же — то навоз не завезли, то ведер на всех не хватает.
Ну, это пока. А вообще, мы учимся, да.
10 главных фактов о китайском интернете http://t.co/ogIaeuKela
К примеру, для регистрации сайта там требуется специальная лицензия
— Artem Kozlyuk (@kozlyuk) April 14, 2015
Секция вопрос-ответ в качестве бонуса
Ламерский вопрос наверно, но как они https сайты банят? Пакеты зашифрованы ведь.
Если не принимать особых мер к шифрованию, то связка из провайдерского «отравленного» DNS + анализа заголовков TCP пакетов позволяет однозначно идентифицировать, куда направлен трафик, и отрубить его, если это официально запрещенный сайт.
А особые меры к шифрованию — это OpenVPN или ещё что-то?
VPN с шифрованием (и использование внешнего DNS вместо провайдерского). Правда, обычные пакеты OpenVPN в Китае зачастую просто рубятся, так что, всякие товарищи которые предоставляют услуги VPN, слегка модифицируют протокол (обфусцируют), меняют у него заголовки так, чтобы не было понятно на автомате, что это такое.
Tor там работает?
Большинство IP выходных нод забанено. В общем, можно сказать, что не работает. В Китае реально эффективно работает DPI. 99% не высовывается наружу из-за файрволла.
Великий китайский файервол и с этой стороны не даёт покоя. Ссылки на китайские ресурсы на форумах порой не открываются. В китайских интернет магазинах зачастую не все функции работают или не все картинки отображаются. Да и тот же Таобао открывается медленнее.
В 90% случаев причина этого проста — трафик идет через заблокированные ресурсы. Например, всякие там прокси, opera vpn, сжатие трафика google, итп.
Ну и в любом случае, пиринга у России с Китаем нет, весь трафик через США идет. Так что, все в любом случае будет медленно.
Хм, а кто мешает арендовать малюсенький VDS и поднять на нем свой VPN?
Его сначала заДДосят, а потом забанят по IP через пару дней. Я так пробовал делать.
Вы написали, что «Каналы связи между Китаем и остальным миром очень медленные, а часть пакетов теряется во время проверки…». Как от этого помогает VPN? Если VPN сервер находится не в Китае значит траффик до него будет идти через эти самые медленные и теряющие пакеты каналы. Если в самом Китае, то уже траффик с серверов пойдет через эти же ненадежные каналы.
В общем, нужна более правдоподобная завязка для статьи по обходу блокировок в Китае и «других странах, в которых правительства любят совать нос в трафик людей, находящихся на их территории» ;)
Пакеты теряются не на каналах связи, их дропает Великий Файрволл в основном (см. дросселирование и/или троттлинг). А протокол OpenVPN умеет нормально делать ретранслейт — в результате для приложений такого количества дропов нет (просто все медленно). Но, понятно за счет инкапсуляции всего этого добра сначала в TCP вместо UDP, а потом еще в SSL/SSH получается нехилый оверхеад в 2–4 раза.
Также, обычно VPN провайдеры стараются взять сервера для китайцев в тех местах, где есть прямой пиринг с Китаем. Таких дата-центров довольно много в Азии: в Сингапуре, Японии, Гонконге, Корее, некоторое количество есть в США (в Долине, в основном). Ну и, понятно, у этих же датацентров есть и каналы на внешний мир. Однако, эти датацентры не участвуют в глобальном роутинге трафика.
Так понятнее?
© Михаил Панюшкин, 2016 @ Shenzhen, China