id: Гость   вход   регистрация
текущее время 17:16 02/05/2024
Владелец: unknown редакция от 13/05/2014 15:44 (автор: 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 тора используются опции:


Следует добавить нужное количество дополнительных портов:


Запустим из-под рута команду /usr/sbin/tor --hash-password "здесь наш пароль". Пароль именно в кавычках и прямо в командной строке, так что он будет виден в списке процессов и сохранится в истории команд рута. Скопируем результат команды в конфиг тора в виде HashedControlPassword 16:здесь шестнадцатиричный код. (Возможно, внесение пароля в конфиг больше не требуется в связи с использованием cookie-авторизации для Vidalia).


Поскольку порт 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, несмотря на то, что такая рекомендация имеется в пакете и долгое время оставалась неисправленной.


Настройка торбраузера


Большинство релизов TBB допускали распаковку новых версий поверх старых. Но периодически могут появляться релизы, не допускающие такой возможности. Поэтому перед обновлением рекомендуется экспортировать старые закладки в файл, удалить старый распакованный каталог TBB. Впоследствии возможно импортировать закладки из файла обратно в новый распакованный браузер (вкладки: Bookmarks — Show all Bookmarks — Import and Backup).


Существует вероятность уязвимости в браузере, приводящая к утечке закладок. Поэтому следует рассмотреть целесообразность хранения определённых закладок торбраузера для конкретного анонимного профиля.


После стабилизации версии 3.5 здесь и далее приведены рекомендации для TBB этой и последующих версий.


В распакованном каталоге 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" (это может происходить в течении некоторой паузы).


Для смены текущих tor-цепочек можно использовать tor-arm (двойное нажатие клавиши "x"), затем выйти из торбраузера и занового его запустить.


Смена цепочек будет действовать на всех анонимных пользователей одновременно, что может вызвать корреляцию при одновременной работе, особенно с программами, работающими с сетью в фоне.


При каждом запуске TBB он стремится проверить наличие обновлений, что отнимает время при частых перезапусках и выделяет пользователя от обычного случая использования связки TBB без частых перезапусков. В качестве решения можно набрать в адресной строке браузера about:config, запустить поиск по строке torproject и заменить некоторые найденные url на about:blank.
На данный момент это касается двух опций:


Их значение следует заменить на:


После сохранения значений следует перезапустить TBB. Проверку наличия обновлений по этим ссылкам можно периодически осуществлять вручную, например по основной ссылке рекомендуемых версий и скачивания новой версии.


Внесение изменений в about:config может потенциально искажать профиль пользователя, например, в случае уязимостей, приводящих к утечке информации из браузера.

Общие рекомендации


Можно запустить два и более TBB из под разных пользователей одновременно. При одновременной проверке они должны показывать разный IP-адрес исходящих узлов. В этом есть и сущностный недостаток такого несвязывания: наблюдатель, например на одном сервисе, может всегда видеть постоянное несовпадение IP-адресов похожих профилей при их одновременной работе. При использовании опции видалии "change new identity" цепочки будут сброшены для нескольких браузеров одновременно, что также может дополнительно снижать анонимность и должно учитываться в некоторых сценариях использования.

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


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