Как настроить мосты в браузере Tor

Обновлено: 03.07.2024

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

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

Мосты Tor

Мосты Tor — это секретные ретрансляторы Tor, которые скрывают ваше подключение к сети Tor.

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

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

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

Мосты Tor часто менее надежны и медленнее, чем общедоступные ретрансляторы Tor.

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

Когда вы выбираете этот вариант, Tails пробует разные способы подключения к Tor, пока не добьется успеха:

Tails пытается подключиться к Tor напрямую, используя общедоступные ретрансляторы, без использования моста.

Tails пытается подключиться к Tor, используя один из мостов по умолчанию, уже включенных в Tails, если не удается подключиться с использованием общедоступных ретрансляторов.

Tails попросит вас настроить пользовательский мост, если не удается подключиться с использованием мостов по умолчанию.

Кто-то, отслеживающий ваше интернет-соединение, может определить, что эти попытки исходят от пользователя Tails.

В будущем Tails также будет автоматически:

Возможно, вам придется оставаться незамеченным, если использование Tor может показаться подозрительным для тех, кто следит за вашим интернет-соединением.

Если вы выберете этот вариант, Tails будет подключаться к Tor только после того, как вы настроите мост Tor. Мосты — это секретные ретрансляторы Tor, которые скрывают, что вы подключаетесь к Tor.

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

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

Мосты по умолчанию недоступны.

Вам нужно будет знать адрес пользовательского моста.

Чтобы запросить пользовательский мост, вы можете:

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

Например, вы можете отправить электронное письмо со своего телефона и ввести мост в Tails.

Отправка электронного письма показывает Gmail или Riseup, что вы пытаетесь подключиться к Tor, но не кому-то, кто отслеживает ваше интернет-соединение.

Даже тот, кто знает ваш мост, не может знать, что вы делаете в сети из Tails.

Вы можете использовать только те типы мостов, которые наша команда считает достаточно дискретными.

В настоящее время в Tails только мосты obfs4 скрывают, что вы используете Tor.

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

На конференции по кибербезопасности SecureWV 2019, проходившей в Чарльстоне, Западная Вирджиния, мы с Пейшуе представили наш доклад «Разбор мостов Tor и подключаемого транспорта». Теперь мы делимся более подробной информацией об этом исследовании, а наш анализ публикуется в двух блогах. В первой части этой серии, состоящей из двух частей, мы воспользуемся реверс-инжинирингом, чтобы объяснить, как найти встроенные мосты Tor и как браузер Tor работает с включенным мостом.

Браузер Tor и сеть Tor

Tor Browser – это инструмент, обеспечивающий анонимное подключение к Интернету в сочетании с многоуровневым шифрованием через сеть Tor. Когда пользователи просматривают веб-сайты с помощью Tor Browser, их реальный IP-адрес скрывается сетью Tor, поэтому целевой веб-сайт никогда не знает, каков истинный исходный IP-адрес. Пользователи также могут создать свой собственный веб-сайт в сети Tor с доменным именем, заканчивающимся на «.onion». Таким образом, только Tor Browser может получить к нему доступ, и никто не знает, какой у него настоящий IP-адрес. Это одна из причин, по которой преступники-вымогатели требуют от жертв доступа к платежной странице на веб-сайте .onion через браузер Tor. Команда проекта Tor знает об этой практике, потому что в блоге проекта Tor четко сказано, что «Tor используется преступниками не по назначению».

Tor Browser — это проект с открытым исходным кодом, дизайн которого основан на Mozilla Firefox. Вы можете скачать исходный код с официального сайта.Сеть Tor – это всемирная оверлейная сеть, включающая тысячи ретрансляторов, управляемых добровольцами.

Что такое Tor-мост?

Сеть Tor состоит из двух типов ретрансляционных узлов: обычных ретрансляционных узлов и мостовых ретрансляционных узлов. Обычные релейные узлы перечислены в основном каталоге Tor, и соединения с ними могут быть легко идентифицированы и заблокированы цензорами. Информация о мосте Tor определяется в файле профиля Firefox, поэтому вы можете отобразить ее, введя «about:config» в адресной строке браузера Tor, как показано на рисунке 1.

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

Платформа анализа браузера Tor

Этот анализ был выполнен на следующей платформе, а также для следующих версий и расширений браузера Tor:

  • Windows 7, 32-разрядная версия SP1
  • Tor Браузер 8.0
  • TorLauncher 0.2.16.3 (одно расширение)
  • Torbutton 2.0.6 (одно расширение)

На рис. 2 показана информация о версии Tor Browser, над которой я работал.

Во время моего анализа Tor Brower выпустил новую версию: Tor Browser 9.0 от 22 октября 2019 года. Дополнительную информацию об этом можно найти в приложении к этому анализу.

Как запустить браузер Tor со встроенными мостами

Эта версия браузера Tor, которую я проанализировал, предоставляет четыре типа мостов: «obfs4», «fte», «meek-azure» и «obfs3». Они называются подключаемыми транспортами. Подробные настройки показаны на рис. 3.

На официальном сайте Tor настоятельно рекомендуется использовать Obfs4 Bridge. Весь приведенный ниже анализ основан на таком мосте. Я выбрал мост «obfs4» в списке, показанном на рис. 3, чтобы начать анализ. Изучив трафик, когда Tor Browser устанавливает соединение «obfs4», я обнаружил, что сеансы TCP создаются obfs4proxy.exe, который является клиентским процессом-мостом.

На рис. 4 показан снимок экрана дерева процессов при запуске Tor Browser с помощью «obfs4». Как видите, «firefox.exe» запускает «tor.exe», который затем запускает «obfs4proxy.exe». Процесс «obfs4proxy.exe» находится в папке «Tor_installation_folder\Browser\TorBrowser\Tor\PluggableTransports». Первоначально я думал, что встроенные мосты «obfs4» должны быть жестко запрограммированы внутри процесса «obfs4proxy.exe».

Отслеживание и отслеживание в процессе Tor Bridge «obfs4proxy.exe»

Я запустил отладчик и прикрепил его к «obfs4proxy.exe». Затем я устанавливаю точку останова на «подключение» API, которое часто используется для установления TCP-соединений. Обычно с помощью обратного проектирования можно быстро обнаружить IP-адреса и порты из этого API. Однако я никогда не запускал его до того, как были установлены соединения с мостом «obfs4». После дальнейшего анализа процесса «obfs4proxy.exe» я узнал, что вместо него используется другой API под названием «MSAFD_ConnectEx» из mswsock.dll.

На рис. 5 показано, что «obfs4proxy.exe» собирается вызвать API «mswsock.MSAFD_ConnectEx()», чтобы установить TCP-подключение к встроенному мосту «obfs4», чей IP-адрес и порт «192.95.36.142». :443”. Второй аргумент этой функции — указатель на структурную переменную struct sockaddr_in, которая содержит IP-адрес и порт для подключения. Позже он вызывает API «WSASend» и «WSARecv» для связи с мостом «obfs4». Как вы могли заметить, отладчик OllyDbg не смог распознать этот API, поскольку он не является функцией экспорта «mswsock.dll». В анализе mswsock.dll, проведенном IDA Pro, мы видим, что адрес 750A7842 — это просто API «MSAFD_ConnectEx()». Кстати, инструкция «call dword ptr [ebx]» используется для вызова почти всех системных API, которые нужны «obfs4proxy.exe», что является способом скрыть API от анализа.

По моему анализу, большинство PE-файлов (файлы exe и dll, например «obfs4proxy.exe»), используемых Tor, скомпилированы «компилятором GCC MINGW-64w», который всегда использует «mov [esp] , …» для передачи аргументов функциям вместо инструкций «push …», которые создают проблемы для статического анализа. Отслеживая и отслеживая поток стека вызовов из «MSAFD_ConnectEx()», я понял, что моя первоначальная мысль была ошибочной, потому что встроенные IP-адреса и порты не жестко запрограммированы в «obfs4proxy.exe», а взяты из родительского процесса. «tor.exe» через локальное петлевое TCP-соединение.

Обычно третий пакет от «tor.exe» до «obfs4proxy.exe» содержит один встроенный IP-адрес моста obfs4 и порт в двоичном формате, как на рис. 6. Это пакет Socks5 длиной 0xA байт. . «05 01 00 01» — это заголовок его протокола Socks5, а остальные данные — это IP-адрес и порт в двоичном формате. Пакет указывает, что он запрашивает «obfs4proxy.exe» для установления соединения с мостом с двоичным IP-адресом и портом. «obfs4proxy.exe», затем анализирует пакет и преобразует двоичный IP-адрес и порт в строку, в данном случае «154.35.22.13:16815».

Переход на Tor.exe

«tor.exe» использует сторонний модуль с именем «libevent.dll», который принадлежит libevent (библиотеке уведомлений о событиях), чтобы заставить Tor выполнять свои задачи. Tor помещает большинство своих задач сокетов (connect(), send(), recv() и т. д.) в события, которые автоматически вызываются libevent. Отслеживая пакет с IP-адресом моста и портом в «Tor.exe», вы можете увидеть в контексте стека вызовов, что многие обратные адреса находятся в модуле «libevent.dll». На рис. 7 он остановился на «Tor.exe», вызвав API «ws2_32.send()», чтобы отправить пакет, содержащий IP-адрес и порт моста, точно так же, как полученный пакет, показанный на рис. 6.

На рис. 7 показано окно «Стек вызовов», в котором показаны адреса возврата «libevent.dll».

С помощью отслеживания/отслеживания «tor.exe», отправляющего IP-адрес и порт моста, я обнаружил место, где он запускает новое событие с функцией обратного вызова, которая затем отправляет IP-адрес и порт моста. Фрагмент кода ASM ниже показывает контекст вызова «libevent.event_new()» в «tor.exe». Его второй аргумент — дескриптор сокета; его третий аргумент — это действие события, которое здесь равно 14H, что означает EV_WRITE и EV_PERSIST; его четвертый аргумент — это функция обратного вызова (sub_2833EE в данном случае); а его пятый аргумент содержит IP-адрес моста и порт, которые будут переданы функции обратного вызова (sub_2833EE) после ее вызова libevent.

Следующий фрагмент кода ASM взят из «tor.exe», базовый адрес которого на данный момент — 00280000h.

.text:00281C84 mov edx, eax

.text:00281C86 mov eax, [ebp+var_2C] ;

.text:00281C89 mov [eax+14h], edx

.text:00281C8C mov eax, [ebp+var_2C] ;

.text:00281C8F mov ebx, [eax+0Ch]

.text:00281C92 вызов sub_5133E0

.text:00281C97 mov edx, eax

.text:00281C99 mov eax, [ebp+var_2C]

.text:00281C9C mov [esp+10h], eax ; аргумент для функции обратного вызова

.text:00281CA0 mov [esp+0Ch], смещение sub_2833EE ; функция обратного вызова

.text:00281CB0 mov [esp+4], ebx ; розетка

.text:00281CB4 mov [esp], edx

.text:00281CB7 call event_new ; event_new(event_base, socket, event EV_READ/EV_WRITE, callback_fn, callback_args);

Сеть Tor — это мощный инструмент для анонимного просмотра веб-страниц и обхода онлайн-цензуры и веб-фильтров. К сожалению, некоторые организации разработали технологию, затрудняющую доступ к сети Tor. В этом руководстве объясняется, как создать собственный частный мост Tor, чтобы обойти эти ограничения.

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

Если вы раньше не использовали оболочку Linux, я рекомендую пройти курс обучения по командной строке Codecademy. Рекомендуем посетить сообщество DigitalOcean, чтобы получить дополнительные руководства.

Прежде чем вы сможете настроить Tor Bridge, вам необходимо где-то арендовать сервер. В идеале этот сервер расположен в демократическом государстве с жесткими законами о цифровой конфиденциальности. США и большинство европейских стран идеально подходят для этого.

Вам не нужно платить за дорогой сервер. Поставщики облачных вычислений, такие как Google Cloud, Microsoft Azure и Amazon Web Services, предлагают щедрый уровень бесплатного пользования. Эти бесплатные уровни включают небольшую виртуальную машину и некоторую пропускную способность. Недостаточно создать ретранслятор с высоким трафиком, но этого должно быть достаточно для небольшого моста для вас и нескольких друзей.

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

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

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

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

Создайте свой сервер, я рекомендую использовать Debian в качестве операционной системы и подключитесь к нему через SSH.

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

Если вы следуете рекомендациям этого руководства и используете Debian, вам нужно только запустить sudo apt-get install tor obfs4proxy , на других поставщиках услуг вам также может понадобиться запустить sudo apt-get install iptables, который мы будем использовать. позже в учебнике для некоторых махинаций с переадресацией портов.

Для дополнительной безопасности вы можете настроить официальные репозитории Debian проекта Tor и скомпилировать obfs4proxy из исходного кода.

Прежде всего, давайте переместим torrc по умолчанию в образец файла, чтобы он не мешал чему-либо, что мы настраиваем. Запустите sudo mv /etc/tor/torrc /etc/tor/torrc.sample в вашей оболочке SSH.

Теперь запустите sudo nano /etc/tor/torrc и начните записывать свой torrc. torrc — один из самых простых файлов конфигурации, которые я видел. Это довольно прямолинейно. Взгляните на следующий пример:

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

На что следует обратить внимание: чтобы свести к минимуму риски перечисления при запуске моста, я рекомендую выбирать совершенно случайные номера портов из портов ORPort и OBFS4. Хотя это не идеально, и полное сканирование портов все же может показать, что вы используете мост, риск обнаружения вашим противником снижается.

Ваш окончательный файл torrc будет выглядеть примерно так:

Далее нам нужно добавить несколько правил брандмауэра, чтобы разрешить вам доступ к мосту через порт 443.

Наконец, запустите службу sudo для перезагрузки в SSH-терминале, и вы готовы настроить свой клиент (Tor Browser).

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

Чтобы получить линию моста, запустите sudo cat /var/lib/tor/pt_state/obfs4_bridgeline.txt в терминале SSH. Ваш ответ должен выглядеть следующим образом:

будет IP-адресом, предоставленным вам вашим поставщиком услуг.

будет 443. можно найти, запустив sudo cat /var/lib/tor/fingerprint в вашем SSH-терминале — ответом будет псевдоним вашего моста, за которым следует пробел и строка текста, ваша строка моста должна включать только эту строку текста (пропустите псевдоним и пробел). Наконец, это уже было предоставлено при получении линии моста, здесь не требуется никаких дополнительных действий. Ваша окончательная линия моста будет выглядеть следующим образом:

Теперь вы можете предоставить Tor Browser свою линию моста и без ограничений подключаться к сети Tor.

Из соображений безопасности большинство крупных облачных провайдеров имеют строгий набор правил брандмауэра по умолчанию (AWS называет их «группами безопасности», подробности см. в документации вашего провайдера). Вам нужно будет разрешить трафик по протоколу TCP:443, чтобы ваш мост Tor мог работать.

Для получения более подробной информации о настройке мостов Tor см. следующие ресурсы…

Выберите способ подключения OnionShare к Tor, нажав значок «⚙» в правом нижнем углу окна OnionShare, чтобы перейти к его настройкам.

_images/settings.jpg

Используйте Tor в комплекте с OnionShare¶

Это самый простой и надежный способ подключения OnionShare к Tor по умолчанию. По этой причине он рекомендуется для большинства пользователей.

Когда вы открываете OnionShare, он запускает уже настроенный процесс tor в фоновом режиме для использования OnionShare. Он не мешает другим процессам Tor на вашем компьютере, поэтому вы можете использовать Tor Browser или системный Tor самостоятельно.

Попробовать автоконфигурацию с помощью Tor Browser¶

Если вы загрузили Tor Browser и не хотите запускать два процесса tor, вы можете использовать процесс tor из браузера Tor. Имейте в виду, что вам нужно держать Tor Browser открытым в фоновом режиме, пока вы используете OnionShare, чтобы это работало.

Использование системного tor в Windows¶

Это довольно продвинутый уровень. Вам нужно знать, как редактировать файлы с открытым текстом и делать что-то от имени администратора.

Загрузите пакет Tor Windows Expert Bundle с. Извлеките сжатый файл и скопируйте извлеченную папку в C:\Program Files (x86)\. Переименуйте извлеченную папку с данными и Tor в tor-win32 .

Придумайте пароль для порта управления. (Хорошей идеей для пароля является использование 7 слов в такой последовательности, как «содержит спотыкаться, рыться, отомстить за работу, изменчивая конструкция».) Теперь откройте командную строку ( cmd ) от имени администратора и используйте tor.exe --hash-password для создания хэша. вашего пароля. Например:

Вывод хешированного пароля отображается после некоторых предупреждений (которые можно игнорировать). В приведенном выше примере это 16:00322E903D96DE986058BB9ABDA91E010D7A863768635AC38E213FDBEF .

Теперь создайте новый текстовый файл в папке C:\Program Files (x86)\tor-win32\torrc и поместите в него хешированный пароль, заменив HashedControlPassword только что сгенерированным:

Теперь вы запускаете системный процесс tor в Windows!

Откройте OnionShare и щелкните в нем значок «⚙». В разделе «Как OnionShare должен подключаться к Tor?» выберите «Подключение через порт управления» и установите «Порт управления» на 127.0.0.1 и «Порт» на 9051. В разделе «Настройки аутентификации Tor» выберите «Пароль» и установите пароль на пароль порта управления, который вы выбрали выше. Нажмите кнопку «Проверить подключение к Tor». Если все пойдет хорошо, вы должны увидеть «Подключено к контроллеру Tor».

Использование системного tor в macOS¶

Сначала установите Homebrew, если он у вас еще не установлен, а затем установите Tor:

И запустите системную службу Tor:

Откройте OnionShare и щелкните в нем значок «⚙». В разделе «Как OnionShare должен подключаться к Tor?» выберите «Подключиться с помощью файла сокета» и установите файл сокета как /usr/local/var/run/tor/control.socket . В разделе «Настройки аутентификации Tor» выберите «Без аутентификации или аутентификации с помощью файлов cookie». Нажмите кнопку «Проверить подключение к Tor».

Если все пойдет хорошо, вы должны увидеть «Подключение к контроллеру Tor».

Использование системного tor в Linux¶

Сначала установите пакет tor. Если вы используете Debian, Ubuntu или аналогичный дистрибутив Linux, рекомендуется использовать официальный репозиторий проекта Tor.

Затем добавьте своего пользователя в группу, которая запускает процесс tor (в случае Debian и Ubuntu, debian-tor ) и настройте OnionShare для подключения к файлу управляющего сокета tor вашей системы.

Добавьте своего пользователя в группу debian-tor, выполнив эту команду (замените имя пользователя на ваше фактическое имя пользователя):

Перезагрузите компьютер. После того, как он снова загрузится, откройте OnionShare и щелкните в нем значок «⚙». В разделе «Как OnionShare должен подключаться к Tor?» выберите «Подключиться с помощью файла сокета». Установите файл сокета как /var/run/tor/control . В разделе «Настройки аутентификации Tor» выберите «Без аутентификации или аутентификации с помощью файлов cookie». Нажмите кнопку «Проверить подключение к Tor».

Если все пойдет хорошо, вы должны увидеть «Подключение к контроллеру Tor».

Использование мостов Tor¶

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

Чтобы настроить мосты, нажмите значок «⚙» в OnionShare.

Вы можете использовать встроенные подключаемые транспорты obfs4, встроенные подключаемые транспорты meek_lite (Azure) или настраиваемые мосты, которые можно получить в базе данных Tor BridgeDB. Если вам нужно использовать мост, попробуйте сначала встроенные obfs4.

Читайте также: