Русский
Русский
English
Статистика
Реклама

Цензура в интернете. Надо что-то делать

Я устал от того, что власть имущие упыри делают с нашим интернетом:

  1. Нас лишают доступа в интернет, когда им удобно

  2. Ресурсы лишают статуса СМИ

  3. Ресурсы блокируют

  4. Ресурсы называют экстремистскими за освещение реального положения дел

  5. Журналисты, выполняющие свою работу, получают реальные тюремные сроки

Увы, я не могу решать все эти проблемы. Но попробую сдвинуться с мёртвой точки в решении хотя бы части из них

Я планирую небольшой цикл статей, и это первая из них. Тут я расскажу, что можно сделатьтолько браузером

Ликбез. Как работает интернет?

В протоколах TCP иUDP, поверх которых работает семейство протоколов HTTP, нет понятия имя хоста / имя ресурса. Вместо этого они оперируют IP-адресами. Для того, чтобы преобразовать имя хоста в IP-адрес (или отрезолвить имя хоста), применяются DNS-сервера. Только после успешного преобразования имени хоста в IP-адрес происходит соединение с ресурсом

Схематично основные этапы установки соединенияСхематично основные этапы установки соединения

Цензура нарушает ход вещей. Механизмы цензуры атакуют инфраструктуру сети Интернет и нарушают доступность и работоспособность ресурсов

Как работает цензура?

Некоторые вектора атаки:

  1. DNS-сервер может вернуть совсем не то, что вы бы хотели. Это называется подменой DNS

  2. Допустим, мы смогли отрезолвить хост верно (или получили правильный IP-адрес целевого хоста). Далее происходит попытка подключения. На этом этапе ваш запрос может быть отфильтрован провайдером. Это называется фильтрацией по IP-адресу

  3. Допустим, соединение установлено. Провайдер может принять решение его оборвать на основании анализа вашего трафика

1. Подмена DNS

Классика прописать вручную DNS-сервера google8.8.8.8 и cloudflare1.1.1.1. Но я отказался от такой конфигурации в пользу DoH DNS-over-HTTPS, так как протокол DNS не защищён ни от прослушивания, ни от подмены, ни от фильтрации трафика по протоколу. Для DoH такое сделать сложнее без cloudflare солидная часть интернета ляжет

Наконец, за реализацию механизма DNS-over-HTTPS в Британии компанию Mozilla назвали злодеем года это о чём-то говорит

Firefox + DoH

Технология DNS-over-HTTPSвпервые появилась в Firefox 73 в 2018 году. Убедитесь, что версия Вашего браузера Firefox не ниже 73

Со значением всех настроек можно подробнее ознакомиться в документации наsupport.mozilla.org иwiki.mozilla.org. Совет обязательно проверяйте, какие именно настройки вы устанавливаете в соответствии с документацией. Я могу ошибиться, школьник Петя может накрутить отсебятины, работающей только в его богатом воображении, а товарищ майор Василий Мусоров может и вовсе написать крайне убедительную статью про настройку браузера, с предсказуемым для Вас финалом

  1. В адресной строке браузера набираемabout:config

  2. В открывшемся окне в строке поиска настроек набираемnetwork.trr

  3. Находим настройкуnetwork.trr.mode. Я её установил в значение2

  4. Находим настройкуnetwork.trr.excluded-domains, и там указываемonion,i2p

Настройка DoH в FirefoxНастройка DoH в Firefox

2. Фильтрация по IP-адресу

Тут идея достаточно простая пустить трафик не на заблокированный узел, а куда-нибудь в обход через proxy-сервер. Хотелось бы сделать это по-умному, минимизировав объём трафика через дохлый proxy-сервер. Какой смысл гонять через proxy тот же youtube? Объём трафика просто положит proxy-сервер

SmartProxy создаём эффективные правила проксирования

Хорошая новость для тех, кто пользуется Chrome: SmartProxy доступен как дляFirefox, так и дляChrome

Устанавливаем SmartProxy. Разрешаем его работу в приватном режиме

Активация SmartProxyАктивация SmartProxy

Открываем панельку дополнения и активируем. После кликаем Settings, и там находим Прокси Сервера

Proxy-сервераProxy-сервера

Ручное добавление Proxy сервера

Чуть дальше я расскажу об автоматическом добавлении серверов. Не торопитесь бросаться добавлять сервера руками. Понимание процесса Вам потребуется, а вот ручная работа нет

Списки proxy-серверов можно найти, например, наhidemy.name или наfree-proxy.cz. Это ни в коем случае не все сайты, где можно найти списки proxy-серверов

Обращаю Ваше внимание если Вы включили DNS-over-HTTPS, вам хватит SOCKS4, которых очень много. В противном случае Вам остаётся использовать только SOCKS5, которые поддерживают резолв имени хоста на стороне proxy, а найти быстрый рабочий SOCKS5-прокси квест

Следует понимать, что наличие proxy-сервера не гарантирует его работоспособность. Адрес можно просто добавить в список proxy и попытаться зайти на интересующий ресурс через него. Это работает. Но все эти манипуляции занимают кучу времени. Намного быстрее проверить proxy-сервер через curl:

$ curl --socks4 111.22.33.44:5555 api.ipify.org
Добавление нового proxy-сервераДобавление нового proxy-сервера

Важно: после нажатия на кнопку Save / Сохранить вы попадаете обратно к списку proxy-серверов. В самом низу нужно нажать синюю кнопку Save Changes / Сохранить изменения. Если этого не сделать изменения применены НЕ будут, и добавленные сервера исчезнут при закрытии вкладки

Автоматическое добавление Proxy серверов

Очень скоро ручное добавление proxy-серверов надоест. Я остановился на варианте, когда вручную добавлены только proxy-сервера специального назначения, а остальное я выгребаю через подписку

Гугление по запросу socks4 txt вывело меня нарепозиторий. Это ни в коем случае не единственный список proxy-серверов в интернете

Подписки на списки proxy-серверовПодписки на списки proxy-серверовСоздаём подписку на список proxy-серверовСоздаём подписку на список proxy-серверов

Почему именно такие значения? URL написаны в README воттут. 10080 минут для периода обновления это раз в неделю. Я посчитал это достаточным, но это не значит, что это единственно правильное значение. Протокол в имени файла со списком серверов

После добавления можно нажать кнопку Test. Если всё настроено правильно SmartProxy скажет, сколько серверов было добавлено. После сохранения не забываем нажать синюю кнопку Save Changes / Сохранить изменения. Если этого не сделать вы повторите мой подвиг Так, а куда они пропали? Только что ж были

Правила проксирования

Мы добавили сервера, но без правил проксирования эти сервера лежат просто мёртвым грузом. Перейдём на вкладку Proxy Rules / Правила проксирования

Список правил проксированияСписок правил проксирования

Давайте попробуем добавитьlurkmore.to он точно заблокирован

Добавляем правило для lurkmoreДобавляем правило для lurkmore

Немного объясню, почему правило именно такое. Поле Rule Type / Тип Правила определяет, что правило будет применяться для всех URL указанного сайта и всех его поддоменов. Rule Source Domain указывает, что правило действует только для доменаlurkmore.to и его поддоменов, и ни на что больше. Поле Proxy Server имеет значение[General] это значит, что для текущего ресурсаlurkmore.to будет применён текущий активный proxy-сервер. О выборе активного сервера следующий раздел. Можно также указать конкретный proxy-сервер из списка proxy-серверов, который мы наполняли ранее руками или по подписке

После сохранения правила не забываем нажать синюю кнопку Save Changes / Сохранить изменения. Иначе ну вы поняли

Пытаемся зайти на сайт

Тут немного нетривиальной магии. Я просто тыкаю рандомный IP из списка и пытаюсь зайти на сайт. Не удалось следующий IP

Выбираем активный proxy-серверВыбираем активный proxy-сервер

Магии тут немного. Автор дополнения хотел разместитьфлаг страны, где располагается proxy-сервер, но столкнулся с некоторыми трудностями. Я попросил его разместить хотя бы трёхбуквенный код страны для каждого proxy-сервера. Математика проста чем ближе страна, тем меньше задержка. Также будет очень глупо попасть на proxy-сервер страны, где ресурс заблокирован

3. Анализ вашего трафика

Шифрование сильно усложняет анализ трафика, но не делает его невозможным. По возможности, следите, чтобы использовался протокол https. Воспользуйтесь дополнением HTTPS Everywhere дляChrome иFirefox, который позволяет определить правила автомагического редиректа с протокола HTTP на протокол HTTPS

ESNI

Для шифрования HTTP-трафика и таким образом преобразования его в HTTPS применяется протокол TLS. Проблема протокола TLS в том, что он позволяет на одном сервере запустить лишь один HTTPS-сервер прямо как старый добрый HTTP 1.0. Для решения этой проблемы разработан протоколSNI. И вот тут была допущена ошибка имя хоста передаётся в открытом виде. Это имя хоста перехватываетDPI провайдера и принимает решение о разрыве соединения. ИдеяESNI проста зашифровать SNI

Firefox первый браузер, реализовавший поддержку ESNI. Включаем:

  1. В адресной строке браузера набираемabout:config

  2. В открывшемся окне в строке поиска настроек набираемnetwork.security.esni.enabled

  3. Двойным кликом мышки устанавливаем в значениеtrue

Включение ESNI в FirefoxВключение ESNI в Firefox

Проверить, работает ли ESNI в браузере, можнотут

ESNI очень не понравился власть имущим упырям, и его полностью блокируют вРоссии и Китае прям знак качества

Источник: habr.com
К списку статей
Опубликовано: 23.02.2021 12:21:01
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Сетевые технологии

Dns

Браузеры

Законодательство в it

Настольные компьютеры

Образование

Цензура

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru