id: Гость   вход   регистрация
текущее время 15:15 29/05/2024
Владелец: unknown (создано 24/06/2012 17:27), редакция от 12/08/2015 22:34 (автор: unknown) Печать
Категории: софт, анонимность, tor
https://www.pgpru.com/Библиотека/Руководства/СетеваяАнонимность/ПродвинутоеИспользованиеTorвUnix/РаздельноеИспользованиеTorbrowserсСистемнымTorиПрозрачнаяТорификация
создать
просмотр
редакции
ссылки

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


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

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


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

Конфигурация тор


Остановите системный тор: /etc/init.d/tor stop. Если в текущей версии с этим есть проблемы, используйте kill.
Закомментируйте в конфиг-файле /etc/tor/torrc опцию SocksListenAddress 127.0.0.1. Она устарела, по умолчанию тор слушает только локальные соединения.


В случае проблем с запуском /etc/init.d/tor start, можно в ответ на соответствующие ошибки добавлять опции:


Для прозрачной торификации по умолчанию и для работы через SocksPort тора используются опции:


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


Поскольку порт 9051 занят, то добавим опции управляющего порта:


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


Запуск тор /etc/init.d tor start не должен приводить к ошибкам и должен показывать, что все внесённые в конфиг порты работают нормально.

Настройка iptables


Во многих системах по-умолчанию используется сложный механизм инициализации, конфигурирования и хранения конфигов iptables. Подразумевается, что этот механизм отключен, а вместо него используется шелл-скрипт, который пользователь поддерживает самостоятельно. В Debian/Linux он может быть размещён, например, в /etc/network/if-pre-up.d. Здесь приведены только фрагменты такого скрипта, относящиеся к рассматриваемому варианту торификации.


Закроем снаружи все открытые тор-порты, даже если они принимают только локальные соединения:

$IPTABLES -- переменная содержит путь к iptables, обычно:
IPTABLES="/sbin/iptables"

# $INET_IFACE -- внешний сетевой интерфейс, обычно:
INET_IFACE="eth0"

# blocked_myports -- пользовательская цепочка для заблокированных портов

iptables -N blocked_myports; iptables -F blocked_myports

for PROTOCOL in TCP UDP; do
    for PORT in $(seq 53 58) $(seq 9040 9045) \
        $(seq 9050 90559059 9060do

        $IPTABLES -A blocked_myports -i $INET_IFACE -o !lo -p $PROTOCOL \
        --dport $PORT -j DROP

    done
done

$IPTABLES -A INPUT -p TCP -j blocked_myports
$IPTABLES -A INPUT -p UDP -j blocked_myports


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


$IPTABLES -t nat -A OUTPUT -o lo -j RETURN
$IPTABLES -t nat -A OUTPUT -d 127.0.0.1 -j RETURN


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


#Разрешим соединение с SOCKS-портом
$IPTABLES -t filter -A OUTPUT -d 127.0.0.1 -p tcp -m owner \
--uid-owner anonym_1 --dport 9051 -j ACCEPT

###Прозрачная торификация [начало]###
#
#Не требуется при работе TBB
#Может быть использована для одновременной работы других програм
#При отсутствии необходимости эти опции м.б. закоментированы

# Прозрачная торификация TCP на порт 9041

$IPTABLES -t nat -A OUTPUT  -p tcp -m owner --uid-owner anonym_1  \
 -m tcp -j REDIRECT --to-ports 9041
 
$IPTABLES -t filter -A OUTPUT  -d 127.0.0.1 -p tcp -m owner --uid-owner anonym_1  \
 -m tcp --dport 9041 -j ACCEPT
 
#Прозрачная торификация DNS на порт 54

$IPTABLES -t nat -A OUTPUT  -p udp -m owner --uid-owner anonym_1  \
 -m udp --dport 53 -j REDIRECT --to-ports 54

$IPTABLES -t filter -A OUTPUT  -d 127.0.0.1 -p udp -m owner --uid-owner anonym_1  \
 -m udp --dport 54 -j ACCEPT

#
###Прозрачная торификация [конец]###

#Больше этому пользователю ничего не разрешено:

$IPTABLES -A OUTPUT -m owner --uid-owner anonym_1 -j REJECT


По аналогии, правило для второго анонимного пользователя (с закоментированной прозрачной торификацией):


$IPTABLES -t filter -A OUTPUT -d 127.0.0.1 -p tcp -m owner \
--uid-owner anonym_2 --dport 9052 -j ACCEPT

#Прозрачная торификация закоментирована

$IPTABLES -t nat -A OUTPUT  -p tcp -m owner --uid-owner anonym_2  \
# -m tcp -j REDIRECT --to-ports 9042
 
#$IPTABLES -t filter -A OUTPUT  -d 127.0.0.1 -p tcp -m owner --uid-owner anonym_2  \
# -m tcp --dport 9042 -j ACCEPT

#$IPTABLES -t nat -A OUTPUT  -p udp -m owner --uid-owner anonym_2  \
# -m udp --dport 53 -j REDIRECT --to-ports 55

#$IPTABLES -t filter -A OUTPUT  -d 127.0.0.1 -p udp -m owner --uid-owner anonym_2  \
# -m udp --dport 55 -j ACCEPT

$IPTABLES -A OUTPUT -m owner --uid-owner anonym_2 -j REJECT


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


TOR_UID="debian-tor"

$IPTABLES -A OUTPUT -m owner --uid-owner $TOR_UID -j ACCEPT

Использование tor-arm


Использование пакета Vidalia с системным Tor нецелесообразно из-за полного сворачивания её поддержки. Рекомендуется завести отдельно пользователя, включить его в группу tor-arm и запускать из под него утилиту tor-arm.


Следует избегать запуска tor-arm из под пользователя debian-tor, несмотря на то, что такая рекомендация имеется в пакете и долгое время оставалась неисправленной.


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

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


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

#! /bin/sh

echo > tbbchecklog.txt

sha256sum -c sha256sums-unsigned-build.txt 2>&1 | grep OK >> tbbchecklog.txt

echo >> tbbchecklog.txt

for a in sha256*.asc ; do 
 gpg --verify $a sha256sums-unsigned-build.txt >> tbbchecklog.txt 2>&1 ; 
 echo >> tbbchecklog.txt
done

echo >> tbbchecklog.txt

gpg --verify tor-browser-linux64*.asc >> tbbchecklog.txt 2>&1

echo >> tbbchecklog.txt


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


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


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



Запустите TBB:



Зайдите в настройки: Edit → Preferences → Advanced → Network → Settings


И выберите опции:



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


В адресной строке браузера нужно набрать about:config, для внесения некоторых опций, перечисленных в скрипте запуска start-tor-browser:


# extensions.torbutton.custom.socks_host  127.0.0.1
# extensions.torbutton.custom.socks_port  <SocksPort>
# extensions.torbutton.inserted_button    true
# extensions.torbutton.launch_warning     false
# extensions.torbutton.loglevel           2
# extensions.torbutton.logmethod          0
# extensions.torbutton.settings_method    custom
# extensions.torbutton.socks_port         <SocksPort>
# extensions.torbutton.use_privoxy        false
# app.update.auto                         false


В торбраузере, начиная с версии 4.5, организована корректная работа с SOCKS-портом, при этом для разных доменов выбираются разные исходящие узлы и существует возможность менять исходящий узел для каждой вкладки при помощи опции New Tor Circuit for this Site в Torbutton. При этом из-за удаления плагина tor-launcher, предназначенного для запуска локального (несистемного) Tor, часть опций tor-button будет недоступна. В связи с этим рекомендуется настраиваеть торбраузер на работу с системным тором именно через SOCKS-порт, а не через прозрачную торификацию. Прозрачная торификация может быть использована для этого же пользователя для работы с другими программами, но ей лучше не пользоваться при повышенных требования анонимности из-за опасениях утечки профилирующих и идентифицирующих данных, а также по другим возможным причинам.


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


Можно запустить два и более TBB из под разных пользователей одновременно. При одновременной проверке они должны показывать разный IP-адрес исходящих узлов при проверке на одном и том же домене.


При работе из-под одного пользователя для смены профиля рекомендуется перезапустить браузер и сменить все цепочки программной tor-arm или отправкой сигнала системному тор-процессу.


 
На страницу: 1, 2, 3, 4, 5, ... , 12, 13, 14, 15, 16 След.
Комментарии [скрыть комментарии/форму]
— unknown (29/04/2015 16:35)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

У вас эффект ложного консенсуса в терминальной стадии. Английскую вики почитайте, там традиционно лучше изложено. Хотите обсуждать причины фатального непонимания на уровне языка, ценностей, профилей и интересов — можно продолжить это где-нибудь в разделе оффтопиков.
— Гость (29/04/2015 17:20)   <#>
Я исхожу из прагматики: если вы особо не обсуждаете здесь вопросы типа торификации интернет-радио, торрентов и прочего, то, скорей всего, вам это неинтересно. То же самое касается и другого специфического софта/задач.
— unknown (29/04/2015 17:39)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Вы досье что ли собираете? Я неоднократно упоминал, к примеру, что использую SELinux. Сам, по своей инициативе, меня никто не заставляет. Но его использование — неправильное, по крайней мере оно нерационально и неоправдано. Так я его никому и не советую, поэтому инструкции по его использованию публиковать не буду. Как обосновывать некоторые свои персональные предпочтения и преобразовывать их в конвенциональную логику, не знаю, мне это неинтересно, я же это не навязываю. Достаточно предупреждений. Я вообще не считаю вопрос о том, что системный тор безопаснее обычного решённым, а тратить время на его обоснования и доказательство позиций тоже некогда. Просто: предлагается такой вариант.
— Гость (29/04/2015 19:01)   <#>

Ага, 24/7/365, а потом ФПП в одном пункте пополняю, мне ж больше нечего делать-то. :) Достаточно читать, что вы здесь пишете, и делать какие-то предположения/выводы.


Хороший пример, кстати. Были ли инструкции или нет, но вы дали знать, что он для вас важен, а для торрентов и интернет-радио я такое не пропоминаю, за исключением, возможно, каких-то разовых постов.

Даже про некую экзотику вы сами упоминали, что она не просто так:

Какое неожиданное перевоплощение, что там Debian

При том. Казалось бы, причём здесь PulseAudio vs. Jack или Jekyll?


Есть плюсы и минусы обоих решений, но итог очевиден: уязвимость в браузере приводит к полному деанону при локальном Tor'е всегда, что не так при системном (а профилирование из-за него всё равно незначительное).

P.S. Заметил, что TBB 4.5 заметно тормознутее предыдущей ветки, причём, похоже, это из-за того, что на каждый новый сайт Tor'у приходится открывать новую цепочку. И часто эти цепочки далеко не такие быстрые, как хотелось бы. Если в старом TBB всё начинало жутко тупить, то делалась принудительная перестройка цепочек и всё работало снова, пока они не поменяются. Подобрав быструю цепочку, её получали для всех и вся, всё летало. Теперь вот не так... Правда, теперь есть «New Tor Circuit for this Site», но это всё равно тупёжка: пока построится новая цепочка, пока снова загрузится страница...
— unknown (29/04/2015 21:00)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Мне надо обо всём отчитываться, в чём рисую, в чём звуки обрабатываю, какие ещё хобби на компе меня увлекают? Причём здесь вообще персонально я? Документ готовится хоть и на основе личного опыта, но нейтрально для продвинутого, но усреднённого пользователя. Есть концепция: для разных профилей деятельности — разные пользовательские профили на системе. Где-то прозрачная торификация оправдана, где-то она перекрывается коментом пары строг и заменяется на логирование утечек. Если у меня получится обкатать вариант с авторазносом Socks по портам, тогда в инструкцию будет включён такой вариант с совмещением с TransPort и DNSPort (как самый универсальный) и будет дано указание где закоментарить прозрачную торификацию если она в каком-то профиле не нужна.
— Гость (30/04/2015 02:25)   <#>

При том, что вы составляте документ и рекомендации под свои нужды, постфактум почему-то объявляя их усреднёнными. Я не говорю, что это плохо, просто имеется такой факт.


В том-то и дело, что ваш случай не столько универсальный, сколько экзотический, просто вы это не осознаёте. В типичном усреднённом случае есть SOCKS и торификации через torsocks или proxychains. Для всего, что не крайняя экзотика, этого хватает с головой. А вот тем продвинутым юзерам, кому помимо этого нужна ещё экзотика, в которой они «рисуют, звуки обрабатывают, да хобби разными на компе увлекаются», может быть, инструкция с TransPort будет уместной. Я не против, просто называйте вещи своими именами. Тут как в Tails: есть заявленный минимум, который должен работать — это и есть средний профиль. Если кому-то нужно больше, то это его проблемы. Я из этой позиции и исхожу. Т.е. прозрачка — не более общий случай, а редко нужное излишество, которое по сути нарушает всю идеологию защиты и вообще, можно сказать, опасно.
— unknown (03/05/2015 16:19)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Что касается TBB v. 4.5.

Прописывание разных SOCKS-портов для разных браузеров через Network Settings работает нормально и сохраняется после перезапуска без проблем. Может оно слетает если в торкнопке что-то пытаться выбрать, например поменять слайдер. Но вроде с этим не сталкивался.

Теперь для каждого пользователя в файрволе можно прописать прямое соединение с его SOCKS-портом на локалхосте. Для того, что не работает с SOCKS, можно использовать прозрачную торификацию. Это всего 4 строчки, можно их закоментировать если опасаетесь. У меня часть пользовательских профилей работает с прозрачкой после SOCKS, для каких-то разрешил только SOCKS. Во всех вариантах всё работает корректно. Наворачивание логирования в файволл каждый может добавить по вкусу — это уже индивидуально.

Разруливание перенаправления с дефолтного SOCKS-порта 9150 на индивидуальный (9051, 9052, …) на уровне файрволла не получилось, но поскольку со слетанием настроек TBB не сталкивался, то пока не вижу в этом необходимости. Если настройки порта в TBB слетят, то файрволл не выпустит трафик TBB для этого пользователя даже с прозрачкой, так что порты разных пользователей останутся изолированными друг от друга в любом случае и трафик не перемешается.

Луковица всегда перечёркнута, но опция смены IP для вкладки в ней работает корректно. В разных вкладках на разных сайтах проверяющих IP — разные экситы, а на одном и том же сайте-проверяльщике — одинаковые в разных вкладках. Всё как положено, вроде пока полёт нормальный. Управляющий порт не требуется.
— Гость (03/05/2015 17:19)   <#>

Слетает extensions.torbutton.socks_port,1 а не network.proxy.socks_port.2 Из-за того, что они разные, луковица перечёркнута.


Это тоже, но рестарта самого по себе для слетания extensions.torbutton.socks_port достаточно. Можно работать с перечёркнутой луковицей несмотря на слетания, но не зная все механизмы того, что это может на самом деле означать,3 я бы побоялся.


IMHO, зря они разные вкладки не разнесли по разным цепочкам, это бы позволяло работать под двумя разными профилями с одним и тем же сайтом одновременно.


1 Раньше выставлялось через torbutton; теперь, при удалённом tor-ланчере, — только через about:config.
2 Выставляется, в том числе, через Network Settings.
3 Когда-то это, насколько я помню, означало, что TorBrowser работает с сетью напрямую, Tor отключен, никакие настройки по изменению профиля (подстановка user agent и т.д.) не применяются. Сейчас это не так, но непонятно, до какой степени не так.
— unknown (03/05/2015 17:27, исправлен 03/05/2015 17:34)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Скорее всего, перечёркнутая луковица ни на что не влияет. В инструкции по подключению системного Tor с управляющим портом, которая помещена в start-tor-browser, перечислены все необходимые опции. Там есть ещё torbutton.custom.socks.port. А torbutton.socks.port действительно слетает на 9150.




Да, так как сейчас всякие гуглосчётчики и прочие баннеры будут знать, что из под разных вкладок заходит один пользователь. Экситы этого знать не будут — трафик выйдет в разных местах. А вот если логи сайта сопоставлять с логами счётчиков, то всё будет видно.


Ну вот для этого и нужны разные пользователи для торбраузера с разными профилями и разные порты.

— Гость (03/05/2015 18:12)   <#>

Не пойму, в чём смысл этой опции. По дефолту там перечислены в т.ч. Tor-порты.


Почему рекомендуют поставить false?


Тут наверно надо указать нужные порты системного Tor'а, и тогда настройки слетать перестанут.


По умолчанию стоит true, как рекомендовано, но её смысл непонятен.


По умолчанию true, рекомендуют сделать false.


По умолчанию 4, рекомендуют сделать 2.


1 → 0


По умолчанию он recommended, рекомендуют поставить custom. М.б. после этого слетать не будет?


Если Tor-ланчер удалён, эти опции в настройках даже не показываются.


Понятно. Т.е. вы хотите сказать, что разносить разные вкладки с открытым одним и тем же сайтом по разным цепочкам смысла нет, т.к. куки, кэш и прочее всё равно будут общими, т.е. нужны более глубокие преобрзования для такого разнесения. Правда, если используются одни и те же счётчики на разных сайтах, всё равно остаётся вероятность linkability по тем же кукам, кэшу и т.п. вещам даже несмотря на то, что сайты разные и открыты в разных вкладках. По большому счёту — да, нужно разнесение по разным пользователям или, как минимум, полный рестарт браузера перед сменой «профиля» его пользования.


Мне эта инструкция не нравится тем, что чтобы ею воспользоваться, нужно каждый раз после обновлений позволять TBB делать «холодный старт» с возможностью соединиться с сетью напрямую. Даже если указанных в инструкции опций достаточно, и всё работает, это не отменяет того, что априори, до старта по умолчанию, не выставить нужные значения для опций

extensions.torlauncher.control_port <ControlPort>
extensions.torlauncher.loglevel 2
extensions.torlauncher.logmethod 0
extensions.torlauncher.prompt_at_startup false
extensions.torlauncher.start_tor false

штатным образом. Может быть, можно руками какие-то конфиги править...
— Гость (03/05/2015 18:21)   <#>

Похоже на то. После этого при рестарте браузера и при двигании слайдера настройки не меняются.

Картина вырисовывается такая: если дефолтный порт менять не требуется, то достаточно выставить custom.socks_host/port и поставить recommended для settings_method. В общем случае, видимо, надо менять все три опции для настройки SOCKS-порта.
— unknown (03/05/2015 18:38, исправлен 03/05/2015 18:39)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Выставил всё, кроме управляющего порта. Теперь луковица зелёная и ничего не слетает.
приводит к тому, что снимается галка в слайдере, запрещающая запись на диск. Я так понимаю, что при рестарте содержимое кэша и истории всё равно стирается, а остаётся на диске только если был какой-то краш. Если винчестер шифрованный, то можно и разрешить.


В принципе, есть tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js и его аналоги. Но везде в начале предупреждение: # Do not edit this file.


А всё, что выбирается в about:config пишется вроде как в sql-файлы.

— Гость (03/05/2015 19:21)   <#>

В том-то и дело, я не вижу никакой связи между тем, через системный Tor работает TorBrowser или локальный, и возможностью записи на диск. При прочих равных, без записи даже лучше, если она специально зачем-то не нужна (впрочем, сейчас разным HTTPS-опциям, запоминающим сертификат при первом коннекте, это может понадобиться — плюсы и минусы таких опций, как и самого факта записи на диск, очевидны).


Можно запустить браузер, поменять настройки, а потом сравнить файлы на предмет изменений. В sql-файлы тоже можно с консоли писать, но не знаю, насколько нетривиальна запись в эти БД.
— unknown (03/05/2015 19:41, исправлен 03/05/2015 19:58)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

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



Действительно, при включенной записи все cookie сохраняются. Лучше отключить. Если очень надо, то можно включить временно через слайдер.

— Гость (03/05/2015 20:29)   <#>

Не-а, не помогает. Я уже пробовал его так обмануть. Он всё равно запускает локальный Tor и ждёт какого-то ответа именно от него. Самого факта, что на нужном порту уже крутится Tor-демон, ему недостаточно.

Можно попытаться хитрее сделать. Например, удалить tor-ланчер, запустить TorBrowser, а потом вернуть ланчер на место. Однако, в этом случае нужные настройки Tor-ланчера в TorBrowser'е всё равно не появляются. Другой хак мог бы быть, если б TorBrowser позволял выйти в сеть через двойное заворачивание в Tor, но этого тоже нет. Тут ещё на мои тесты могло влиять, что я не останавливал системный Tor и не отключал файерволл на lo. В общем, поковырялся, но простого решения сходу не вижу.


Вот это подстава! Хорошо, что хоть не по умолчанию... Гугл мог бы скоррелировать все поисковые запросы между собой. Всё-таки разделение TBB-директорий для разных профилей (в идеале — между разными юзерами) — очень хорошая вещь, страхует от таких внезапных фейлов.
На страницу: 1, 2, 3, 4, 5, ... , 12, 13, 14, 15, 16 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3