Как обойти фильтры провайдера
Перейти к содержимому

Как обойти фильтры провайдера

Пять способов обойти цензуру и фильтрацию в Интернете

http://web-gate.org

Правда, некоторые из них в условиях особо жесткой фильтрации не работают. Например «Великий китайский фаервол» теперь не пропускает исходящие подключения к VPN, хотя еще до недавнего времени их никак не ограничивал.

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

Если фильтрация реализована на уровне DNS и запросы к другим DNS-серверам не блокируются, можно просто задать в настройках сетевого соединения другой сервер, не контролируемый ИТ-администратором или интернет-провайдером. Можно, например, использовать Google Public DNS – там-то уж точно ничего не фильтруют.

Пять способов обойти цензуру и фильтрацию в Интернете

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

Разработчики Tor ведут долгую, непрекращающуюся борьбу с режимами, добивающимися блокировки сервиса – например, в Иране. Tor может оказаться выходом даже там, где не работают обычные VPN, прокси и SSH-туннели.

Однако у Tor есть большой недостаток – он работает в разы медленнее обычного веб-браузера. Для доступа к заблокированным сайтам такое решение годится, но для повседневного веб-серфинга подходит разве что иранским и китайским диссидентам.

Пять способов обойти цензуру и фильтрацию в Интернете

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

VPN широко используются не только для обхода фильтрации, но и для подключения к рабочим сетям, поэтому такие соединения обычно не блокируют. Хотя в Китае с недавних пор их начали перекрывать.

Существуют бесплатные VPN-сервисы, но надежное скоростное соединение все-таки стоит денег, будь то плата VPN-провайдеру или покупка хостинга для организации собственной VPN-сети.

Пять способов обойти цензуру и фильтрацию в Интернете

К заблокированным сайтам можно пробиться и через обычные прокси-серверы, действующие на уровне веб-браузера или всей операционной системы. Функционируют они примерно так же, как VPN, но гораздо менее надежны – в частности, далеко не все программы их поддерживают. Если вы готовы платить, лучше потратиться на VPN.

Но если требуется быстро получить доступ к заблокированному сайту, можно попытаться сделать это через веб-прокси. Существует множество подобных сервисов, включая широко известный Hide My Ass . Для просмотра достаточно ввести адрес нужного ресурса на сайте веб-прокси.

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

Пять способов обойти цензуру и фильтрацию в Интернете

SSH-туннелирование

SSH-туннели похожи на VPN в том отношении, что тоже пропускают весь трафик через зашифрованный канал. Если вы готовы за это платить, VPN предпочтительнее. Но у многих гиков уже и так есть удаленный SSH-сервер, который можно использовать для этих целей.

При наличии такого сервера можно наладить SSH-туннелирование, чтобы весь трафик с локального компьютера перенаправлялся через этот сервер по защищенному соединению. Таким образом можно зашифровать трафик, чтобы предотвратить перехват данных в публичных сетях Wi-Fi, да к тому же обойти фильтрацию в локальной сети. Эффект получается такой же, как если бы вы сидели за SSH-сервером и открывали сайты прямо на нем, хотя скорость передачи данных получается несколько ниже.

В Windows можно создать SSH-туннель с помощью PuTTY, а на других платформах – с помощью команды SSH.

Блокировка сайтов становится все более распространенным явлением. Даже британское правительство уже побуждает интернет-провайдеров фильтровать трафик, а законы о защите авторских прав типа американского SOPA свидетельствуют о том, что правительства по всему миру планируют лишь ужесточать блокировки.

Если вам когда-нибудь случится столкнуться с заблокированным сайтом, эти советы помогут получить к нему доступ.

Пять способов обойти цензуру и фильтрацию в Интернете

Автор: Chris Hoffman
Перевод SVET

Оцените статью: Голосов

Как обойти фильтры провайдера

Обходим интернет фильтры в школе/ университете/ на работе.

ПК, смартфон на Android и iOs
ОС и прошивка: Windows, Mac OSX, Linux, Android, iOs.

Описание проблемы:
Доброго времени суток.
Хочу поделить способом обхода защиты/ фильтров/ реестра.
Способ прост и давно известен, но некоторым людям не очень интересно читать тонну информации ради одного способа.
Столкнулся я с проблемой не так давно, когда начали блокировать сайты по реестру, а в университете сделали фильтры интернет-контента.

Предпринимались действия:

Вам потребуется устройство с Android, iOs, Windows Phone, Windows, MacOS, Linux, BSD и вообще что угодно, лишь бы поддерживало VPN-соединение и прокси.
Конкретно мы ищем программы с VPN, вы можете выбрать на свой вкус в AppStore или Google play, но я покажу две проверенные программы.
Первая программа называется Hotspot shield
Качаем:
ГуглПлей
AppStore
программа работает очень криво и надеяться на неё не очень разумно, но VPN-сервера работают часто и большинство сайтов снова становятся юзабильны.
Вторая программа называется hideman vpn программа работает замечательно, но ограничение на 5 часов в неделю. Для айОс ищите сами.

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.

Выявляем и блокируем пакеты пассивного DPI

Поддельные пакеты, формируемые DPI, легко обнаружить анализатором трафика, например, Wireshark.
Пробуем зайти на заблокированный сайт:
Wireshark

Мы видим, что сначала приходит пакет от DPI, с HTTP-перенаправлением кодом 302, а затем настоящий ответ от сайта. Ответ от сайта расценивается как ретрансмиссия и отбрасывается операционной системой. Браузер переходит по ссылке, указанной в ответе DPI, и мы видим страницу блокировки.

Рассмотрим пакет от DPI подробнее:
image

В ответе DPI не устанавливается флаг «Don’t Fragment», и в поле Identification указано 1. Серверы в интернете обычно устанавливают бит «Don’t Fragment», и пакеты без этого бита встречаются нечасто. Мы можем использовать это в качестве отличительной особенности пакетов от DPI, вместе с тем фактом, что такие пакеты всегда содержат HTTP-перенаправление кодом 302, и написать правило iptables, блокирующее их:

Что это такое? Модуль u32 iptables позволяет выполнять битовые операции и операции сравнения над 4-байтовыми данными в пакете. По смещению 0x4 хранится 2-байтное поле Indentification, сразу за ним идут 1-байтные поля Flags и Fragment Offset.
Начиная со смещения 0x60 расположен домен перенаправления (HTTP-заголовок Location).
Если Identification = 1, Flags = 0, Fragment Offset = 0, 0x60 = «warn», 0x64 = «ing.», 0x68 = «rt.ru», то отбрасываем пакет, и получаем настоящий ответ от сайта.

В случае с HTTPS-сайтами, DPI присылает TCP Reset-пакет, тоже с Identification = 1 и Flags = 0.

Активный DPI

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

Системы DPI разработаны таким образом, чтобы обрабатывать трафик с максимально возможной скоростью, исследуя только самые популярные и игнорируя нетипичные запросы, даже если они полностью соответствуют стандарту.

Изучаем стандарт HTTP

Типичные HTTP-запросы в упрощенном виде выглядят следующим образом:

Запрос начинается с HTTP-метода, затем следует один пробел, после него указывается путь, затем еще один пробел, и заканчивается строка протоколом и переносом строки CRLF.
Заголовки начинаются с большой буквы, после двоеточия ставится символ пробела.

Давайте заглянем в последнюю версию стандарта HTTP/1.1 от 2014 года. Согласно RFC 7230, HTTP-заголовки не зависят от регистра символов, а после двоеточия может стоять произвольное количество пробелов (или не быть их вовсе).

OWS — опциональный один или несколько символов пробела или табуляции, SP — одинарный символ пробела, HTAB — табуляция, CRLF — перенос строки и возврат каретки (\r\n).

Это значит, что запрос ниже полностью соответствует стандарту, его должны принять многие веб-серверы, придерживающиеся стандарта:

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

Старый стандарт, RFC 2616, рекомендует снисходительно парсить запросы и ответы сломанных веб-северов и клиентов, и корректно обрабатывать произвольное количество пробелов в самой первой строке HTTP-запросов и ответов в тех местах, где требуется только один:

Этой рекомендации придерживаются далеко не все веб-серверы. Из-за двух пробелов между методом и путем ломаются некоторые сайты.

Спускаемся на уровень TCP

Соединение TCP начинается с SYN-запроса и SYN/ACK-ответа. В запросе клиент, среди прочей информации, указывает размер TCP-окна (TCP Window Size) — количество байт, которые он готов принимать без подтверждения передачи. Сервер тоже указывает это значение. В интернете используется значение MTU 1500, что позволяет отправить до 1460 байтов данных в одном TCP-пакете.
Если сервер указывает размер TCP-окна менее 1460, клиент отправит в первом пакете данных столько, сколько указано в этом параметре.

Если сервер пришлет TCP Window Size = 2 в SYN/ACK-пакете (или мы его изменим на это значение на стороне клиента), то браузер отправит HTTP-запрос двумя пакетами:

Пакет 1:
Пакет 2:

Используем особенности HTTP и TCP для обхода активного DPI

Многие решения DPI ожидают заголовки только в стандартном виде.
Для блокировки сайтов по домену или URI, они ищут строку «Host: » в теле запроса. Стоит заменить заголовок «Host» на «hoSt» или убрать пробел после двоеточия, и перед вами открывается запрошенный сайт.
Не все DPI можно обмануть таким простым трюком. DPI некоторых провайдеров корректно анализируют HTTP-заголовки в соответствии со стандартом, но не умеют собирать TCP-поток из нескольких пакетов. Для таких DPI подойдет «фрагментирование» пакета, путем искусственного уменьшения TCP Window Size.

В настоящий момент, в РФ DPI устанавливают и у конечных провайдеров, и на каналах транзитного трафика. Бывают случаи, когда одним способом можно обойти DPI вашего провайдера, но вы видите заглушку транзитного провайдера. В таких случаях нужно комбинировать все доступные способы.

Программа для обхода DPI

Я написал программу для обхода DPI под Windows: GoodbyeDPI.
Она умеет блокировать пакеты с перенаправлением от пассивного DPI, заменять Host на hoSt, удалять пробел между двоеточием и значением хоста в заголовке Host, «фрагментировать» HTTP и HTTPS-пакеты (устанавливать TCP Window Size), и добавлять дополнительный пробел между HTTP-методом и путем.
Преимущество этого метода обхода в том, что он полностью автономный: нет внешних серверов, которые могут заблокировать.

По умолчанию активированы опции, нацеленные на максимальную совместимость с провайдерами, но не на скорость работы. Запустите программу следующим образом:
Если заблокированные сайты стали открываться, DPI вашего провайдера можно обойти.
Попробуйте запустить программу с параметром -2 и зайти на заблокированный HTTPS-сайт. Если все продолжает работать, попробуйте режим -3 и -4 (наиболее быстрый).
Некоторые провайдеры, например, Мегафон и Yota, не пропускают фрагментированные пакеты по HTTP, и сайты перестают открываться вообще. С такими провайдерами используйте опцию -3 -a

Эффективное проксирование для обхода блокировок по IP

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

ReQrypt

Если наш компьютер находится за NAT, мы не можем просто отправить запрос на сервер ReQrypt и ожидать ответа от сайта. Ответ не дойдет, т.к. в таблице NAT не создана запись для этого IP-адреса.
Для «пробива» NAT, ReQrypt отправляет первый пакет в TCP-соединении напрямую сайту, но с TTL = 3. Он добавляет запись в NAT-таблицу роутера, но не доходит до сайта назначения.

Долгое время разработка была заморожена из-за того, что автор не мог найти сервер с возможностью спуфинга. Спуфинг IP-адресов часто используется для амплификации атак через DNS, NNTP и другие протоколы, из-за чего он запрещен у подавляющего большинства провайдеров. Но сервер все-таки был найден, хоть и не самый удачный. Разработка продолжается.

Заключение и TL;DR

GoodbyeDPI — программа под Windows, позволяющая обходить пассивные и активные DPI. Просто скачайте и запустите ее, и заблокированные сайты станут снова доступны.
Для Linux есть аналогичная программа — zapret.

Используйте кроссплатформенную программу ReQrypt, если ваш провайдер блокирует сайты по IP-адресу.

Определить тип блокировки сайтов можно программой Blockcheck. Если в тестах DPI вы видите, что сайты открываются, или видите строку «обнаружен пассивный DPI», то GoodbyeDPI вам поможет. Если нет, используйте ReQrypt.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *