В статье о 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 <число месяца> <время ЧЧ:ММ>
Расшифруем:
- ORPort <>, SOCKSPort <> и DirPort <> определяют входящие порты соединения;
- ExitPolicy reject : запрещает Tor делать выходной узел из сервера;
- Log notice file <путь> говорит Tor, куда писать логи;
- Nickname <> это идентификатор узла;
- ContactInfo — указывает, как связаться с владельцем сервера. Имя ящика лучше маскировать. Кошелёк Bitcoin — для пожертвований;
- AccountingMax <> GBytes ограничивает трафик Tor, проходящий через узел. Чтобы не переплатить, узнайте месячный лимит сервера, поделите на два и вставьте в torrc;
- AccountingStart month <> <> — момент времени, когда Tor будет сбрасывать счётчик трафика.
Скачивайте пример файла конфигурации в следующем шаге. Если создаёте сервер через VPN на локальной машине, пишите свой torrc. Исходник: gitweb.torproject
Шаг 5: закачиваем torrc
Для загрузки torrc на сервер:
1. Скачайте и распакуйте архив.
2. Откройте файл в текстовом редакторе и замените данные в фигурных скобках на собственные. Сохраните.
3. Загрузите документ на сервер в директорию /home/<имя пользователя>
через графический SFTP-клиент Cyberduck.
4. На VPS выполните команду sudo mv /home/<имя пользователя>/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 в месяц. Рабочий сервер не приносит денег, но служит благой цели — анонимизации и борьбе с несанкционированной слежкой в Интернете.