id: Гость   вход   регистрация
текущее время 22:04 02/05/2024
Владелец: unknown редакция от 20/12/2013 12:50 (автор: 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-портов?



Правило для первого анонимного пользователя:



По аналогии, правило для второго анонимного пользователя:



Разрешим выход наружу самому системному тору:


Настройка видалии


Рекомендуется использовать видалию не из состава TBB, а идущую отдельным пакетом (например, из deb-пакета из репозиториев торпроджекта) и настроить её на связь по управляющему порту по паролю с системным тором (также следует рассмотреть другие варианты аутентификации). Примечание: по умолчанию происходит аутентификация по cookie-файлу и только если она не проходит — по паролю. Есть возможность работать не только через управляющий порт, но и через юникс-сокеты (проверить этот механизм).


Вариант: один раз создать в домашнем каталоге пользователя в любом подходящем месте пустой файл:



Один раз создать на него символическую ссылку:



Перед запуском видалии выполнить из под рута:



Когда Vidalia будет при непрохождении пароля спрашивать cookie, то загрузить control_auth_cookie через предлагаемую ею форму. Это достаточно сделать один раз от любого пользователя и все экземпляры видалии, запускаемые от любых пользователей на данном локальном хосте на одинаковом управляющем порту будут иметь доступ к системному тору без повторного запроса этого файла или пароля. В случае перезапуска системного тора процедуру копирования содержимого и загрузки cookie-файла придёться повторить.

Настройка торбраузера и его запуск отдельно от видалии


Если "системная" видалия (не из TBB) запускаетя отдельно, то следует предусмотреть отдельный запуск торбраузера из связки.


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


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


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


В распакованном каталоге TBB удалите расширение запуска Tor из связки:


При этом в TorButton перестаёт работать опция "New Identity", которую можно делать через Видалию. Для очистки состояния браузера рекомендуется вместо "New Identity" сбрасывать цепочки в видалии и перезапускать браузер. Вопрос — нужна ли в таком случае Видалия вообще (в данный момент её поддержка ведёться в отдельной от связки версии)? Для смены цепочек можно использовать killall SIGHUP tor (однако эта команда требует рута/sudo) или можно использовать консольный тор-монитор — arm.


Использование работы с управляющим портом через telnet описано
здесь и здесь.


В настройках TorButton работа Socks-портов, отличных от 9050 не работает или игнорируется. Разобраться в чём дело.
Вместо этого пока предлагается использовать опцию прозрачной торификации: "Transparent Torification (Requires custom transproxy or Tor router)".


После установки этой опции при правильно сконфигурированном файрволле TBB должен проходить проверку по кнопке "Test Settings" и сохранять значение после нажатия кнопки "OK" (это может происходить в течении некоторой паузы).


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


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


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


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


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


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

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


В видалии нажимать кнопку остановки тора нет смысла: видалия остановит системный тор через контрольный порт и запустить его обратно таким способом будет уже невозможно. Потребуется запуск из консоли с правами рута.


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

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


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