• Прозрачный обход блокировок и доступ к сети Tor. Как устроен Tor и можно ли его заблокировать Переадресация DNS запросов к зоне.onion

    08.05.2023

    С подобной инициативой - свободного интернета на наших глазах становится меньше. При этом большинство пользователей уверены, что Tor и VPN ограничить никак нельзя. Мы спросили по этому поводу совета у Михаила Лисняка, создателя медитативного сервиса по отслеживанию котировок валют и цен на нефть Zenrus и преподавателя Moscow Coding School, на чей курс сегодня стартовала запись .

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

    Tor - система маршрутизации на основе шифрования и распределённой сети узлов-посредников (ими могут быть и обычные пользователи Tor). При подключении к Tor клиент собирает список доступных узлов-посредников, выбирает несколько из них и по очереди шифрует каждый посылаемый пакет ключами выбранных узлов. Далее этот зашифрованный несколькими ключами пакет посылается на первый (входной) узел-посредник. Тот расшифровывает свой ключ и отправляет пакет дальше, второй узел расшифровывает свой и так далее. В конце последний узел расшифровывает последний «слой» и отправляет пакет наружу, в интернет. Можно представить это себе как луковицу, с которой каждый последующий узел снимает слой. Собственно, так Tor и расшифровывается - The Onion Routing, то есть «луковая маршрутизация». Так как почти на всём пути пакета он зашифрован и никто, кроме входного узла, не знает отправителя пакета, система обеспечивает анонимность и защищённость трафика.

    Но заблокировать работу Tor можно. Во-первых, Tor-клиент должен каким-то образом получить список входных узлов. Для этого клиент подключается к корневому реестру этих узлов. Если заблокировать доступ к этому корневому серверу, клиент не сможет получить список входных узлов сети и не сможет, естественно, подключиться к сети. Есть ручной способ получения узлов (например, через почту), но это, во-первых, не очень удобно, а во-вторых, при обнаружении органами надзора адресов этих узлов они всё равно сразу могут быть заблокированы.

    Кроме того, существует такая система, как DPI - система анализа и фильтрации пакетов. Сейчас постепенно эта система внедряется в России у провайдеров. Она довольно дорогостоящая, поэтому не все провайдеры её используют. Но это пока. Думаю, в ближайшем будущем все магистральные провайдеры её установят. Эта система может анализировать трафик на низком уровне, определять тип этого трафика (даже зашифрованного, но не получая самого содержимого), фильтровать его и, если нужно, отдавать на блокировку. Сейчас эти системы уже умеют определять Tor-трафик по определённым признакам. Tor в ответ придумал систему маскировки трафика (obfsproxy), но постепенно и его учатся определять. А пользоваться всем этим становится всё сложнее и сложнее обычному пользователю.

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

    То есть запретить в целой стране Tor можно с помощью всё того же DPI. Когда введут уголовную ответственность за использование подобного софта, быстро проведут несколько показательных процессов, и на этом в основной массе всё закончится. Никаких вменяемых замен Tor пока нет. Тот же i2p банится точно так же. Сейчас блокировать Tor непросто, дорого, но вполне реализуемо, если государство этого сильно захочет.

    В общем, всё уже придумано и используется, например, в славном Китае. Известные узлы блокируются, трафик анализируется DPI, и определившиеся пакеты блокируются (а информация об отправителе доносится куда следует). Плюс есть система «опережающего подключения», когда подозрительный пакет к какому-нибудь серверу на Великом файерволе «подвешивается», а файервол сам делает такой же запрос к этому серверу и анализирует ответ. А дальше по различным критериям определяется, можно или нельзя.

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

    Что если вам хочется ходить в сеть без надуманных ограничений, но не хочется каждый раз в браузере подменять прокси? Что если вы хотите заходить и на запрещенные сайты, и на обычные, и чтобы при этом скорость, с которой открываются обычные сайты, не страдала? Что если вам интересно знать что творится в удалённых частях глобальной сети?

    Исходя из этих соображений нам нужно чтобы:

    • Обычные сайты открывались как обычно
    • Запрещенные сайты открывались через Tor без настроек
    • Все сайты в зоне.onion тоже открываются без настроек

    С одной стороны, требования противоречивые. А другой стороны, чего не сделаешь ради удобства!

    Можно было бы вспомнить различные способы и средства для обхода DPI , но если не хочется ни о чем таком думать, а скорей даже хочется настроить и забыть, то аналогов Tor для решения поставленной задачи в части простого доступа к заблокированным сайтам нет.

    Вы не получите полной анонимности следуя только этим инструкциям. Анонимность без мер OPSEC невозможна. Инструкция подразумевают лишь обход ограничений.

    Что нам нужно?

    Для начала нам нужен или роутер, или сервер, работающий в качестве прозрачного моста, пропускающего через себя весь трафик. Это может быть и существующий сервер, это может быть и коробочка с Raspberry Pi. Могут подойти и обычные компактные роутеры с Linux, если на них в принципе можно поставить необходимые пакеты.

    Если подходящий роутер у вас уже есть, то настраивать отдельно мост не нужно и можно .

    Если же установка Tor на ваш роутер представляет проблему, то вам понадобится любой компьютер с двумя сетевыми интерфейсами и Debian Linux на борту. Его вы в конечном счёте подключите в разрыв сети между роутером, который смотрит во внешний мир, и вашей локальной сетью.

    Если не до серверов и роутеров, то возможно .

    Настроим мост

    Настройка моста в Debian проблемы не представляет. Вам понадобится программа brctl , которая есть в пакете bridge-utils:

    apt install bridge-utils

    Постоянная конфигурация для моста задаётся в /etc/network/interfaces . Если вы делаете мост из интерфейсов eth0 и eth1 , то конфигурация будет выглядеть так:

    # Отметим интерфейсы как настраиваемые вручную iface eth0 inet manual iface eth1 inet manual # Мост поднимается автоматически после перезагрузки auto br0 # Мост с получением IP по DHCP iface br0 inet dhcp bridge_ports eth0 eth1 # Мост со статическим IP iface br0 inet static bridge_ports eth0 eth1 address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1

    Вам нужно выбрать какую-то одну конфигурацию для моста: с динамическим IP или статическим.

    Обратите внимание что на этом этапе не обязательно включать сервер в разрыв сети. Можно обойтись и одним подключенным интерфейсом.

    Попросим систему применить новые настройки:

    service networking reload

    Теперь можно проверить существование моста командой brctl show:

    # brctl show bridge name bridge id STP enabled interfaces br0 8000.0011cc4433ff no eth0 eth1

    Посмотреть выданный IP адрес, и проверить вообще факт выдачи какого-то IP по DHCP или статически, можно командой ip:

    # ip --family inet addr show dev br0 scope global 4: br0: mtu 1500 qdisc noqueue state UP inet 192.168.1.2/24 brd 192.168.1.255 scope global br0

    Если с IP адресами всё в порядке, то уже можно попробовать включить сервер в разрыв сети...

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

    Если что-то работает не так же, как раньше, или вообще не работает, стоит сначала решить проблемы, лишь потом переходить к настройке собственно Tor.

    Настроим демон Tor

    Установка Tor выполняется обычно. Установим также базу данных привязки к странам:

    apt install tor tor-geoipdb

    В конец файла конфигурации /etc/tor/torrc нужно дописать директивы для включения функции прокси-сервера:

    VirtualAddrNetworkIPv4 10.0.0.0/8 AutomapHostsOnResolve 1 TransPort 0.0.0.0:9040 DNSPort 0.0.0.0:5300

    Перезапустим Tor и проверим что DNS в нашей конфигурации работает на каком-нибудь известном сайте:

    # service tor restart # dig +short facebookcorewwwi.onion @localhost -p 5300 10.11.127.156

    Последняя команда должна вывести IP из подсети 10.0.0.0/8 .

    При перезапуске Tor по делу ругается на использование публичного IP для TransPort и DNSPort , которые в самом деле могут быть доступны посторонним. Исправим это недоразумение, разрешив только соединения из локальной сети (в моём случае это 192.168.1.0/24):

    iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 9040 -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 5300 -j ACCEPT iptables -A INPUT -p tcp --dport 9040 -j DROP iptables -A INPUT -p udp --dport 5300 -j DROP

    Последние два правила можно пропустить если у вас для цепочки INPUT по умолчанию стоит правило DROP .

    Настроим доступ для всей локальной сети

    Чтобы все устройства в сети смогли зайти на сайты в Tor нам нужно переадресовать все запросы к выделенной сети 10.0.0.0/8 на порт встроенного прокси-сервера Tor:

    iptables -t nat -A PREROUTING -p tcp -d 10.0.0.0/8 -j REDIRECT --to-port 9040 iptables -t nat -A OUTPUT -p tcp -d 10.0.0.0/8 -j REDIRECT --to-port 9040

    Два правила для цепочек PREROUTING и OUTPUT мы добавляем чтобы схем работала не только с устройств в сети, но и с самого сервера. Если не требуется чтобы эта схема работала с самого сервера, то добавления правила в цепочку OUTPUT можно пропустить.

    Переадресация DNS запросов к зоне.onion

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

    Мы же будем переадресовать лишь DNS запросы, упоминающие домен.onion , на порт встроенного DNS сервера, оставляя все остальные запросы в покое:

    iptables -t nat -A PREROUTING -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300 iptables -t nat -A OUTPUT -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300

    Магическая строка 056f6e696f6e00 связана с особенностями передачи точки в DNS запросах : она передаётся в виде длины следующей после неё строки. Потому в начале нашей магической строки стоит 0x05 для пяти символов в слове onion . В конце строки стоит нулевой байт 0x00 потому что корневой домен (точка) имеет нулевую длину .

    Такой подход позволяет ваши пользователям (и вам самим) пользоваться какими им удобно DNS серверами, а также запрашивать информацию у любых DNS серверов без посредников. Вместе с тем никакие запросы в зоне.onion не будут попадать в открытый интернет.

    Теперь попробуйте достучаться до какого-нибудь популярного сайта в сети Tor с любого устройства в локальной сети. Например, так:

    $ curl -I facebookcorewwwi.onion HTTP/1.1 301 Moved Permanently Location: https://facebookcorewwwi.onion/

    Отладка и решение возможных проблем

    Если хочется убедиться что никакие DNS запросы к.onion не идут дальше сервера, то их отсутствие можно проверить так:

    ngrep -q -d br0 -q -W byline onion udp port 53

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

    Если Firefox не видит.onion

    Если вам это мешает, а перспектива случайной деанонимизации вас не волнует (ведь мы уже не пускаем DNS запросы к.onion в открытый интернет), отключить эту настройку можно в about:config по ключу network.dns.blockDotOnion .

    Мобильный Safari и.onion

    Программы под iOS, включая Safari и Chrome, в принципе игнорирует.onion при работе по такой схеме. Как исправить эту проблему в рамках такой схемы мне неизвестно.

    Провайдер подменяет IP в DNS

    Некоторые провайдеры из экономических соображений, вместо блокировки сайтов по IP или через DPI, лишь подменяют IP для DNS запросов по списку запрещенных сайтов.

    Простейшим решением этой проблемы будет переход на сервера Google Public DNS . Если это не помогает, а значит ваш провайдер перенаправляет вообще весь DNS трафик на свой сервер, то можно перейти на использование Tor DNS, в свою очередь переадресовав весь трафик на него:

    iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5300 iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 5300

    В моей сети используются IP из 10.0.0.0/8

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

    Кроме того, не обязательно использовать сразу весь диапазон - можно ограничиться и подсетью. Например, подойдет 10.192.0.0/10 .

    Обход блокировок через Tor

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

    ExcludeExitNodes {RU}, {UA}, {BY}

    Обновляем реестр

    Реестр не стоит на месте и список заблокированных сайтов пополняется. Потому вам нужно время от времени выгружать актуальный список IP и добавлять его в ipset . Лучше всего это делать не выгружая весь список целиком каждый раз, а выкачивая только изменения, например, отсюда c GitHub .

    #!/bin/bash set -e mkdir -p /var/local/blacklist cd /var/local/blacklist git pull -q || git clone https://github.com/zapret-info/z-i.git . ipset flush blacklist tail +2 dump.csv | cut -f1 -d \; | grep -Eo "{1,3}\.{1,3}\.{1,3}\.{1,3}" | tee /var/local/blacklist/blacklist.txt | xargs -n1 ipset add blacklist

    Возможно удалять и добавлять только изменившиеся в списке IP, для чего вам может пригодится git whatchanged .

    Если вам подходит скрипт выше, то ему самое место в /etc/cron.daily/blacklist-update . Не забудьте дать этому файлу права на выполнение.

    chmod +x /etc/cron.daily/blacklist-update

    Сохраняем настройки

    apt install iptables-persistent

    dpkg-reconfigure iptables-persistent

    К сожалению, такого же удобного пакета для ipset пока нет, но эта проблема решается скриптом /etc/network/if-pre-up.d/ipset:

    #!/bin/sh ipset -exist create blacklist hash :ip cat /var/local/blacklist/blacklist.txt | xargs -n1 ipset add -exist blacklist

    Обязательно нужно дать и этому скрипту права на выполнение:

    chmod +x /etc/network/if-pre-up.d/ipset

    При следующей перезагрузке этот скрипт выполнится и восстановит список заблокированных IP.

    Если забыть о серверах...

    Окей, скажите вы, ну а что если я хочу получить все тот же удобный доступ к.onion , но без серверов - локально, на одном компьютере?

    Нет проблем! В этом случае все даже проще. Хватить добавить эти три строчки в torrc:

    AutomapHostsOnResolve 1 TransPort 9040 DNSPort 5300

    Затем эти два правила для iptables:

    iptables -t nat -A OUTPUT -p tcp -d 127.192.0.0/10 -j REDIRECT --to-port 9040 iptables -t nat -A OUTPUT -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300

    И можно проверять. Доступ к заблокированным сайтам настраивается по инструкции выше.

    Ложка дёгтя

    Несмотря на простоту и удобство этот подход наследует часть недостатков сети Tor.

    На запрещенные сайты в сети вы заходите от имени выходных узлов , что даёт администраторам выходных узлов принципиальную возможность наблюдать ваш трафик и ваши пароли, если для доступа к целевому сайту не используется шифрование (должны быть https в начале адреса или зеленый замочек 🔒 в адресной строке).

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

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

    Вот и все!

    Что-то все еще непонятно? Что-то нужно исправить или что-то особенно понравилось? Напишите ниже в комментариях.

    Многие сайты в нашей стране заблокированы Роскомнадзором! И в данном выпуске я покажу вам, как обойти блокировку любого сайта с помощью браузера ТОР (Tor).

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

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

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

    Скачать Браузер ТОР с официального сайта вы можете по ЭТОЙ ССЫЛКЕ

    ВИДЕО: ТОР браузер. Как скачать и настроить тор браузер на русском

    Ну а более подробнее узнать о темном интернете и погрузиться в него в ы можете по !

    Ну а на сегодня все! Напишите пожалуйста в комментариях получилось ли у Вас обойти блокировку какого-либо запрещенного сайта?

    А также если вам понравилось данное видео, поддержите его пальцем вверх и не забудьте подписаться на мой YouTube канал и оповещения нажав на колокольчик рядом с кнопкой подписки!

    Браузер сети Tor является одним из самых распространенных средств обхода блокировок: им ежедневно пользуется более 200 000 россиян, а за пять лет их число увеличилось в 3 раза. Основное преимущество Tor - он не оставляет следов в интернете - ни личных данных, ни посещенных сайтов, ни отправленных сообщений. Но и его можно отследить и заблокировать.

    Как его могут заблокировать?

    Роскомнадзор может внести публичные «входные» IP-адреса сети, а также и IP-адреса сайтов с расширением.onion (доступны только в Tor) в реестр запрещенных. Также регулятор имеет право обязать провайдеров ограничить доступ к Tor. Сделать это непросто, но такая процедура введена, например, в Китае. Впрочем, это вовсе не означает, что она работает.

    Можно ли обойти блокировки?

    Кроме того, с сетью Tor можно соединяться, перенастроив браузер на непубличные узлы, которые заблокировать намного сложнее. В публичном доступе их IP-адресов нет, да и передаются адреса в зашифрованном виде. Также обойти блокировку Tor можно купив у иностранного VPN-сервиса зарубежный IP-адрес, считают эксперты. На зарубежные адреса закон не распространяется.

    Желание обойти цензуру и блокировку сайтов, а так же запрещение использования VPN, введенную Роскомнадзором, теперь оказывается , или установленных в них расширений по смене IP-адресов. Если у вас уже имеется общеизвестный браузер «Тоr», то увы — это не означает, что вы застрахованы от вхождения не только на нужные вам, но запрещенные сайты, но и от блокировки работы самого браузера .

    Нужно помнить, что Tor анонимизирует источник вашего трафика и шифрует весь трафик внутри сети Tor, но он не может зашифровать трафик между сетью Tor и адресом назначения . Если вы передаёте ценную информацию в Сети с помощью этого «секретного» браузера, вы должны быть так же внимательны, как и при использовании обычных браузеров — использовать HTTPS для собственных сайтов или другие способы шифрования и аутентификации.Тем не менее даже при таких мало обнадеживающих факторах секретности во время использовании этого браузера, его все равно на территории РФ теперь запрещают и блокируют. Если заметили, что ваш интернет-провайдер пытается блокировать Tor, то попытайтесь использовать нижеизложенный мною метод. Выход (хотя бы частичный) все же есть. Давайте рассмотрим способ…

    Как можно обойти блокированиеTor Browser

    1.Устанавливаем браузер и получаем мосты

    Переходим на сайт и выполняем необходимые действия. Если у вас еще не установлен браузер Тor, то кликните на кнопку «Шаг 1» для закачки установочного файла. В специальных таблицах со ссылками для скачивания нужно выбрать подходящий для вышей ОС, а так же нужный вам язык. Есть и русский.

    Затем, естественно, запустите файл и установите программу. Если у вас уже есть в наличии этот браузер, переходите на сайт по кнопке «Получите мосты « .

    Важно! Для осуществления указанных ниже действий необходимо обновить Tor browser до последней версии.

    При клике на третью кнопку, вам предоставят на этой же странице сайта маленькую инструкцию и советы по установке мостов в браузере. Мосты — это ретрансляторы Tor, которые позволяют обходить цензуру .

    Итак, вы установили Tor браузер, получили мосты (ретрансляторы) после соответствующего перехода:

    Кликаем на кнопку «Просто дайте мне адреса мостов» и после прохождения капчи, выходим на страницу их получения.

    2. Устанавливаем мосты в браузер Tor


    А так же скриншотов показанных ниже.

    1.Копирование мостов:

    2. Вход в настройки браузера:

    3. Устанавливаем галочку согласно инструкции, выбираем ручной режим и вставляем мосты в соответствующее окно настроек. Подтверждаем операцию нажатием кнопки «ОК» и завершаем работу по установке ретрансляторов. Вуаля!

    Приятной работы вам, друзья! И свободного Интернета!

    (Visited 1 times, 1 visits today)

    Похожие статьи