id: Гость   вход   регистрация
текущее время 19:46 02/05/2024
Владелец: unknown редакция от 16/02/2015 10:47 (автор: unknown) Печать
Категории: софт, анонимность, tor
http://www.pgpru.com/Библиотека/Руководства/СетеваяАнонимность/ПродвинутоеИспользованиеTorвUnix/РаздельноеИспользованиеTorbrowserсСистемнымTorиПрозрачнаяТорификация
создать
просмотр
редакции
ссылки

Раздельный запуск Torbrowser от нескольких пользователей с общим системным Tor-процессом и локальная прозрачная торификация


Оглавление документа:

Цель варианта


  1. Использовать торбраузер с локальным системным тором вместо поставляемого в составе TBB.
  2. Осуществить одновременную работу нескольких пользователей системы через системный тор с построением различных цепочек для каждого пользователя как посредством прозрачной торификации на разные порты TransPort, DNSPort, так и посредством подключения к разным портам SocksPort.
  3. Все пакеты, посланные из под конкретного пользователя торбраузером должны направляться файрволлом только на определённые порты локального хоста, связанные с работой системного тора. Это существенно исключает возможность утечки пакетов при уязвимостях в торбраузере, но существенно не защищает от преднамеренных целевых атак на данную конфигурацию.

Выявленные недоработки, недостатки, существенные ограничения


  1. Изменения опций торификации в текущей версии TorBrowser/TorButton, меняющие SocksPort на значение, отличающееся от 9050, не дают никакого результата. TorBrowser или перестаёт работать, или продолжает работать только через порт 9050, хотя в настройках Torbutton указаны другие значения. Изменить порт назначения пакетов 9050 при помощи iptables также не получается (выяснить почему). Однако, в последних версиях TBB корректно работает прозрачная торификация, но в отличие от работы через SOCKS, такой вариант ставит анонимность пользователя в критическую зависимость от правильной конфигурации и работы файрволла.
  2. Если торбраузеры разнести по портам, то опция смены профиля "change new identity" будет приводить к смене цепочек хотя и на разные значения, но одновременно для всех тор-портов и всех подключенных к ним программ. Это может быть нежелательно при одновременной работе нескольких пользователей.
  3. Требуется открытие управляющего порта. Возможно подключение к системному тору локальных пользователей с целью получить над ним управление, используя уязвимости механизма аутентификации. Связь управляющих программ настроена через один управляющий тор-порт через аутентификацию по cookie-файлу, что может привести к перехвату управления над системным тором при локальных уязвимостях в пользовательских программах.
  4. Недостатков, потенциальных уязвимостей и возможностей раскрытия анонимности потенциально больше, чем здесь перечислено. Используйте продвинутые настройки только если уверены в том, что делаете. Пока что не рассчитывайте увеличить свою безопасность с помощью настроек из этого варианта, используйте его в целях экспериментирования и изучения дополнительных возможностей программы 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" цепочки будут сброшены для нескольких браузеров одновременно, что также может дополнительно снижать анонимность и должно учитываться в некоторых сценариях использования.

Текущие дополнения. Возможности, требующие проверки.


  1. Разобраться с настройкой аутентификации системного тора для видалии. Рекомендуется использовать tor-arm
  2. Выяснить причины невозможности корректной работы в TorBrowser SOCKS-порта, отличающегося от 9050. Вместо этого достаточно использовать прозрачную торификацию не через SOCKS-port.