- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Tor: от азов до продвинутого уровня (ч. 8): Служба Tor в Linux
- Оглавление
- Как установить Tor в Linux
- Как запустить службу Tor
- Как запустить службу tor без перевода в фон
- Файлы настроек Tor
- Настройка журналов Tor
- Как запустить службу Tor с опциями
- Как просмотреть логи Tor
- Как пользоваться службой Tor в Linux
- Решение проблем с Tor
- Ошибка «Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running?»
- Ошибка «Directory /var/lib/tor cannot be read: Permission denied»
- Ошибка «/var/lib/tor is not owned by this user»
- INSTALLATION
- Command-line method
- УСТАНОВКА
- Консольный метод установки
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Tor: от азов до продвинутого уровня (ч. 8): Служба Tor в Linux
Оглавление
Как установить Tor в Linux
Пакет Tor доступен в большинстве дистрибутивов Linux и может быть установлен из стандартных репозиториев.
Установка Tor в Debian, Linux Mint, Ubuntu, Kali Linux и их производные:
Установка Tor в Arch Linux, BlackArch и их производные:
Для запуска Tor не требуется какая-либо настройка — у программы уже установлены значения по умолчанию для опций. Тем не менее вы можете поменять множество параметров работы Tor с помощью опций командной строки и директив в конфигурационном файле.
Как запустить службу Tor
Для запуска используйте команду:
Для добавления службы Tor в автозагрузку, чтобы она запускалась при каждом включении компьютера:
sudo systemctl enable tor
Для удаления из автозарузки:
sudo systemctl disable tor
Как запустить службу tor без перевода в фон
Показанные выше способы запуска tor превращают его в демона — то есть процесс, который работает в фоне и отсоединён от консоли.
Если вам нужно, чтобы служба Tor не уходила в фон, например, для отладки и чтобы её можно было бы закрыть комбинацией клавиш CTRL+c, то запустите службу Tor следующим образом в Debian и производных:
В Arch Linux, BlackArch и производных запуск выполняется так:
На самом деле, программе 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
Указывает новый конфигурационный файл, содержащий дальнейшие конфигурационные опции 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 в стандартный вывод, нужно записать так:
Для вывода сообщений от уровня info до уровня err в файл tor.log нужно записать в конфигурационный файл следующую директиву:
Log info-err file /var/lib/tor/tor.log
Директиву Log можно указывать несколько раз.
Как запустить службу 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 можно различными способами, один из вариантов:
Обратите внимание, что если у вас Debian или проихводный от этого дистрибутива, то в предыдущей и следующей нужно вместо tor указывать пользователя debian-tor, например:
Например, для вывода последних 100 записей:
journalctl -u tor | tail -n 100
Также можно просмотреть события Tor с помощью:
Как пользоваться службой Tor в Linux
После запуска службы Tor на вашем компьютере становится доступным прокси SOCKS. Если вы не знаете, что это такое, то рекомендуется ознакомиться со статьёй «Всё о прокси: виды, как пользоваться, как проверить качество прокси».
Данный прокси доступен на IP адресе и порте localhost:9050.
О том, как настроить прокси в Linux смотрите здесь.
Помните, что некоторые программы имеют свои собственные настройки прокси и могут игнорировать общесистемные установки:
Помните, что в качестве IP адреса нужно указывать localhost, а в качестве номера порта 9050.
Многие программы умеют работать с SOCKS4 и SOCKS5 напрямую:
curl --socks5 localhost:9050 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
INSTALLATION
Note: On Ubuntu and some other distros if you try to launch start-tor-browser.desktop a text file might open up. In that case, you will have to change the default behavior and allow running .desktop files as executables. This setting can usually be found in your file manager.
Command-line method
- When the download is complete, extract the archive with the command tar -xf [TB archive] .
- From inside the Tor Browser directory, you can launch Tor Browser by running: ./start-tor-browser.desktop Note: If this command fails to run, you probably need to make the file executable. From within this directory run: chmod +x start-tor-browser.desktop
Some additional flags that can be used with start-tor-browser.desktop from the command-line:
Flag | Description |
---|---|
—register-app | To register Tor Browser as a desktop application. |
—verbose | To display Tor and Firefox output in the terminal. |
—log [file] | To record Tor and Firefox output in file (default: tor-browser.log). |
—detach | To detach from terminal and run Tor Browser in the background. |
—unregister-app | To unregister Tor Browser as a desktop application. |
УСТАНОВКА
Внимание: На Ubuntu и некоторых других дистрибутивах если вы попробуете запустить start-tor-browser.desktop , может открыться текстовый файл. Чтобы изменить это поведение и вместо этого запускать Tor Browser, выполните следующее:
- Запустите «Файлы» (GNOME Files/Nautilus)
- Откройте Параметры.
- Переключитесь на вкладку ‘Поведение’.
- Выберите «Запустить» или «Спросить что делать» в пункте «Исполняемые текстовые файлы».
- Если вы выбрали последний вариант, нажмите «Запустить» после открытия файла start-tor-browser.desktop .
Консольный метод установки
- Когда загрузка будет завершена, извлеките архив с помощью команды tar -xf [TB archive] .
- В папке Tor Browser вы можете запустить Tor Browser, выполнив: ./start-tor-browser.desktop Внимание: Если эту команду не удалось запустить, возможно, вы должны сделать файл исполняемым. В этой же папке выполните: chmod +x start-tor-browser.desktop
Некоторые дополнительные флаги могут быть использованы с start-tor-browser.desktop в командной строке:
Флаг | Описание |
---|---|
—register-app | Зарегистрировать Tor Browser как приложение рабочего стола. |
—verbose | Показать вывод Tor и Firefox в терминале. |
—log [file] | Сохранить вывод Tor и Firefox в файл (по умолчанию: tor-browser.log). |
—detach | Отсоединить от терминала и запустить Tor Browser в фоновом процессе. |
—unregister-app | Отменить регистрацию Tor Browser как приложения рабочего стола. |