Tor: от азов до продвинутого уровня (ч. 8): Служба Tor в Linux

Оглавление

1. Знакомство с Tor

2. Tor в Windows: установка службы, создание скрытого сервиса, использование браузерами и для пентеста

3. Как сделать свой прокси с Tor’ом в Windows

4. Подсказки по использованию браузера и службы Tor

5. Как перенаправить весь трафик через сеть Tor в Linux

6. Как получить красивое доменное имя для скрытого сервиса Tor

7. Анонимные сканирования с Nmap, sqlmap и WPScan через Tor

8. Служба Tor в Linux

8.1 Как установить Tor в Linux

8.2 Как запустить службу Tor

8.3 Как запустить службу tor без перевода в фон

8.4 Файлы настроек Tor

8.5 Настройка журналов Tor

8.6 Как запустить службу Tor с опциями

8.7 Как просмотреть логи Tor

8.8 Как пользоваться службой Tor в Linux

8.9 Решение проблем с Tor

9. Опции тонкой настройки Tor

10. Рецепты и подсказки по использованию Tor


Как установить Tor в Linux

Пакет Tor доступен в большинстве дистрибутивов Linux и может быть установлен из стандартных репозиториев.

Установка Tor в Debian, Linux Mint, Ubuntu, Kali Linux и их производные:

sudo apt install tor

Установка Tor в Arch Linux, BlackArch и их производные:

sudo pacman -S tor

Для запуска Tor не требуется какая-либо настройка — у программы уже установлены значения по умолчанию для опций. Тем не менее вы можете поменять множество параметров работы Tor с помощью опций командной строки и директив в конфигурационном файле.

Как запустить службу Tor

Для запуска используйте команду:

sudo systemctl start tor

Для проверки статуса:

systemctl status tor

Для добавления службы Tor в автозагрузку, чтобы она запускалась при каждом включении компьютера:

sudo systemctl enable tor

Для остановки службы Tor:

sudo systemctl stop tor

Для удаления из автозарузки:

sudo systemctl disable tor

Как запустить службу tor без перевода в фон

Показанные выше способы запуска tor превращают его в демона — то есть процесс, который работает в фоне и отсоединён от консоли.

Если вам нужно, чтобы служба Tor не уходила в фон, например, для отладки и чтобы её можно было бы закрыть комбинацией клавиш CTRL+c, то запустите службу Tor следующим образом в Debian и производных:

sudo -u debian-tor tor

В Arch Linux, BlackArch и производных запуск выполняется так:

sudo -u tor tor

На самом деле, программе tor необязательны привилегии суперпользователя. Но для работы службы нужны файлы и директории (/var/lib/tor) права на которые закрыты для всех пользователей (даже для root) и которые принадлежат пользователю debian-tor или tor (имя пользователя зависит от дистрибутива). По этой причине используется sudo с опцией -u, после которой идёт имя пользователя, от имени которого выполняется команда.

Пример запуска tor без демонизации:

Строки, содержащие слово Bootstrapped показывают прогресс подключения к сети Tor. Когда всё готово для полноценного обмена информации с Интернетом через сеть Tor, будет выведено:

Bootstrapped 100% (done): Done

Файлы настроек Tor

Главным конфигурационным файлом службы Tor является /etc/tor/torrc. Этот файл содержит только комментарии, то есть по умолчанию не устанавливает никакие настройки. У службы Tor предусмотрены значения по умолчанию для всех настроек. По этой причине, файл не является обязательным — если он отсутствует, служба Tor всё равно запустится.

Если файл /etc/tor/torrc не найден, то будет сделана попытка найти файл $HOME/.torrc. Если такого файла тоже нет, то Tor просто продолжит загрузку.

Имеется ещё один конфигурационный файл с настройками по умолчанию: /etc/tor/torrc-defaults. Задумка в том, что он должен содержать дефолтные опции, которые могут быть перезаписаны файлами /etc/tor/torrc или $HOME/.torrc. Но на практике этот файл даже не поставляется с пакетом Tor.

Далее рассмотрим несколько опций связанных с конфигурационными файлами. Эти опции можно указать при запуске службы файлом tor.

--verify-config

Проверка конфигурационного файла Tor на правильность.

Запуск зависит от имени пользователя tor в системе:

sudo -u debian-tor tor --verify-config

Или так:

sudo -u tor tor --verify-config

-f ФАЙЛ

Указывает новый конфигурационный файл, содержащий дальнейшие конфигурационные опции Tor. Если указать - (тире), то опции будут считываться из стандартного ввода. По умолчанию /etc/tor/torrc или, если этот файл не найден, тогда $HOME/.torrc).

--allow-missing-torrc

Не требовать, чтобы конфигурационный файл, указанный опцией -f, существовал, если можно получить доступ к дефолтному torrc).

--defaults-torrc ФАЙЛ

Указывает файл, в котором искать дефолтные значения для опций Tor. Содержимое этого файла перезаписываются обычными конфигурационными файлами и опциями из командной строки (по умолчанию /etc/tor/torrc-defaults).

--ignore-missing-torrc


Указывает, что Tor должен обрабатывать отсутствующий файл torrc так, как если бы он был пустым. Обычно Tor делает это из-за отсутствия дефолтных файлов torrc, но не для файлов, указанных в командной строке.

Настройка журналов Tor

Настройка логов Tor выполняется в конфигурационном файле с помощью директивы Log. Эта директива состоит из трёх компонентов:

Log УРОВЕНЬ_СЕРЬЁЗНОСТИ ИСТОЧНИК_ВЫВОДА

УРОВЕНЬ_СЕРЬЁЗНОСТИ может быть: debug, info, notice, warn и err. Допустимо указывать диапазоны вида:

Log МИНИМАЛЬНАЯ_СЕРЬЁЗНОСТЬ-МАКСИМАЛЬНАЯ_СЕРЬЁЗНОСТЬ ИСТОЧНИК_ВЫВОДА

В качестве ИСТОЧНИК_ВЫВОДА могут быть:

  • stderr — стандартный вывод ошибок
  • stdout — стандартный вывод
  • syslog — системный жунрал (только для Unix)
  • file ИМЯ_ФАЙЛА — сохранение журнала в файл

Например, чтобы выводить сообщения уровня notice в стандартный вывод, нужно записать так:

Log notice stdout

Для вывода сообщений от уровня info до уровня err в файл tor.log нужно записать в конфигурационный файл следующую директиву:

Log info-err file /var/lib/tor/tor.log

Директиву Log можно указывать несколько раз.

Как запустить службу Tor с опциями

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

При этом можно запустит службу в командной строке с указанием опций, используемых в конфигурационном файле, для этого используйте команду вида:

tor ОПЦИЯ ЗНАЧЕНИЕ

Поскольку в большинстве случаев нужно запускать службу от имени пользователя debian-tor или tor, то команды должны быть примерно такими (для Debian и производных):

sudo -u debian-tor tor ОПЦИЯ1 ЗНАЧЕНИЕ1 ОПЦИЯ2 ЗНАЧЕНИЕ2 ОПЦИЯ3 ЗНАЧЕНИЕ3

В Arch Linux, BlackArch и производных запуск выполняется так:

sudo -u tor tor ОПЦИЯ1 ЗНАЧЕНИЕ1 ОПЦИЯ2 ЗНАЧЕНИЕ2 ОПЦИЯ3 ЗНАЧЕНИЕ3

Пример запуска службы Tor с опциями для замены их значений из конфигурационного файла:

sudo -u tor tor SocksPort 9100 DNSPort 53000

Если ЗНАЧЕНИЕ для ОПЦИИ состоит из более чем одного слова, либо включает в себя специальные символы, то его необходимо поместить в кавычки, например:

sudo -u tor tor Log 'info stdout'

О правилах переписывания или добавления значений опций смотрите в следующем разделе.

Как просмотреть логи Tor

Просмотреть логи Tor можно различными способами, один из вариантов:

journalctl -u tor

Обратите внимание, что если у вас Debian или проихводный от этого дистрибутива, то в предыдущей и следующей нужно вместо tor указывать пользователя debian-tor, например:

journalctl -u debian-tor

Например, для вывода последних 100 записей:

journalctl -u tor | tail -n 100

Также можно просмотреть события Tor с помощью:

journalctl -u "tor.service"

или с:

journalctl /usr/bin/tor

Как пользоваться службой Tor в Linux

После запуска службы Tor на вашем компьютере становится доступным прокси SOCKS. Если вы не знаете, что это такое, то рекомендуется ознакомиться со статьёй «Всё о прокси: виды, как пользоваться, как проверить качество прокси».

Данный прокси доступен на IP адресе и порте localhost:9050.

О том, как настроить прокси в Linux смотрите здесь.

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

Помните, что в качестве IP адреса нужно указывать localhost, а в качестве номера порта 9050.

Многие программы умеют работать с SOCKS4 и SOCKS5 напрямую:

curl --socks5 localhost:9050 suip.biz/ip/

Сравните с выводом:

curl suip.biz/ip/

Если программа поддерживает только HTTP/HTTPS прокси, но не умеет работать с SOCKS, то в качестве медиатора используйте программу Privoxy или ProxyChains-NG.

Решение проблем с Tor

Ошибка «Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running?»

Если вы столкнулись с ошибками «Could not bind to …: Address already in use.», например:

Nov 07 10:34:13.816 [notice] Opening Socks listener on 127.0.0.1:9050
Nov 07 10:34:13.816 [warn] Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running?
Nov 07 10:34:13.816 [notice] Opening DNS listener on 127.0.0.1:5353
Nov 07 10:34:13.816 [notice] Opened DNS listener on 127.0.0.1:5353
Nov 07 10:34:13.816 [notice] Opening Transparent pf/netfilter listener on 127.0.0.1:9040
Nov 07 10:34:13.816 [warn] Could not bind to 127.0.0.1:9040: Address already in use. Is Tor already running?
Nov 07 10:34:13.816 [notice] Closing partially-constructed DNS listener on 127.0.0.1:5353
Nov 07 10:34:13.816 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
Nov 07 10:34:13.816 [err] Reading config failed--see warnings above.

То это означает, что порты, которые пытается прослушивать Tor, уже заняты другим процессом, возможно, другим запущенным экземпляром Tor. Для исправления этой ситуации, остановите другой экземпляр службы tor или найдите программу, которая занимает этот порт, для этого смотрите 4 способа узнать, какие порты прослушиваются в Linux.

Ошибка «Directory /var/lib/tor cannot be read: Permission denied»

Ошибка:

Nov 07 12:56:43.834 [warn] Directory /var/lib/tor cannot be read: Permission denied
Nov 07 12:56:43.834 [warn] Failed to parse/validate config: Couldn't create private data directory "/var/lib/tor"
Nov 07 12:56:43.834 [err] Reading config failed--see warnings above.

Возникает в том случае, когда у процесса tor недостаточно прав для доступа к папке /var/lib/tor. Нужно запустить процесс tor от имени соответствующего пользователя debian-tor или tor следующим образом:

sudo -u debian-tor tor
#ИЛИ
sudo -u tor tor

Ошибка «/var/lib/tor is not owned by this user»

Если возникают такие ошибки:

Nov 07 10:34:52.481 [warn] /var/lib/tor is not owned by this user (root, 0) but by tor (43). Perhaps you are running Tor as the wrong user?
Nov 07 10:34:52.481 [warn] Failed to parse/validate config: Couldn't create private data directory "/var/lib/tor"
Nov 07 10:34:52.481 [err] Reading config failed--see warnings above.

То это означает, что вы запускаете Tor от пользователя root, а нужно запускать от имени пользователя debian-tor или tor следующим образом:

sudo -u debian-tor tor
#ИЛИ
sudo -u tor tor

Рекомендуется Вам:

Добавить комментарий

Ваш e-mail не будет опубликован.