Настройка сервера Tor


Сеть Tor основывается на добровольцах делящихся своим трафиком. Чем больше людей запускают серверы, тем быстрее работает сеть Tor. Если у вас есть по крайней мере 20 килобайт/сек в каждом направлении, пожалуйста помогите сети Tor настроив свой сервер. Мы реализовали много чего чтобы сделать серверы Tor лёгкими и удобными в использовании, включая ограничение трафика, ограничения выхода(exit policies), и поддержку динамических IP.

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

Установка сервера Tor проста и удобна:

  • Tor имеет встроенную поддержку ограничения трафика. Более того, если у вас скоростной канал, но вы хотите ограничить трафик вашего сервера за день (или неделю или месяц) то это легко реализуется с помощью автоматического режима бездействия (hibernation).
  • У каждого сервера есть своя политика ограничения выхода которая определяет какие выходящие соединения разрешены или запрещены на этом конкретном сервере. Если вы не хотите разрешать выходы с вашего сервера, можно запретить все соединения кроме как с другими узлами сети Tor.
  • Ничего страшного если сервер иногда недоступен в сети. Серверы директорий замечают это довольно быстро и перестают предлагать недоступный сервер. Только постарайтесь чтобы это не случалось часто, т.к. уже установленные с выключающимся сервером соединения разрываются.
  • Сеть успешно работает с серверами на динамических IP, в том случае если сам сервер знает свой IP. Смотрите FAQ.
  • Если ваш сервер находится за NAT и не знает свой публичный IP (например IP имеет вид 192.168.x.y), то придётся настроить перенаправление (port forwarding). Перенаправление TCP соединений системно-зависимая операция, но в этом разделе FAQ есть несколько примеров как это делается.
  • Ваш сервер будет самостоятельно оценивать и сообщать текущую пропускную способность, и таким образом "толстые" сервера привлекают больше пользователей. Следовательно не очень скоростные сервера тоже полезны.

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


Шаг нулевой: Скачать и установить Tor


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

Для Windows, это означает по крайней мере первый шаг из инструкций по установке Tor на Windows. На Mac OS X вы должны выполнить по крайней мере первый шаг из инструкций по установке Tor на OS X. На Linux/BSD/Unix вы должны выполнить по крайней мере первый шаг из инструкций по установке Tor на Unix.

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


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


1. Проверьте что часы установлены точно. Если возможно - синхронизируйте часы с публичными серверами времени.

2. Убедитесь что работает разрешение имён (DNS) (то есть, ваш компьютер может правильно делать name resolving).

3. Отредактируйте последнюю часть файла конфигурации torrc. (Консультируйтесь с этим разделом FAQ.) Вы должны определить по крайней мере Nickname и ORPort. Создайте каталог DataDirectory если требуется, и убедитесь что он принадлежит пользователю от которого будет запущен сервер. Если вы хотите запустить более одного сервера, это замечательно, но тогда пожалуйста обратите внимание на опцию MyFamily в файлах конфигурации для всех серверов.

4. Если вы используете фаерволл(брандмауэр), разрешите входящие соединения на порты которые вы указали в torrc (ORPort, и DirPort если вы его включили). Также разрешите выходящие соединения, чтобы ваш сервер мог достать другие сервера Tor.

5. Запустите сервер: если вы ставились из исходников можно просто стартануть tor, тогда как пакеты обычно запускают Tor из своих initscript'ов или startup скриптов. Если есть какие-нибудь сообщения в логах - проанализируйте их. (По умолчанию Tor сообщает в stdout, но некоторые пакеты перенаправляют сообщения в /var/log/tor/ или другие места. Вы можете настроить логи в файле torrc.)

6. Подпишитесь на список рассылки or-announce. Там очень мало сообщений, и вы будете проинформированы о новых стабильных релизах. Также можно подписаться на список рассылки or-talk (побольше сообщений будет), где кроме всего прочего объявляются релизы в разработке.

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

8. Прочитайте этот документ чтобы узнать как улучшить безопасность сервера.


Шаг второй: Убедитесь что он работает


Как только ваш сервер сможет подсоединиться к сети, он попытается определить доступность своих портов снаружи. Это может занять до 20 минут. Ищите сообщения в логах вида Self-testing indicates your ORPort is reachable from the outside. Excellent. Если вы не видите подобных сообщений, это значит что ваш сервер недоступен из Сети — тогда следует перепроверить фаерволл, проверить что сервер пытается достучаться именно до того адреса/порта где он должен быть, итд.

Как только сервер определит доступность, он загрузит на сервер директорий свой дескриптор (описатель, descriptor). Это позволит клиентам узнать адрес, порты, ключи и другую информацию о вашем сервере. Вы можете получить статус сети вручную и найти там nickname своего сервера, чтобы убедиться что он будет использоваться клиентами. Может понадобиться немного времени чтобы эта информация обновилась.


Шаг третий: Зарегистрируйте nickname


Как только вы уверитесь что сервер работает (наверное через день или два), вы должны зарегистрировать ваш сервер. Таким образом вы зарезервируете nick своего сервера так что никто другой не сможет занять его, и позволите нам связаться с вами если вам понадобится проапгрейдится или что-то случится с вашим сервером.

Напишите письмо на адрес tor-ops@freehaven.net с темой '[New Server] <nickname вашего сервера>' и следующим содержимым:

  • nickname вашего сервера
  • Отпечатки ключа вашего сервера (содержимое файла "fingerprint" в DataDirectory — в ОС Windows, смотрите \username\Application Data\tor\ или \Application Data\tor\; в OS X, смотрите /Library/Tor/var/lib/tor/; а в ОС Linux/BSD/Unix, смотрите /var/lib/tor или ~/.tor)
  • Кто вы такой, чтобы мы знали с кем связаться если возникнет проблема
  • Какое соединение будет у вашего сервера

Шаг четвёртый: Если всё работает


Мы рекомендуем предпринять следующие шаги:

6. Решите какую политику выхода применять. По умолчанию сервер разрешает соединения на многие популярные сервисы, но мы и ограничиваем некоторые (например порт 25) из-за возможных злоупотреблений. Вы можете настроить более жёсткую или мягкую политику ограничения выхода, для этого соответствующим образом отредактируйте torrc. Прочитайте раздел FAQ чтобы знать с какими проблемами вы можете встретится при использовании политики по умолчанию. Если вы выбираете свободную политику выхода, будьте уверены что ваш провайдер не против.

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

8. Сделайте резервную копию приватного ключа сервера (хранится в "keys/secret_id_key" в DataDirectory). Этот ключ идентифицирует ваш сервер и вы должны держать его в безопасности, чтобы никто не мог расшифровать трафик идущий через ваш сервер. Это критический файл который вы должны сохранить в случае если вам понадобится передвинуть или восстановить ваш сервер Tor если что-то пойдёт не так.

9. Если вы контролируете сервера имён для вашего домена, установите имя хоста в 'anonymous' или 'proxy' или 'tor-proxy', для того чтобы другие люди, увидев ваш домен в своих логах, быстрее могли разобраться в чём дело.

10. Если на вашем компьютере нет вебсервера, пожалуйста установите ORPort в 443 и DirPort в 80. Много пользователей Tor закрыты фаерволлами которые только позволяют им использовать http, и это изменение позволит им достичь ваш сервер Tor. Серверы на Win32 могут просто изменить свой ORPort и DirPort напрямую в torrc и перезапустить Tor. Серверы OS X и Unix не могут напрямую вешаться на этот порт (так как это требует привилегий суперпользователя), поэтому им понадобится использовать перенаправление портов. Если у вас уже заняты порты 80 и 443, но вы хотите помочь пользователям с такими ограничениями, то полезно будет назначить порты 22, 110, или 143.

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

12. (Только для Unix). Создайте отдельного пользователя для запуска сервера. Если вы устанавливали из OS X пакета, или deb или rpm то это уже было сделано. Иначе вы можете сделать это вручную. Сервер Tor не требует привилегий root'а для работы, поэтому правильно будет не запускать Tor от суперпользователя. Запуск под пользователем 'tor' позволит избежать проблем с identd и другими сервисами который определяют имя пользователя. (Если вы немного параноик, спокойно запускайте Tor в chroot.)

13. (Только для Unix.) Скорее всего ваша опеационная система ограничивает количество дескрипторов открытых файлов на процесс до 1024 (или даже меньше). Если вы планируете иметь выходной узел Tor, то этого может оказаться недостаточно. В Linux вы должны добавить строчку вида "toruser hard nofile 8192" в файл /etc/security/limits.conf (где toruser это пользователь от которого запускается процесс Tor), и перезапустите Tor. Если это не сработало, смотрите этот раздел FAQ сдругими предложенными способами выполнить "ulimit -n 8192" перед запуском Tor.

14. Если вы устанавливали Tor из пакета или с помощью инсталлятора, он наверное автоматически стартует при загрузке системы. Но если вы устанавливали из исходников, вам придётся вручную это настраивать, и скрипты contrib/tor.sh и/или contrib/torctl могут вам пригодится.

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


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

Webmaster - Последние изменения: Sun Apr 23 19:29:22 2006 - Последняя компиляция: Thu Jun 1 22:58:49 2006

Внимание! Этот перевод устарел. Английский оригинал имеет ревизию 1.6 тогда как этот перевод основан на ревизии 1.5.

Эта страница также переведена на следующие языки: English, Italiano.
Как установить язык документов по умолчанию.