- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Tor: от азов до продвинутого уровня (ч. 1): Знакомство с Tor
- Оглавление
- Что такое Tor
- Для чего используется Tor
- Что выбрать: Tor или VPN или прокси
- В чём именно помогает Tor
- Самый простой способ использовать Tor
- Установка Tor Browser в Windows
- Установка Tor Browser в Linux
- Сервисы для поиска утечек IP адреса
- 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»
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Tor: от азов до продвинутого уровня (ч. 1): Знакомство с Tor
Оглавление
Что такое Tor
Имеется несколько разных компонентов и продуктов в имени которых есть слово «Tor». Чтобы ясно представлять, о чём мы говорим, давайте начнём с определения терминов.
Tor — это программа, которую вы можете запустить на своём компьютере для подключения к сети Tor.
Сеть Tor — это множество компьютеров волонтёров, которые обеспечивают обработку запросов к веб-сайтам и перенаправляют ответ пользователю Tor.
Браузер Tor — это комплекс программ, главными компонентами которого являются: Tor + браузер Firefox + плагины и настройки для повышения уровня анонимности.
Для чего используется Tor
Tor может применяться для разных целей:
- шифрование данных, чтобы их не мог анализировать Интернет-провайдер или посторонние лица в вашей локальной сети или при использовании открытых сетей (пример атаки «Перехват и анализ трафика в открытых Wi-Fi»).
- сокрытие своего IP адреса от конечного веб-сайта
- доступ к заблокированным в вашем регионе веб-сайтам
Что выбрать: Tor или VPN или прокси
Если ваша цель зашифровать передаваемые данные, чтобы их не мог анализировать ваш Интернет-провайдер, то может подойти как Tor, так и свой VPN, который вы настроили сами! Я бы не рекомендовал использоваться какими бы то ни было посторонними VPN, поскольку их владелец может видеть весь передаваемый трафик + IP клиента (то есть ваш IP адрес). Если вы используете сторонний VPN сервис, то вы гарантированно получаете соглядатого, который, как минимум, ещё и знает ваш настоящий IP адрес! Если это платный VPN, то он абсолютно не подходит для анонимности, поскольку сервис VPN знаете не только ваш IP и имеет доступ ко всем передаваемым данным, то и по вашим платёжным реквизитам знает кто вы.
Собственноручно настроенный OpenVPN позволяет шифровать передаваемый трафик и объединять свои устройства в виртуальную частную сеть. Также вы можете скрывать свой настоящий IP адрес и обходить блокировки сайтов. Но для анонимности такой вариант не подходит, поскольку для работы OpenVPN необходима аренда VPS, за которую нужно платить. Хотя если для оплаты вы используете криптовалюту или другие анонимные способы, то OpenVPN поможет вам быть анонимным.
Использование одиночного прокси имеет такие же недостатки, как и VPN: соглядатай + прокси-сервис знает ваш настоящий IP адрес. Дополнительный недостаток в отсутствии шифрования — ваш Интернет провайдер по-прежнему может анализировать ваш трафик и даже блокировать доступ к веб-сайтам.
Ситуация с сокрытием IP улучшается если используется цепочка прокси, поскольку (зависит от настроек), каждый следующий прокси знает IP адрес предыдущего узла (всегда) и IP адрес 1 узла перед предыдущим (иногда). Если учесть, что трафик ни на каком этапе не зашифрован, а определённая часть публичных прокси это просто honeypots (предназначены для эксплуатации пользователей), то вариант с прокси не самый лучший способ обеспечить анонимность.
В чём именно помогает Tor
Конечно, у Tor тоже есть свои слабые стороны. Их меньше, но всё равно нужно чётко их понимать.
Давайте обратимся к «комиксам»:
На этой картинке:
- жёлтый человечек — это пользователь (вы)
- сиреневый человечек — это хакер (на практике присутствует не всегда)
- ISP — провайдер Интернет услуг, который делится информацией с полицией и специальными органами. Ещё там работают системные администраторы, которые также (потенциально) имеют доступ к передаваемым данным. Обратите внимание, что изображено 2 интернет провайдера: для пользователя и для веб-сайта. Для сайта в роли ISP обычно выступает хостинг, но принципиально это ничего не меняет: он также может быть обязан предоставлять информацию правоохранительным органам и там тоже работают системные администраторы.
- человечки NSA — олицетворяют всех других ISP через которых проходят данные, а также разные магистральные соединения
На первом рисунке показано, что они могут видеть если: 1). Веб-сайт не использует HTTPS; 2) Пользователь не использует Tor.
- SITE.COM — сайт, который вы посещаете
- USER/PW — ваше имя пользователя и пароль на этом сайте
- DATA — данные, передаваемые на этот сайт (написанные комментарии, например)
- LOCATION — ваш IP адрес
- TOR — используется ли Tor
Как можно увидеть по первой картинке, каждый может видеть абсолютно всё. Стоит ещё добавить — не только видеть, но и любым образом модифицировать!
Давайте рассмотрим вариант, когда веб-сайт использует HTTPS — в настоящее время подавляющее большинство сайтов используют это шифрование:
Как можно увидеть, соглядатаям доступна только информация о том, какой сайт открыт и кто именно его посетил. Если веб-сайт (хостинг) делится с кем-то информацией, то им доступен полный комплект данных.
Теперь перейдём к варианту, когда используется сеть Tor и когда делается запрос к сайту по HTTP (без использования шифрования HTTPS):
Как можно увидеть, ваш Интернет-провайдер знает ваш IP и знает, что вы используете Tor, но не знает какие именно сайты вы открываете и какие данные отправляете и получаете.
Первый узел Tor знаете ваш настоящий IP и что вы пользуетесь Tor, но больше ничего о передаваемых и запрашиваемых данных не знает.
Второй узел Tor вообще никогда ничего интересного не знает.
А вот с третьим узлом Tor интереснее: он не знаете ваш IP, но он знает передаваемые вами данные и даже ваш логин с паролем. Эта же самая информация доступна соглядатаям на последующих стадиях.
То есть слабые местаTor:
- Выходной узел Tor может быть недобросовестным и собирать данные. Но при всём его желании, он не может вас идентифицировать. Хотя, если в качестве логина вы используете email, то появляются зацепки.
- Трафик от выходного узла Tor до веб-сайта и обратно также незашифрован.
К счастью, как уже было сказано, сайтов без HTTPS уже не так много.
Если одновременно используется Tor, а сайт работает через HTTPS, то ситуация следующая:
Главные изменения — выходной узел Tor и последующие соглядатаи больше не могут получить доступ к передаваемым данным и логину/паролю пользователя. Они знают сайт, который был посещён, но не знают кем именно (ваш IP скрыт) и какие данные отправлены и получены (трафик дополнительно зашифрован SSL сертификатом).
Картинки взяты отсюда: https://www.eff.org/pages/tor-and-https — на этой страничке вы можете нажимать интерактивные кнопки и смотреть, что меняется в зависимости от того или иного варианта.
Самый простой способ использовать Tor
Самым простым вариантом выходить в Интернет через Tor является Tor Browser — как это уже упоминалось в самом начале, это специальная сборка веб-браузера Firefox в которую включён Tor. При запуске этого браузера, одновременно запускается программа Tor, а затем этот браузер подключается к Интернету только через сеть Tor.
Дополнительно в веб-браузере имеются плагины, которые препятствуют слежению за пользователем и способствуют анонимности.
Кроме плагинов, в браузере есть настройки, например, не сохранять историю просмотренных страниц и удалять кукиз после закрытия сайта.
Установка Tor Browser в Windows
Скачайте с официального сайта https://www.torproject.org/ru/download/ самораспаковывающийся архив. Запустите его для распаковки. Перейдите в созданный после распаковки каталог и запустите ярлык Start Tor Browser. Нажмите «Соединиться» и дождитесь подключения браузера к сети Tor.
Если вы хотите, чтобы сайты сохраняли введённые вами пароли, то перейдите в Настройки, далее Приватность, снимите галочку «Всегда работать в режиме приватного просмотра».
Перейдите в Настройки, далее Защита и поставьте галочку напротив «Запоминать логины для сайтов».
Установка Tor Browser в Linux
В первую очередь, поищите пакет Tor Browser в стандартных репозиториях вашего дистрибутива.
В Kali Linux установите Tor Browser по инструкциям на странице: https://kali.tools/?p=2069.
Сервисы для поиска утечек IP адреса
Главные критерии выбора инструмента для обеспечения анонимности своей операционной системы — это функциональность и качество обеспечения анонимности (надёжность перенаправления и блокировки трафика). Оценить уровень анонимности вы можете с помощью следующих сервисов:
- Выявление использования средств анонимизации: https://2ip.ru/privacy/
- Поиск утечек вашего IP или других данных имеющих значение для анонимности: https://whatleaks.com/
- Проверка своего IP, расположения и провайдера Интернет услуг, есть поддержка IPv6 адресов: https://suip.biz/ru/?act=myip
- Сервис для поиска заголовков прокси и открытых портов, типичных для средств анонимизации: http://suip.biz/ru/?act=proxy-checker
- Проверка, используете ли вы сеть Tor: https://check.torproject.org/ (ВНИМАНИЕ: будьте очень осторожны с этим сервисом — он не поддерживает IPv6. Если на вашем компьютере неправильно настроена маршрутизация трафика, то этот сервис напишет, что используется Tor, хотя весь IPv6 трафик может выходить напрямую, раскрывая ваш IPv6 адрес!)
- Поиск разных утечек: http://www.doileak.com/
- Поиск утечек DNS: https://dnsleaktest.com/
- Что каждый веб-браузер знает о вас: https://webkay.robinlinus.com/
- Проверка отпечатков, которые можно собрать с вашего веб-браузера: https://amiunique.org/fp
- Посмотреть свой User Agent: https://suip.biz/ru/?act=my-user-agent
Для проверки в командной строке IPv6 адреса и блокировки IPv6 протокола:
Для проверки в командной строке своего IP адреса:
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. Допустимо указывать диапазоны вида:
В качестве ИСТОЧНИК_ВЫВОДА могут быть:
- stderr — стандартный вывод ошибок
- stdout — стандартный вывод
- syslog — системный жунрал (только для Unix)
- file ИМЯ_ФАЙЛА — сохранение журнала в файл
Например, чтобы выводить сообщения уровня 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 следующим образом: