Статья взята из блога Вастрика. Публикуем материал с его разрешения.
Интернет тяжело заблокировать, проще отключить
Вы когда-нибудь задумывались насколько сложно выборочно блокировать интернет? Разберем на простом домашнем примере.
Помните свой прошлый роутер? Который верой и правдой служил вам лет пять, но внезапно стал так тормозить, что пришлось покупать новый, помощнее? Износился наверное. Нет, три новых смартфона в доме, умная кофеварка и подписка на порнхаб в HD никак с этим не связаны.
По сути всё, чем занимается ваш роутер — читает четыре байта из каждого пакета и решает кому отправить его содержимое. Простейшая работа, как кубики в формочки вставлять. Только пакетов этих проходит так много, что даже неплохой домашний роутер за $150 поднимает лапки на втором десятке устройств.
Україна буде в союзі з … Ми побачимо F-16? Китай оскаженіє? @anna_atamanova
Теперь представьте сколько таких устройств во всём вашем городе. А во всей стране?
Из каждого пакета каждого устройства нужно не просто прочитать пару байтиков. Нужно сравнить их с базой «запрещенных байтиков», что невообразимо долго и несовместимо с нормальной работой сети. Когда так сделали в Китае, внешний интернет вообще перестал работать.
Как блокируют у нас и в Китае
В Китае потратили миллиарды долларов на оборудование и добились работы внешнего интернета со скоростью примерно один мегабит. Он как бы есть, но пользоваться им невозможно. В России пошли своим путём — начали ставить блокировку не на канал, а рядом.
Систему назвали DPI — Deep Packet Inspection. Если она стоит прям на канале провайдера — это активный DPI, если параллельно — пассивный. В Китае применяют оба варианта, в России — в основном пассивный.
Когда вы запрашиваете рутрекер, запрос без каких-либо проверок улетает на сервер рутрекера. Одновременно с этим он дублируется на коробочку с DPI, чья задача проверить заблокирован ли сайт. Если да — вернуть редирект на страничку «сайт заблокирован» быстрее, чем вам ответит сам рутрекер. Протупил — проиграл, рутрекер загрузился.
В Китае вместо редиректа используют флаг сброса соединения. Там не парятся с заглушками, просто показывают вечную загрузку.
Уже становится понятно насколько всё тупо. Ведь можно просто настроить свой компьютер отбрасывать все «редиректы» от пассивного DPI и смотреть любой запрещенный сайт. Кек.
DPI физически не успевает анализировать все пакеты, поэтому он выбирает только подозрительные. «Подозрительность» он определяет по словам «HTTP» и «Host» внутри. Причем именно в таком регистре. Если написать, скажем, «hoSt», что совершенно валидно для протокола HTTP, DPI даже не посмотрит на такой пакет. Снова кек.
Китай знает на телеграмме
Ладно, представим, что кто-то изобрел самый умный в мире DPI. Он ничего не отбрасывает, знает все тонкости HTTP и стоит полтора миллиарда. Зато ни один пакет, содержащий «Host: rutracker.org», не пройдет. Зато пройдут два пакета: «Hos» и «t: rutracker.org». Трипл кек.
Я думал не бывает цирка смешнее этого. Можете почитать подробнее в статье ValdikSS на хабре: Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу
Когда Роскомнадзор понял насколько нелепо были потрачены миллионы на всю эту затею с DPI, они озверели начали банить тупо по IP. В таком случае блокируется сама попытка отправить запрос и делается это обычным фаерволлом.
Всё это легко обходится проксями, где запрос сначала отправляется на другой IP, или VPN, где все данные идут через шифрованный тоннель и IP из них вообще не прочитать.
Самое смешное, что тот же Китай, на который они так равняются, прошел ровно те же этапы еще 10-15 лет назад.
Китай тоже не смог заблокировать интернет. Он сделал так, что сайтами «снаружи» стало мучительно невозможно пользоваться. И подождал 20 лет.
Раз уж Китай впереди планеты всей, заглянем на 10 лет вперед и посмотрим что нас ждет:
- Активные DPI на граничных магистралях. Как виза в интернет. Китайцы не пользуются внешними сервисами потому что они практически не грузятся;
- Полный запрет прокси и VPN. Китайский Роскомнадзор следит за всеми новыми VPN и заранее банит их;
- Подмена DNS (DNS Hijacking). Еще с 2002 года Китай начал фильтровать ответы корневых DNS серверов и подделывать их. К 2007 году в стране не осталось DNS, которые бы не управлялись правительством. Все внутренние DNS провайдеров общаются только с доверенным списком серверов. Одно время даже домен google.com вёл на китайский поисковик Baidu, что нехило повысило его популярность;
- Поиск запрещенных иероглифов в пакетах. Китайцам «помог» их собственный язык. Если даже на разрешенном сайте DPI увидит иероглиф, связанный с запрещенными политическими событиями, он разорвёт соединение и настучит куда надо. Как хорошо, что в русском и английском языках так не получится.;
- Рандомные разрывы соединений. «Не можешь запретить — сделай жизнь невыносимой». Смотреть ролики на ютюбе китайцы бы не смогли, даже не будь он заблокирован. Их пассивный DPI просто рвет в случайных местах внешние UDP-потоки.
Вот хорошая статья 2017 года про историю и устройство блокировок в Китае. Автор собрал много источников: Золотая Цензура Китая.
Три модных способа запретить сайт этим летом
Заблокировать страничку можно по её адресу (URL), по домену сайта или по IP всего сервера. Роскомнадзор не регулирует какой способ будут использовать провайдеры, потому что сам понятия не имеет как они работают.
Когда сайт запрещают, он попадает в «выгрузку». Это табличка, в которой указаны URL, домен, IP и подсеть. Провайдеры должны за три дня заблокировать всё это любым способом, иначе штраф.
Всех провайдеров обязали купить специальную коробочку «Ревизор», которая проверяет заблокированы ли сайты и пишет доносы. Сделана она на базе самого дешевого роутера TP-LINK за 1500 рублей (на разработку потрачено 84 миллиона). Делали её настолько жопорукие кривозады, что местами там внутри очень смешно. Почитайте: Исследуем «Ревизор» Роскомнадзора.
Четыре дня назад, когда в выгрузку попало 18 млн IP, этот Ревизор у всех провайдеров офигел и завис. Роскомнадзор направил всем Официальное Требование перезагрузить его
Вот три способа заблокировать сайт. Актуальны везде — в Иране, Сирии, Китае и, конечно, в России.
По URL
Самый ранний и наименее деструктивный способ. Позволяет не блокировать весь сайт (например YouTube), а запрещать только отдельные странички. Но вот незадача — при использовании протокола HTTPS, никто, кроме вас и сервера YouTube не видит адрес запрашиваемой странички. Он передается в зашифрованном виде и это основа всей безопасности в интернете. Иначе бы злоумышленники давно всё расшифровали и украли ваши кредитки.
Когда заблокированные сайты прочухали эту фишку, Роскомнадзор заставил провайдеров отказаться от этого способа и начать блокировать сайты целиком.
По IP
Способ, который применяют сейчас. В каждом пакете есть IP адрес отправителя — любой фаерволл может его прочитать и заблокировать. Проблема в том, что на одном IP может быть много всего. Если вы поднимаете сайт где-нибудь в облаке Amazon, у вас каждый раз новый IP.
Что тогда, блокировать весь амазон? Дааа!
Блокировка по IP жестока, но легко обходится через прокси или любой шифрованный туннель — VPN, SSH, etc. Но ваша бабушка точно не будет заморачиваться, она пойдёт смотреть Вести Недели.
По домену
Домен — это набор IP-адресов в DNS. Получив «выгрузку», провайдеры загружают этот список IP из публичных DNS и блокируют их все. Если сайт сменил сервер, новый IP тоже будет заблокирован.
В 2017 из-за этого произошел крупнейший сбой, когда кто-то выкупил старый заблокированный домен и добавил туда IP адреса Яндекса, Гугла, Сбербанка и еще 200 популярных сервисов. Провайдерам ничего не оставалось, кроме как заблокировать весь интернет. От блокировок по DNS отказались.
В Китае точно такая же история произошла еще в 2008 году. В роскомнадзоре даже википедию на этот счет прочитать не смогли.
Как Телеграм клал болт на это всё
У телеграма есть специальный тип пуш-уведомлений, который не отображается нотифом на экране вашего смартфона (как новое сообщение), а тихо обрабатывается самим приложением в фоне. Называется он DC_Update (DC — от Data Center), через него приложение получает IP адрес нового сервера, с которым отныне общается. Раньше его использовали для ускорения работы, но на прошлой неделе у него была минута славы.
Пуш-уведомления рассылаются с серверов Apple (APNS) или Google (GCM, Firebase). Так сделано, чтобы смартфон мог держать только одно фоновое соединение, не бегая по серверам каждого приложения отдельно. Телеграм говорит серверам Apple «пошли такой-то пуш такому-то пользователю» и Apple посылает.
Так началась гонка вооружений. Телеграм регистрирует новый IP, сообщает его своим пользователям через этот пуш, Роскомнадзор блокирует подсеть, телеграм рассылает новый.
Есть только два способа это прекратить:
- Запретить Apple и Google рассылать пуш-уведомления телеграма. Но это требование незаконно. Максимум на что они пойдут — удалят приложение из сторов для российских аккаунтов, но это никак не скажется на работе пуш-уведомлений.
- Заблокировать сами пуш-сервера. Тогда на всех телефонах в России перестанут работать все пуш-уведомления. Добро пожаловать в каменный век!
Телеграм может и дальше перебирать IP адреса пока они вообще не закончатся. 20 млн IP — это меньше 1% от их общего количества. Есть еще куда стремиться. Будет хуже.
Источник: tproger.ru
Telegram заблокирован в Китае
Веб-версия мессенджера Telegram заблокирована в Китае, пишет местная пресса и подтверждает ресурс BlockedInChina.
По данным Hong Kong Free Press, мессенджер был заблокирован из-за кибератаки. Однако китайское издание People’s Daily пишет, что причиной блокировки стало использование Telegram противниками действующей в Китае власти.
Основатель сервиса Павел Дуров пока не прокомментировал ситуацию.
Стоит отметить, что в Китае также заблокированы Facebook, Twitter, Gmail и другие сервисы.
Китай сохраняет политику жесткого контроля над Интернетом. В стране действует одна из самых сложных систем цензуры в Сети.
Источник: d-russia.ru
Китайские программисты пишут белорусам в Telegram, просят доступ к компьютеру 24/7 — за деньги. Что с этим не так
Белорусскому разработчику Анатолию на днях в Telegram написал незнакомец. Представился веб-разработчиком из Китая, кинул ссылку на веб-страничку с резюме и предложил установить на компьютер Windows 10 Virtual Machine. Едва Анатолий отказался, как с другого аккаунта пришло письмо-скрин с аналогичным предложением.
«За сто баксов рисковать своим добрым именем?»
«У меня большой опыт мобильной и веб-разработки, — писал некто под именем Джин Чонг. — Последние шесть лет я хорошо знаком с Upwork.com — таким же сайтом для фрилансеров, как и Fiverr.com. Я разработал много сайтов и приложений, но большинство клиентов Upwork не любят разработчиков из Азии. Поэтому я хотел бы сотрудничать с вами: мне нужен ваш аккаунт на Upwork и удалённый доступ к вашему компьютеру».
Суть коммерческого предложения: белорусский партнёр создаёт аккаунт на Upwork, проходит верификацию на сервисе с помощью видеосозвона и предоставляет т. н. китайскому разработчику удалённый доступ к своему компьютеру. После этого держит компьютер включённым в режиме 24/7. За это каждый месяц ему будут платить 100 долларов ($50 — сразу же после верификации). Через PayPal. Торг уместен.
Анатолий от предложения мудро отказался.
— Я сам Cisco Security инженер, имею дело с сетевой безопасностью, поэтому хорошо понимаю, с какими рисками сопряжено это предложение. Неизвестный человек из Китая имеет доступ к твоему компьютеру, может совершать с него DOS- или другие хакерские атаки — да любое киберпреступление. За сто баксов в месяц подвергать своё доброе имя такой опасности?
Однако не все белорусы такого же мнения. Анатолий провёл опрос среди коллег и узнал, что знакомый его знакомого успешно оказывает услуги по такой же схеме за 80 долларов в месяц.
— По его словам, это действительно работает, хоть мало кто верит. Поэтому он якобы сам нашёл несколько партнёров для друзей своего китайца. Скоро они должны создать ещё один аккаунт на фриланс-бирже.
К сожалению, «знакомый знакомого» отказался выходить на связь с dev.by под предлогом «не хочу палиться» и «непонятно, как с этого платить налоги». Поэтому у нас остаются сомнения в том, что схема работает и кто-то действительно регулярно платит белорусам. Просим носителей такого опыта отозваться — обещаем анонимность.
dev.by попытался связаться с китайским разработчиком через мессенджеры. Так как контакт в Telegram (всего у Джин Чонга их как минимум три, выбрали один) долго не отвечал, набрали номер, указанный в WhatsApp — автоответчик по-китайски и по-английски сказал, что он не обслуживается. Через двое суток Джин Чонг отозвался в Telegram и согласился на созвон.