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 в автозагрузку, чтобы она запускалась при каждом включении компьютера:
Для остановки службы 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, будет выведено:
Файлы настроек 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 в системе:
-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. Эта директива состоит из трёх компонентов:
УРОВЕНЬ_СЕРЬЁЗНОСТИ может быть: debug, info, notice, warn и err. Допустимо указывать диапазоны вида:
В качестве ИСТОЧНИК_ВЫВОДА могут быть:
Например, чтобы выводить сообщения уровня notice в стандартный вывод, нужно записать так:
Для вывода сообщений от уровня info до уровня err в файл tor.log нужно записать в конфигурационный файл следующую директиву:
Директиву Log можно указывать несколько раз.
Как запустить службу Tor с опциями
У Tor много опций, которые имеют значения по умолчанию. Эти значения могут быть изменены в конфигурационных файлах Tor о которых рассказано в следующем разделе.
При этом можно запустит службу в командной строке с указанием опций, используемых в конфигурационном файле, для этого используйте команду вида:
Поскольку в большинстве случаев нужно запускать службу от имени пользователя debian-tor или tor, то команды должны быть примерно такими (для Debian и производных):
В Arch Linux, BlackArch и производных запуск выполняется так:
Пример запуска службы Tor с опциями для замены их значений из конфигурационного файла:
Если ЗНАЧЕНИЕ для ОПЦИИ состоит из более чем одного слова, либо включает в себя специальные символы, то его необходимо поместить в кавычки, например:
О правилах переписывания или добавления значений опций смотрите в следующем разделе.
Как просмотреть логи Tor
Просмотреть логи Tor можно различными способами, один из вариантов:
Обратите внимание, что если у вас Debian или проихводный от этого дистрибутива, то в предыдущей и следующей нужно вместо tor указывать пользователя debian-tor, например:
Например, для вывода последних 100 записей:
Также можно просмотреть события Tor с помощью:
Как пользоваться службой Tor в Linux
После запуска службы Tor на вашем компьютере становится доступным прокси SOCKS. Если вы не знаете, что это такое, то рекомендуется ознакомиться со статьёй «Всё о прокси: виды, как пользоваться, как проверить качество прокси».
Данный прокси доступен на IP адресе и порте localhost:9050.
О том, как настроить прокси в Linux смотрите здесь.
Помните, что некоторые программы имеют свои собственные настройки прокси и могут игнорировать общесистемные установки:

Помните, что в качестве IP адреса нужно указывать localhost, а в качестве номера порта 9050.
Многие программы умеют работать с SOCKS4 и SOCKS5 напрямую:
Сравните с выводом:
Если программа поддерживает только 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.», например:
То это означает, что порты, которые пытается прослушивать Tor, уже заняты другим процессом, возможно, другим запущенным экземпляром Tor. Для исправления этой ситуации, остановите другой экземпляр службы tor или найдите программу, которая занимает этот порт, для этого смотрите 4 способа узнать, какие порты прослушиваются в Linux.
Ошибка «Directory /var/lib/tor cannot be read: Permission denied»
Возникает в том случае, когда у процесса tor недостаточно прав для доступа к папке /var/lib/tor. Нужно запустить процесс tor от имени соответствующего пользователя debian-tor или tor следующим образом:
Ошибка «/var/lib/tor is not owned by this user»
Если возникают такие ошибки:
То это означает, что вы запускаете Tor от пользователя root, а нужно запускать от имени пользователя debian-tor или tor следующим образом:
Настройка тор в линукс
Подключаем репозиторий. Для чего в файле /etc/apt/sources.list прописываем следующее:
Так же репозиторий можно добавить выполнив следующую команду:
Если у вас другая версия Debian (или Ubuntu), то вместо «wheezy» прописываем кодовое имя своего дистрибутива. Это так же актуально и для Ubuntu.
Обновляем репозитории и устанавливаем.
Далее редактируем конфигурационный файл по адресу /etc/tor/torrc и приводим его к следующему виду:
На этом конфигурация готова. Перезагружаем TOR.
Для анализа работы и статистики, можно использовать консольный клиент tor-arm.
Для установки нужно выполнить следующее:
Для входа просто наберите в командной строке «arm» (без кавычек). Для навигация используйте клавишу «m», для выхода «q».
Если ARM (или любая другая программа для взаимодействия и управления TOR сервером) располагается на удалённом компьютере, то в конфигурацию необходимо добавить следующее:
Если вы хотите использовать TOR как точку выхода, то уберите из конфигурации строку «ExitPolicy». Если TOR работает как точка выхода, но вы хотите ограничить ей доступ к некотором портам, то добавьте в конфигурацию строку подобного типа:
Это означает, что через вашу точку выхода доступ возможен только к IRC портам (6660-6667) и никуда больше. Либо добавьте подобную строку:
Тут обратная ситуация. Доступ возможен ко всем ресурсам сети, кроме IRC.
На этом всё. Стоит заметить, что по умолчанию TOR будет работать и без конфигурационного файла. Но клиентский доступ к нему будет возможен только с локальной машины (127.0.0.*), при этом сервер будет работать в режиме как промежуточного реле, так и точки выхода.
Установка Tor
Содержание
В статье будет рассмотрена работа через Tor с обычными браузерами, что не гарантирует анонимность. Если вы хотите большей безопасности, установите Tor согласно данной официальной инструкции.
Установка Tor
Устанавливаем необходимые пакеты.
При необходимости получения последней версии Tor (к примеру, для обфускации трафика) нужно установить пакеты из официальных репозиториев согласно данной инструкции.
Настройка
Бэкап базовой и новая конфигурация для privoxy:
Вставляем следующее и сохраняем:
Настроим Tor в браузере.
Использовать torbutton для свежих версий firefox не рекомендуется (torbutton предназначен для версий firefox, включаемых в состав tor browser bundle). Скачать torbutton можно по следующим ссылкам:
Для быстрого переключения в любом браузере можно использовать любое дополнение, предназначенное для переключения прокси (proxy switcher).
Хочу отметить, что для Google Chrome единственным работоспособным расширением оказалось Proxy SwitchySharp.
Проверка
В настройках прокси (перечень дополнений для переключения прокси дан в предыдущем разделе) указываем следующие параметры:
Данная конфигурация будет действовать при использовании настроек, указанных в статье.
Переключаем прокси в браузере.
Проверяем, видит ли нас Большой Брат:
При использовании иных программ (к примеру, Pidgin) в их настройках нужно установить прокси по протоколу socks 4a или 5.0 с указанными выше настройками.
Получение нового НИМа (смена конечной ноды Tor)
Зачастую Tor используется в качестве обычного прокси. Если вас не устроила текущая выходная нода, ее легко менять с помощью скрипта.
Задаем пароль new_tor_password для доступа к Tor по telnet и получаем в ответ его хэш в виде строки 16:47015F09825889D86059FF44D9562496912AC67CD0EB93DAA25427F194:
Затем дополняем конфиг Tor
Остается создать скрипт со следующим содержимым (обратите внимание, ваш пароль хранится в скрипте в открытом виде!):
дать ему права на выполнение и запускать при необходимости.
Работа с onion-ресурсами
Настройки браузеров для работы с onion-ресурсами
Mozilla Firefox
Chromium/Google Chrome
Заходим в Настройки, выбираем «Показать дополнительные настройки» и в разделе «Личные данные» делаем пункт «Предсказывать сетевые действия для ускорения загрузки страниц» неактивным.
Использование pac-файла для упрощения доступа к onion-ресурсам
С помощью pac-файла можно настроить доступ к определенным доменным именам с помощью конкретных прокси (для доступа к onion-сайту вам не придется вручную переключать прокси). Пример конфигурации такого файла для совместного использования *.i2p и *.onion приведен ниже.
Обход блокировки Tor
Здесь нужно отметить, что Tor Bundle, скачиваемый с официального сайта, предоставляет более удобный механизм работы с обфускацией и мостами, чем представленный ниже в этом руководстве.
Обфускация трафика
Нам нужно обновить Tor до последней stable-версии из официального репозитория и установить утилиту для обфускации (проверяйте на официальном сайте torproject.org информацию о наиболее актуальных утилитах обфускации: чем новее утилита, тем сложнее расшифровать ваш трафик). Актуальной на момент конца 2016-го года является утилита obfs4proxy. Ищем нужный нам пакет в репозиториях Ubuntu:
Если его там не окажется, установим его из репозиториев Torproject:
Добавляем в конец файла следующую строку:
И обновляем информацию о репозиториях:
После этого заменяем содержимое файла /etc/tor/torrc следующим
Если при перезапуске Tor в логе
вы увидели подобное:
Чтобы убедиться в правильности работы настроенного Tor, проверьте содержимое /var/log/tor/log на наличие следующих строк:
Использование мостов
Мосты мы будем использовать при настроенной обфускации трафика (смотри предыдущий пункт). Чтобы получить мосты, заходим сюда либо отправляем на адрес bridges@bridges.torproject.org письмо с темой get transport obfs4 и ждем в ответ список из трех адресов следующего вида:
После этого остается изменить файл /etc/tor/torrc следующим образом: добавить в начало данные адреса в следующем формате:
Использование Tor через IPv6
Установим IPv4-IPv6 туннель Miredo:
Теперь мы можем работать с IPv6. Остается небольшой шаг для настройки Tor. Если вы используете Tor Browser, вам нужно зайти в подкаталог /path/to/tor/tor-browser_en-US/Browser/TorBrowser/Data/Tor/ и отредактировать файл torrc. Смело удаляйте все содержимое конфига и вставляйте туда единственную строку:
Остальное содержимое конфига Tor при запуске дополнит самостоятельно. Произведенная нами настройка запретит Tor’у подключаться к IPv4-адресам, которые могут блокироваться вашим провайдером. Здесь стоит отметить, что что в будущем могут блокироваться и IPv6-адреса, но на данный момент ни в России, ни в Беларуси этого не происходит. Если вы под Linux используете установленный пакет Tor, приведите свой конфиг /etc/tor/torrc к примерно такому виду:
Заметьте, при использовании IPv6 можно по-прежнему обфусцировать трафик.
Как будет работать Tor при наших настройках? Первой из трех узлов в цепи Tor станет поддерживающая IPv6 нода, доступ к которой не заблокирован. Выходной останется IPv4-нода.
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Tor: от азов до продвинутого уровня (ч. 11): Настройка скрытого сервиса Tor в Debian (Kali Linux, Linux Mint, Ubuntu)
Оглавление
Что такой скрытый сервис Tor и как его сделать
Если вы уже используете скрытые сервисы TOR, то убедитесь, что у вас адрес и ключи третьей версии. То есть ранее адреса были примерно такие:
А теперь стали примерно такие:
В октябре 2021 скрытые сервисы TOR Onion версии 2 перестанут работать. Уже некоторое время при автоматической генерации домена для скрытого сервиса используется TOR Onion v3 vanity. Но если вы по-прежнему используете старую, вторую версию, то вам нужно переходить на третью с новым адресом, а старый адрес использовать для информирования ваших посетителей.
Данная инструкция по настройке скрытого сервиса Tor покажет его настройку в Kali Linux, но она подойдёт для всех производных Debian, в том числе для Linux Mint и Ubuntu. Если у вас дистрибутив на основе Arch Linux, то для вас инструкция «Настройка скрытого сервиса Tor в Arch Linux / BlackArch».
Скрытые сервисы Tor имеют доменные имена с расширениями .onion
Скрытые сервисы доступны только из сети Tor. Например, вы можете открыть эти адреса, если вы используете Tor Browser. Для скрытого сервиса не нужен белый IP, поскольку роутинг трафика осуществляется внутри сети Tor и она полностью ответственна за обмен данных.
Как уже было сказано, не нужен белый IP, единственное требование – компьютер должен быть включён и должен быть подсоединён к сети Tor. Также требуется веб-сервер. На сервере вы можете использовать любые технологии, в том числе Apache, PHP, системы управления базами данных и прочее – всё, что сможете установить на свой компьютер или свой сервер. Для установки веб-сервера рекомендуется статья «Установка LAMP «Азы работы с веб-сервером для пентестера».
Подразумевается, что вы прочитали статью по ссылке и у вас уже установлен веб-сервер и вы его запустили:
Настройка виртуального хоста скрытого сервиса Tor
Начать нужно с настройки виртуального хоста. Нужно сделать, чтобы этот виртуальный хост был доступен только в локальной сети. Поскольку если он будет доступен глобально, можно очень легко потерять свою «скрытость».
Откройте конфигурационный файл Apache:
Там у меня имеется строка
То есть Apache прослушивает входящие соединения как пришедшие локально, так и из вне. То есть если кто-то захочет подключиться к вашему веб-серверу, то если он находится в вашей локальной сети или у вас белый IP, он сможет это сделать. Если вам это не нужно, то замените строку на следующую:
Веб-сервер будет прослушивать порт 80 только на локальном IP 127.0.0.1.
Теперь я создаём конфигурационный файл виртуального хоста для скрытого сервиса:
В него вставляем следующее:
В принципе, вам достаточно отредактировать в нём только строчку DocumentRoot «/var/www/html/onion» – она показывает путь до вашего веб-сайта, который будет скрытым сервисом Tor.
Не забудьте создать эту директорию:
Активируйте виртуальный хост:
В эту папку разместите любые свои файлы и перезапустите веб-сервер:
Поместите в папку /var/www/html/onion какие-нибудь файлы и проверьте работоспособность сервера:
Если всё работает, то продолжаем.
Подключение локального веб-сервера к сети Tor в качестве скрытого сервиса Tor
Нам нужно начать с установки Tor:
Найдите там строки:
Первая строка указывает, где будет храниться сгенерированное доменное имя и секретный ключ. Её достаточно просто раскоментировать, чтобы получилось:
Вторую строку тоже надо раскоментировать. Первая цифра – это порт, на котором будет размещён ваш скрытый сервис – лучше не меняйте, чтобы пользователя не пришлось вручную указывать нестандартный порт. Следующая строка – это локальный адрес вашего виртуального хоста на веб-сервере. IP должно остаться прежним, а порт в случае необходимости поменяйте на тот, который вы назначили виртуальному хосту веб-сервера. В моём случае это также 80:
Запустите (или перезапустите, если она была установлена ранее) службу Tor:
Проверьте её статус:
Добавьте службу в автозагрузку (по желанию):
Чтобы узнать своё доменное имя наберите:
Теперь это доменное имя сообщайте клиентам вашего скрытого сервиса Tor. Эти сайты можно открыть только через сеть Tor. В обычном Интернете они недоступны.
Если вам нужно несколько скрытых сервисов Tor, то создайте необходимое количество виртуальных хостов веб-сервера и используйте строки
столько раз, сколько вам нужно. Для каждого сервиса нужно указать свою директорию, в которой размещено доменное имя и приватный ключ.

При каждом изменении настроек Tor не забывайте перезапускать службу:
Tor Browser для Linux
Тор чрезвычайно ценится среди пользователей, заинтересованных в сохранении анонимности и личных данных в ходе веб-серфинга. Связано это с тем, что разработчики интернет-обозревателя сделали основной акцент на защищенности. И вполне логично, что он был в кратчайшее время портирован для операционной системы Линукс. Ведь она тоже славится своей безопасностью, при правильной эксплуатации, разумеется. Tor Browser для Linux предельно прост в инсталляции, настройке и использовании, если знать порядок действий. Специально для вашего удобства мы подготовили понятную инструкцию.
Руководство
Мы решили разбить статью на две основных части. В первой пойдет речь непосредственно о процедуре инсталляции, применимой к большинству сборок Линукс (Ubuntu, Debian и многие другие). А во второй будет рассмотрен первый запуск приложения и его настройка для правильного подключения.
Шаг №1: Инсталляция
И начнем мы именно с процедуры установки Tor Browser на Linux. Распишем ее в пошаговом варианте:
Шаг №2: Первый запуск и настройка
При первом запуске пользователю нужно выполнить настройку Tor для Linux. Кнопка Connect применит стандартные параметры подключения, а спустя некоторое время откроется сам интернет-обозреватель.

Скачать браузер Тор для Линукс на официальном сайте проекта 32-bit (sig) / 64-bit (sig)