В статье о Darknet мы обещали опубликовать инструкцию по конфигурации сервера Tor. Это она.

Зачем это нужно?

Чтобы поддерживать анонимность в сети, бороться со слежкой и обеспечивать свободу информации.

Я рассчитываю на то, что вы:

  • технически грамотны;
  • знаете английский язык;
  • способны при возникновении проблемы найти ответ в Google.

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

Как проходила конфигурация?

Конфигурация узла на Mac вылилась в шаманство с логами, терминалом и циклической переустановкой Tor. Чтобы не разбираться с Интернет-провайдером, я открыл «облачный» сервер, поставил Amazon Linux и потратил вечер на настройку.

Перейдя на Google Cloud, я сконфигурировал узел на дистрибутиве Debian Jessie. Процесс занял час, так как пакет Tor был доступен для скачивания через команду  apt-get  и настроен для работы в консольной среде. В результате узел работает уже третий день.

Шаг 1: находим свободные порты

Порт это идентификатор программы или процесса, которая принимает и отправляет данные на сетевом адресе. Зашифрованное соединение SSH использует порт 22, а HTTP — 80 и 8080. Параметр указывается после адреса и двоеточия — example.com:8080.

Для конфигурации узла Tor нужны 1-3 порта. Есть проблема — провайдеры Интернета блокируют большинство из 65 тысяч портов для открытых соединений. Ограничение можно обойти:

  • настроив сервер Tor на VPS;
  • используя VPN.

Я использую первый способ. Если у вас VPN с безлимитным трафиком (около €100 в год) или провайдер оставил открытые порты — настраивайте на локальном компьютере.

Шаг 2: настраиваем сервер

VPS это виртуальный сервер, созданный из программного деления ресурсов физического сервера на части. Заказать можно у провайдеров «облачного» хостинга или поискав в Google vps.

Главное — создавать виртуальный сервер на Debian или Ubuntu c высоким лимитом трафика и небольшой производительностью.

В настройках безопасности (firewall) сервера разрешите входящие соединения через TCP, порты 9001, 9030, 9050 и 22 (обычно включён по умолчанию).

Ещё — найдите/запомните имя пользователя и пароль.

Шаг 3: устанавливаем Tor

Подключитесь к серверу через SSH: на Mac командой ssh в терминале; на Windows посредством PuTTY. Параметры узнавайте в документации и панели управления хостера.

Потом установите Tor командой sudo apt-get install tor --fix-missing.

Шаг 4: изучаем файл torrc

Torrc — файл конфигурации Tor. Он выглядит так:

SocksPort <порт>
ORPort <порт>
DirPort <порт>
ExitPolicy reject *:*
Log notice file <путь>
Nickname <никнейм сервера>
ContactInfo <имя [at] сервер> — <адрес Bitcoin>
AccountingMax Gbytes
AccountingStart month <число месяца> <время ЧЧ:ММ>

Расшифруем:

  1. ORPort <>, SOCKSPort <> и DirPort <> определяют входящие порты соединения;
  2. ExitPolicy reject : запрещает Tor делать выходной узел из сервера;
  3. Log notice file <путь> говорит Tor, куда писать логи;
  4. Nickname <> это идентификатор узла;
  5. ContactInfo —  указывает, как связаться с владельцем сервера. Имя ящика лучше маскировать. Кошелёк Bitcoin — для пожертвований;
  6. AccountingMax <> GBytes ограничивает трафик Tor, проходящий через узел. Чтобы не переплатить, узнайте месячный лимит сервера, поделите на два и вставьте в torrc;
  7. AccountingStart month <> <> — момент времени, когда Tor будет сбрасывать счётчик трафика.

Скачивайте пример файла конфигурации в следующем шаге. Если создаёте сервер через VPN на локальной машине, пишите свой torrc. Исходник: gitweb.torproject

Шаг 5: закачиваем torrc

Для загрузки torrc на сервер:
1. Скачайте и распакуйте архив.
2. Откройте файл в текстовом редакторе и замените данные в фигурных скобках на собственные. Сохраните.
3. Загрузите документ на сервер в директорию /home/&lt;имя пользователя&gt; через графический SFTP-клиент Cyberduck.
4. На VPS выполните команду sudo mv /home/&lt;имя пользователя&gt;/torrc /etc/tor.

Перезапустите сервер командой sudo reboot. Подключитесь через две минуты после рестарта и запустите процесс tor.

Шаг 6: проверяем логи

Установите текстовый редактор командой sudo apt-get install emacs. Откройте лог-файл Tor — emacs /home/имя пользователя/notices.log. Если вы всё настроили правильно, то последние записи похожи на следующие:

Apr 10 [09:04:14].000 [notice] Now checking whether ORPort 182.123.134.[2:90]01 and DirPort 182.123.134.[2:90]30 are reachable... (this may take up to 20 minutes -- look for log messages indicating success)
Apr 10 [09:09:50].000 [notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
Apr 10 [09:09:55].000 [notice] Performing bandwidth self-test...done.
Apr 10 [09:11:20].000 [notice] Self-testing indicates your DirPort is reachable from the outside. Excellent.

Если в логах только первая запись — проверьте, открыты ли в настройках безопасности порты Tor.

Шаг 7: мониторим сервер

Чуть выше, в лог-файле, есть строка вроде:
Apr 10 09:04:11.000 [notice] Your Tor server's identity key fingerprint is ‘relayname 5205KLB8A93C54F218FR4D80C017794D58A22B1M'

Скопируйте имя или код сервера (fingerprint). Через несколько часов после подтверждения конфигурации в логах, проверьте состояние узла на Atlas или Globe.

Жизненный цикл сервера:

  • в первые три дня трафика почти нет;
  • с третьего по восьмой день нагрузка растёт;
  • с девятого по 68 день узел подтверждает свою надёжность сети Tor;
  • с 69 дня «нод» работает стабильно.

Заключение

Конфигурация узла Tor занимает час и стоит $5 в месяц. Рабочий сервер не приносит денег, но служит благой цели — анонимизации и борьбе с несанкционированной слежкой в Интернете.