Настройка скрытых служб в сети Tor

  • Автор темы Алексаня Тюрик
  • Дата начала
Алексаня Тюрик

Алексаня Тюрик

Ч0ткий!
Практически дословный перевод с официального сайта,
за качество информации ответственности не несу


Tor позволяет клиентам и ретрансляторам предоставлять т.н. скрытые службы (сервисы). Это означает, что вы можете сделать общедоступным Web, SSH или иной сервер без раскрытия его IP адреса пользователям. Более того, ваш скрытый сервис может работать за межсетевым экраном (firewall), т.к. нет необходимости в публичной адресации.

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

idnxcnkne4qt76tg.onion/ - The Tor Project Website
j6im4v42ur6dpic3.onion/ - The Tor Package Archive
p3igkncehackjtib.onion/ - The Tor Media Archive

Другие примеры надежных скрытых сайтов - это поисковая система Duck Duck Go и чей-то демонстрационный сайт.

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


Шаг Нулевой: Установить Tor

Перед тем, как начать, нужно убедиться, что:

а. Tor установлен и работает,
б. Вы его правильно настроили.

Пользователи Windows должны ознакомиться с “Руководством для Windows" [eng],
пользователи OS X - с “Руководством для OS X" [eng],
а пользователи Linux/BSD/Unix - с “Руководством для Unix” [eng]


Шаг Первый: установить локальный веб-сервер

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

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

После того, как ваш веб-сервер установлен, проверьте его работу: откройте браузер и попробуйте обратиться к localhost:8080/, где "8080" - это номер порта, который вы выбрали во время установки (вы можете выбрать любой порт, 8080 это просто пример). Затем попробуйте поместить какой-либо файл в корневую html папку и убедитесь, что он доступен.


Шаг Второй: настроить ваш скрытый сервис

Сейчас нужно настроить ваш скрытый сервис и перенаправить его на локальный веб-сервер.

Во-первых, откройте файл torrc в вашем любимом текстовом редакторе. (Читайте https://www.torproject.org/docs/faq.html.en#torrc [eng], чтобы узнать, что это значит). Примерно в середине файла найдите строку, которая выглядит так:

### This section is just for location-hidden services ###
Этот раздел файла состоит из групп строк, каждая из них представляющая один скрытый сервис. Сейчас они все деактивированы (строки начинаются с #), то есть скрытые сервисы выключены. Каждая группа строк состоит из одной HiddenServiceDir строки и одной или нескольких HiddenServicePort строк.

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

HiddenServicePort позволяет настроить виртуальный порт (т.е. тот порт, к которому будут обращаться извне) и IP-адрес с портом для перенаправления к виртуальному порту.

Добавьте следующие инструкции в ваш torrc:

HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080
Измените HiddenServiceDir так, чтобы она указывала на существующую папку с доступом для чтения и изменений для пользователя, под которым будет работать Tor. Вышеприведенный пример должен работать, если вы используете Tor в OS X. В Unix, попробуйте "/home/username/hidden_service/" и пропишите ваше имя пользователя вместо "username". В Windows вы можете использовать:

HiddenServiceDir C:\Users\username\Documents\tor\hidden_service
HiddenServicePort 80 127.0.0.1:8080
Сохраните torrc и перезапустите Tor.

Если Tor запустился - это хорошо. Иначе что-то пошло не так. Проверьте ваши лог-файлы на записи с предупреждениями или ошибками. Обычно проблема в опечатке в файле torrc или в неправильных настройках доступа к папке.

Когда Tor загрузится, он, если необходимо, автоматически создаст папку HiddenServiceDir, которую вы указали, и создаст в ней два файла.

private_key

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

hostname

Другой файл, созданный Tor`ом, называется "hostname". Там находится укороченная версия вашего открытого ключа, что будет похоже на duskgxobans5g5jn.onion. Это общедоступное имя для вашего сервиса и вы можете сказать его людям, опубликовать на сайте, поместить на визитную карточку, и т.д.

Если Tor работает под другим именем пользователя, например в OS X, Debian или RedHat, тогда вам возможно придется переключиться на пользователя root, чтобы получить доступ к просмотру этих файлов.

После того, как вы перезапустили Tor, программа занимается выбором вводных узлов ("introduction points") в сети Tor и генерацией дескриптора скрытого сервиса ("hidden service descriptor"). Это подписанный список вводных узлов вместе с полным открытым ключом скрытого сервиса. Tor анонимно опубликовывает это описание на серверах таблиц маршрутизации. Другие люди анонимно копируют это описание с тех серверов во время попытки подключения к вашему сервису.

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


Шаг третий: дополнительные советы

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

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

HiddenServiceDir /usr/local/etc/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

HiddenServiceDir /usr/local/etc/tor/other_hidden_service/
HiddenServicePort 6667 127.0.0.1:6667
HiddenServicePort 22 127.0.0.1:22

Некоторые аспекты анонимности, про которые вы должны помнить:

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

Если компьютер не подключен к интернету постоянно, то ваш сервис так же не будет постоянно доступен. Это предоставляет дополнительную информацию вашим противникам.

Если у вас есть предложения по улучшению этой инструкции, то шлите их создателям Tor.
Спасибо!
 
Последнее редактирование модератором:
Сверху