Многие ошибочно полагают, что сеть Tor — это такой набор бесплатных (и очень медленных) прокси-серверов в обычный интернет. Такой вариант использования Tor, конечно же, возможен, но куда большая ценность «даркнета» , на мой взгляд, заключается в его внутренних .onion ресурсах. Из этой статьи вы узнаете не только об обоих вариантах использования Tor, но и о том, как поднять собственный .onion ресурс, или как установить TCP-соединение через Tor, даже если клиент и сервер находятся за NAT.
Вариант 1: использование tor и Chromium
Существует по крайней мере два способа подключиться к сети Tor. Первый заключается в том, чтобы установить сервис tor и настроить ваш браузер, в данном примере — Chromium, так, чтобы он использовал этот сервис в качестве прокси. Для опытов я использовал Arch Linux , но в других дистрибутивах последовательность шагов будет почти такой же.
Установка сервиса:
Запуск, остановка, и так далее производятся, как обычно:
sudo systemctl stop tor
Сервис Tor работает, как socks-прокси на 127.0.0.1:9050. Любую программу можно заставить работать через Tor при помощи утилиты torify:
torify curl https: // remontka.com / ip / -o —
Если torify по какой-то причине не работает (я сталкивался с таким на старых версиях Ubuntu), попробуйте также утилиту proxychains. Она по умолчанию настроена на использование Tor, поэтому даже конфиг (/etc/proxychains.conf) не придется трогать.
Теперь — запуск Chromium:
—host-resolver-rules = «MAP * 0.0.0.0 , EXCLUDE 127.0.0.1»
—incognito http: // godnotaba36dsabv.onion /
Первый ключ говорит использовать указанный socks-прокси, второй — перенаправлять через него в том числе и DNS трафик. Заметьте, что чтобы это работало, Chromium сначала нужно закрыть.
Вариант 2: использовать Tor Browser
Использовать Chromium плохо как минимум по трем причинам. Во-первых, по умолчанию в нем включен JavaScript, что может использоваться для деанонимизации пользователя. Во-вторых, никому не известно, сколько и какой статистики он будет сливать в Google в очередной новой версии. В-третьих, иногда он глючит и считает, что .onion ресурс в адресной строке — это на самом деле такой запрос к поисковой системе. Поэтому для работы с Tor крайне рекомендуется использовать Tor Browser .
В Arch Linux он устанавливается из AUR (см заметку Управление пакетами в Arch Linux с помощью ABS и pacman ). Tor Browser не только лишен всех названных выше недостатков, но и чуть удобнее за счет того, что не требует отдельной установки сервиса tor.
Заходим на .onion ресурсы
В сети Tor существуют поисковые системы, например, Torch и Candle . Но они не очень хорошо работают сразу по нескольким причинам. Многие ресурсы требуют авторизации, поэтому индексировать их бесполезно. Самих ресурсов меньше (следовательно, меньше ссылок на другие ресурсы), а поведенческие факторы практически недоступны. Таким образом, традиционные алгоритмы ранжирования использовать трудно, и сортировка в выдаче никакая.
На помощь приходят старые-добрые каталоги сайтов. Вот некоторые из них:
С их помощью вы без труда найдете все остальные внутренние ресурсы сети — форумы, торренты, почту, jabber, магазины, обменники валют, и многие другие. Кстати, на счет валюты. Большой популярностью пользуется Bitcoin. Ему при желании можно посвятить отдельную небольшую статью. Здесь скажу лишь, что неплохим клиентом является Electrum . В настройках можно очень легко заставить его работать через Tor.
Поднимаем свой .onion ресурс
Для поднятия своих ресурсов не требуется внешний IP, поэтому все описанные действия можно произвести даже в поднятой на ноутбуке виртуалке.
Ставим Nginx :
sudo systemctl enable nginx
sudo systemctl start nginx
curl localhost: 80 -o —
Должны увидеть знаменитое Welcome to nginx!
.
Ставим Tor:
Дописываем в файл /etc/tor/torrc:
HiddenServicePort 80 127.0.0.1:80
# можно указывать несколько портов:
HiddenServicePort 22 127.0.0.1:22
Запускаем Tor:
sudo systemctl start tor
Обязательно делайте резервную копию /var/lib/tor/hidden_service/ — без нее вы не сможете перенести свой сайт на другую машину, сохранив доменное имя. В файле hostname вы увидите сгенерированное доменное имя. Можно вбить его в Tor Browser и убедиться, что вы увидите Welcome to nginx!
. Заметьте, что весь трафик уже шифруется, и вы эффективно получаете SSL/TLS безо всяких там центров сертификации!
Можно подрубиться и по SSH:
Помимо прочего, можно использовать этот прием для подключения по SSH к своему домашнему компьютеру, находящемуся за NAT.
Рассмотрим еще небольшой пример. Настроим проброс порта 3003, как это было описано выше. Затем скажем:
nc -l -p 3003
На другой машине говорим:
В итоге получили анонимный чат с end to end шифрованием! Для большего удобства можно использовать специализированный LAN-чаты. Например, iptux ( AUR ) имеет GUI и поддерживает обмен файлами. Также для обмена файлами через Tor существует программа OnionShare ( AUR ).
Fun fact! Существует софт для генерации красивых .onion адресов . Но таких адресов лучше избегать. Как минимум, довольно легко сгенерировать похожий адрес, отличающийся от настоящего всего на пару символов, и заставить перейти по нему пользователя.
Заключение
Еще из интересных тем можно назвать настройку relay и exit node, но они производятся тривиально по комментариям в файле torrc. Только имейте в виду, что поднимая relay, вы рискуете, так как когда к вам придут трехбуквенные агенства, будет поздно объяснять, что это не вы лично что-то делали, а один из пользователей сети Tor. В случае с exit node риск еще больше.
Дополнение: Тема инстант мессенджеров для сети Tor продолжена в статье Шифрование сообщений в Jabber при помощи OTR . Также вас могут заинтересовать статьи об OpenVPN и sshuttle .