Настройка скрытых сервисов Tor


Tor позволяет клиентам и серверам предоставлять скрытые сервисы. То есть, вы можете предоставлять веб сервер, SSH сервер, итд. не раскрывая свой IP адрес пользователям. И так как при этом не используется никакой публичный адрес, вы можете запустить скрытый сервис находясь за файерволлом.

Если у вас уже установлены Tor и Privoxy, вы можете посмотреть скрытый сервис вживую посетив демонстрационный скрытый сервис.

Это руководство описывает шаги для запуска своего собственного скрытого сервиса - вебсайта.


Шаг нулевой: Запустите Tor и Privoxy


Перед тем как приступить к настройке скрытого сервиса убедитесь что

  1. Tor запущен,
  2. Privoxy запущен,
  3. Privoxy перенаправляет запросы в Tor,
  4. всё на самом деле работает корректно.

Пользователи Windows должны прочитать инструкции для Windows, пользователи OS X должны прочитать инструкции для OS X, а пользователи Linux/BSD/Unix должны прочитать инструкции для Unix.

Как только вы установили Tor и Privoxy, вы можете посмотреть скрытый сервис вживую посетив демонстрационный скрытый сервис. Скорее всего загрузка займёт 10-60 секунд (или решит что ресурс недоступен). Если же попытка окажется неудачной моментально и ваш браузер скажет "duskgytldkxiuqc6.onion could not be found, please check the name and try again", то значит вы неверно настроили Tor и Privoxy; ищите помощь в "оно-не-работает"-FAQ.


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


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

Если вы на Unix или OS X и комфортно чувствуете себя в командной строке, наверное лучшим выбором будет установить thttpd. Просто скачайте самый свежий tarball, распакуйте его (будет создан новый каталог), и выполните ./configure && make. Потом mkdir hidserv; cd hidserv, и ../thttpd -p 5222 -h localhost. Процесс будет запущен в фоне, и теперь у вас есть веб-сервер на порту 5222. Выкладывайте файлы в каталог hidserv.

Для ОС Windows можно выбрать Savant или Apache. Обязательно настройте сервер принимать соединения только от localhost. Вы также должны узнать на каком порту висит ваш сервер, так как вам понадобится эта информация позже.

(Причина по которой мы привязываем веб-сервер только к localhost в том, чтобы быть уверенным что сервер не доступен публично. Если бы пользователи могли напрямую соединиться с вашим сервером, они смогли бы определить, что ваш сервер предоставляет этот скрытый сервис.)

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


Шаг второй: Настройте скрытый сервис


Далее, надо указать вашему скрытому сервису на локальный веб-сервер.

Во-первых, откройте файл torrc в вашем любимом текстовом редакторе. (См. FAQ по torrc если вы не понимаете что это значит.) В средней секции найдите строку

############### This section is just for location-hidden services ###

Эта секция состоит из групп строк, каждая из которых определяет один скрытый сервис. Сейчас они все закомментированы (строки начинаются с символа #), то есть скрытые сервисы выключены. Каждая группа строк содержит одну строку HiddenServiceDir, и одну или более строк HiddenServicePort:

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

Добавьте такие строки в torrc:

HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:5222

Вам следует изменить строку HiddenServiceDir, так чтобы она указывала на каталог доступный по чтению и записи для пользователя от имени которого будет запущен Tor. Строка в примере подойдёт если вы используете пакет Tor для OS X. Под Unix, попробуйте "/home/username/hidserv/" и подставьте ваше имя пользователя вместо "username". Под Windows вы можете выбрать:

HiddenServiceDir C:\Documents and Settings\username\Application Data\hidden_service\
HiddenServicePort 80 127.0.0.1:5222

Теперь сохраните torrc и перезапустите Tor.

Если после этого Tor запустился, отлично. Иначе, что-то не так. Сначала ищите подсказку в логах Tor. Должно быть какое-то сообщение об ошибке или предупреждение. Обычно причина в опечатках в torrc или неверных правах доступа на файлы и каталоги (См. раздел FAQ по логам Tor если вы не знаете как включить или где найти эти логи.)

При старте, Tor автоматически создаст каталог HiddenServiceDir который вы указали (если требуется), и запишет туда два файла.

private_key
Во-первых, будет сгенерирована пара ключей (публичный и приватный) для скрытого сервиса, и записана в файл "private_key". Не передавайте эти ключи никому больше -- если вы это сделаете третье лицо сможет подменить ваш сервис.
hostname
Другой созданный файл будет называться "hostname". В нём содержится краткая информация по вашему публичному ключу -- и будет выглядеть как-то так : duskgytldkxiuqc6.onion. Это публичное имя вашего сервиса, и вы можете передавать его другим людям, публиковать на вебсайте, печатать на визитке, etc.

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

Теперь, после того как вы перезапустили Tor, он занят тем что выбирает "точки знакомства" ("introduction points") в сети Tor, и генерирует так называемый дескриптор скрытого сервиса. На самом деле это просто список точек знакомств и полный публичный ключ сервиса. Потом Tor анонимно публикует этот дескриптор на серверах директорий, и другие пользователи анонимно запрашивают его оттуда когда они пытаются соединиться с вашим сервисом.

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


Шаг третий: советы


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

Мы избегаем рекомендовать Apache выше, а) потому что у многих он уже установлен для поддержки обычного веб-сайта на их компьютере, и б) потому что он слишком большой и может раскрыть ваш IP адрес или другую идентифицирующую информацию многими способами, например с помощью страниц ошибки 404. Впрочем, для тех кому существенно требуется функциональность, Apache может быть верным выбором. Может ли кто-нибудь составить список действий требуемых для безопасного использования Apache как скрытого веб-сервиса? Наверное эти же проблемы есть и у Savant.

Если вы хотите перенаправлять несколько портов на один скрытый сервис, просто добавьте несколько строк HiddenServicePort. Если вы хотите поддерживать несколько разных скрытых сервисов на одном клиенте Tor, просто добавьте ещё строки HiddenServiceDir. Все последующие строки HiddenServicePort относятся к этой строке HiddenServiceDir, до тех пор пока вы не добавите ещё одну строку 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, и узнать что-нибудь о вашей операционной системе.
  • Если ваш компьютер не доступен онлайн сутки напролёт, то ваш скрытый сервис также. Это очевидная утечка информации для стороннего наблюдателя.

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

Webmaster - Последние изменения: Tue Jul 8 04:54:06 2008 - Последняя компиляция: Wed Jul 9 06:16:21 2008

"Tor" и "Onion Logo" - торговые марки принадлежащие Tor Project, Inc.

Эта страница также переведена на следующие языки: English, español, français, Italiano, polski, 中文(简) (Simplified Chinese).
Как установить язык документов по умолчанию.

Разработчики Tor не проверяли этот перевод на точность и корректность. Перевод может быть устаревшим или просто неправильным. Официальный веб-сайт Tor на английском языке доступен по адресу https://www.torproject.org/.