Это старая редакция страницы Библиотека / Руководства / Сетевая Анонимность / Продвинутое Использование Torв Unix / Раздельное Использование Torbrowserс Системным Torи Прозрачная Торификация за 16/02/2015 10:47.
Раздельный запуск Torbrowser от нескольких пользователей с общим системным Tor-процессом и локальная прозрачная торификация
Цель варианта
- Использовать торбраузер с локальным системным тором вместо поставляемого в составе TBB.
- Осуществить одновременную работу нескольких пользователей системы через системный тор с построением различных цепочек для каждого пользователя как посредством прозрачной торификации на разные порты TransPort, DNSPort, так и посредством подключения к разным портам SocksPort.
- Все пакеты, посланные из под конкретного пользователя торбраузером должны направляться файрволлом только на определённые порты локального хоста, связанные с работой системного тора. Это существенно исключает возможность утечки пакетов при уязвимостях в торбраузере, но существенно не защищает от преднамеренных целевых атак на данную конфигурацию.
Выявленные недоработки, недостатки, существенные ограничения
- Изменения опций торификации в текущей версии TorBrowser/TorButton, меняющие SocksPort на значение, отличающееся от 9050, не дают никакого результата. TorBrowser или перестаёт работать, или продолжает работать только через порт 9050, хотя в настройках Torbutton указаны другие значения. Изменить порт назначения пакетов 9050 при помощи iptables также не получается (выяснить почему). Однако, в последних версиях TBB корректно работает прозрачная торификация, но в отличие от работы через SOCKS, такой вариант ставит анонимность пользователя в критическую зависимость от правильной конфигурации и работы файрволла.
- Если торбраузеры разнести по портам, то опция смены профиля "change new identity" будет приводить к смене цепочек хотя и на разные значения, но одновременно для всех тор-портов и всех подключенных к ним программ. Это может быть нежелательно при одновременной работе нескольких пользователей.
- Требуется открытие управляющего порта. Возможно подключение к системному тору локальных пользователей с целью получить над ним управление, используя уязвимости механизма аутентификации. Связь управляющих программ настроена через один управляющий тор-порт через аутентификацию по cookie-файлу, что может привести к перехвату управления над системным тором при локальных уязвимостях в пользовательских программах.
- Недостатков, потенциальных уязвимостей и возможностей раскрытия анонимности потенциально больше, чем здесь перечислено. Используйте продвинутые настройки только если уверены в том, что делаете. Пока что не рассчитывайте увеличить свою безопасность с помощью настроек из этого варианта, используйте его в целях экспериментирования и изучения дополнительных возможностей программы Tor. Для практической анонимности используйте более консервативные варианты.
Конфигурация тор
Остановите системный тор: /etc/init.d/tor stop. Если в текущей версии с этим есть проблемы, используйте kill.
Закомментируйте в конфиг-файле /etc/tor/torrc опцию SocksListenAddress 127.0.0.1. Она устарела, по умолчанию тор слушает только локальные соединения.
В случае проблем с запуском /etc/init.d/tor start, можно в ответ на соответствующие ошибки добавлять опции:
Для прозрачной торификации по умолчанию и для работы через SocksPort тора используются опции:
Следует добавить нужное количество дополнительных портов:
Поскольку порт 9051 занят, то добавим опции управляющего порта:
Запуск тор /etc/init.d tor start не должен приводить к ошибкам и должен показывать, что все внесённые в конфиг порты работают нормально.
Настройка iptables
Во многих системах по-умолчанию используется сложный механизм инициализации, конфигурирования и хранения конфигов iptables. Подразумевается, что этот механизм отключен, а вместо него используется шелл-скрипт, который пользователь поддерживает самостоятельно. В Debian/Linux он может быть размещён, например, в /etc/network/if-pre-up.d. Здесь приведены только фрагменты такого скрипта, относящиеся к рассматриваемому варианту торификации.
Закроем снаружи все открытые тор-порты, даже если они принимают только локальные соединения:
Сделаем исключение из обработки для пакетов идущих на локальный хост. Проверить, нужно ли это правило? Не из-за него ли не работает перенаправление с SocksPort 9050 на другие порты, т.к. торбраузер уже посылает пакеты на локалхост? Следует ли внести "исключения из этого исключения", например для Socks-портов?
Правило для первого анонимного пользователя:
По аналогии, правило для второго анонимного пользователя:
Разрешим выход наружу самому системному тору:
Использование tor-arm
Использование пакета Vidalia с системным Tor нецелесообразно из-за полного сворачивания её поддержки. Рекомендуется завести отдельно пользователя, включить его в группу tor-arm и запускать из под него утилиту tor-arm.
Следует избегать запуска tor-arm из под пользователя debian-tor, несмотря на то, что такая рекомендация имеется в пакете и долгое время оставалась неисправленной.
Настройка торбраузера
Начиная с четвёртой версии браузер позволяет автоапдейт. Но в ранних версиях четвёртой ветки стабильность и безопасность этого механизма не гарантируется. Даже после его стабилизации безопаснее скачивать браузер вручную и проверять контрольные суммы, заверенные подписями GnuPG. Список рекомендуемых версий доступен по ссылке. Скачивание возможно с адреса
Скачанные файлы с подписями и суммами можно разместить в отдельном каталоге и проверить скриптом:
#! /bin/sh
echo "" > file.txt
sha256sum -c sha256sums.txt 2>&1 | grep OK >> file.txt
echo >> file.txt
for a in sha256*.asc ; do
gpg --verify $a sha256sums.txt >> file.txt 2>&1 ;
echo >> file.txt
done
echo >> file.txt
gpg --verify tor-browser-linux64*.asc >> file.txt 2>&1
echo >> file.txt
Перед ручным обновлением рекомендуется экспортировать старые закладки в файл, удалить старый распакованный каталог TBB. Впоследствии возможно импортировать закладки из файла обратно в новый распакованный браузер (вкладки: Bookmarks — Show all Bookmarks — Import and Backup).
Существует вероятность уязвимости в браузере, приводящая к утечке закладок. Поэтому следует рассмотреть целесообразность хранения определённых закладок торбраузера для конкретного анонимного профиля.
В распакованном каталоге TBB удалите расширение запуска Tor из связки:
При этом в TorButton перестаёт работать опция "New Identity". Для очистки состояния браузера рекомендуется вместо "New Identity" сбрасывать цепочки через tor-arm и перезапускать браузер. Вопрос — нужен ли в таком случае tor-arm, Видалия (в данный момент её поддержка прекращена)? Для смены цепочек можно использовать killall SIGHUP tor (однако эта команда требует рута/sudo).
Использование работы с управляющим портом через telnet описано
здесь и здесь.
В настройках TorButton работа Socks-портов, отличных от 9050 работает не всегда надёжно. Вместо этого пока предлагается использовать опцию прозрачной торификации: "Transparent Torification (Requires custom transproxy or Tor router)".
После установки этой опции при правильно сконфигурированном файрволле TBB должен проходить проверку по кнопке "Test Settings" и сохранять значение после нажатия кнопки "OK" (это может происходить в течении некоторой паузы). Если проверка окончилась неудачно, следует попробовать повторить её после перезапуска. Не все попытки проверок могут быть удачными и на старте Torbrowser из-за таймаутов.
Для смены текущих tor-цепочек можно использовать tor-arm (двойное нажатие клавиши "x"), затем выйти из торбраузера и занового его запустить.
Смена цепочек будет действовать на всех анонимных пользователей одновременно, что может вызвать корреляцию при одновременной работе, особенно с программами, работающими с сетью в фоне.
После сохранения изменений следует перезапустить TBB. Проверку наличия обновлений можно периодически осуществлять и вручную, например по основной ссылке рекомендуемых версий и скачивания новой версии.
Общие рекомендации
Можно запустить два и более TBB из под разных пользователей одновременно. При одновременной проверке они должны показывать разный IP-адрес исходящих узлов. В этом есть и сущностный недостаток такого несвязывания: наблюдатель, например на одном сервисе, может всегда видеть постоянное несовпадение IP-адресов похожих профилей при их одновременной работе. При использовании опции "change new identity" цепочки будут сброшены для нескольких браузеров одновременно, что также может дополнительно снижать анонимность и должно учитываться в некоторых сценариях использования.
Текущие дополнения. Возможности, требующие проверки.
-
Разобраться с настройкой аутентификации системного тора для видалии. Рекомендуется использовать tor-arm -
Выяснить причины невозможности корректной работы в TorBrowser SOCKS-порта, отличающегося от 9050.Вместо этого достаточно использовать прозрачную торификацию не через SOCKS-port.