id: Гость   вход   регистрация
текущее время 03:13 29/03/2024
Владелец: unknown (создано 24/06/2012 17:27), редакция от 12/08/2015 22:34 (автор: unknown) Печать
Категории: софт, анонимность, tor
http://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, ... , 3, 4, 5, 6, 7, ... , 16 След.
Комментарии [скрыть комментарии/форму]
— Гость (02/05/2013 17:53)   <#>

Ткните носом, какая это настройка.


Правка чего-либо вручную, отход от умолчаний — это всегда минное поле. :) Хотелось бы по-минимому вмешиваться в работу самого TBB, тем более, что его потроха никогда не писались с целью правки пользователями под свой вкус, это не конфиг Tor'а.
— Гость (02/05/2013 17:59)   <#>
extensions.torbutton.versioncheck_enabled
— unknown (02/05/2013 18:37, исправлен 02/05/2013 18:38)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Не понимаю зачем нужна двойная торификация, если можно сразу запускать браузер отдельно, правкой скрипта запуска? Настройки сохраняются, всё работает.

Нужные настройки есть не только в скрипте, но и в торкнопке, и в свойствах браузера about:config. Да, там всё связали как на минном поле с этим локальным тором, привязкой к видалии и проверкой страницы торпроджекта при каждом запуске — без которой настройки в торкнопке первый раз не сохраняются.



Это не та проверка.


Сделайте поиск наверху wiki-страницы этой темы по about:config.

— Гость (02/05/2013 19:01)   <#>

Как же не та?
Вместо тысяч замен, убрать одну опцию и выставить одну пустую стартовую страницу.
Все сохраняется, чините руки и запускаемый скрипт.
— unknown (02/05/2013 20:26)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Может сейчас всё проще стало, а я по старинке много лишних телодвижений делаю? Как-нибудь проверю при очередном обновлении.
— Гость (04/05/2013 21:51)   <#>

Т.е. после первого запуска с двойным заворачиванием:
  1. Edit → Preferences → General → Home Page ← вписать «about:blank» (или просто всё удалить?).
  2. about:config → extensions.torbutton.versioncheck_enabled ← делаем false.
И всё, после рестарта правильные настройки должны подцепляться автоматически?
— unknown (14/05/2013 21:08, исправлен 14/05/2013 21:26)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

В документ внесены названия трёх полей, значения которых достаточно исправить на about:blank.


В Tor Browser Bundle (2.3.25-8) в очередной раз исправили прозрачную торификацию в кнопке.

— Гость (15/05/2013 08:29)   <#>

Ухудшили. Тенденция однако, с увеличением версии увеличивается число багов. Но в этот раз не за счёт мозиллы. Стабильно ест процессор при загрузке картинок и стабильно падает даже если картинки отключена, а ведь пишут про фиксы. Про сетевую часть молчу, ускорили, ускорили появление сообщения про глюки экситов, ага.
— Гость (15/05/2013 12:21)   <#>
а как управлять системным Tor-процессом? через терминал командами? где взять команды?
— Гость (15/05/2013 16:41)   <#>

Гуглите "Tor control protocol". например
— unknown (15/05/2013 16:47)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Можно через Torarm.
— Гость (18/05/2013 23:28)   <#>

С этим тикетом тоже, по ходу, печально. Никакого прогресса. :(
— Гость (18/05/2013 23:39)   <#>

К слову, какие-то из команд ранее уже обсуждались.
— Гость (09/12/2013 11:25)   <#>
В недавних новостях в блоге разработчики очередной раз попинали концепцию прозрачной торификации на примере Safeplug'а. Ничего такого нового, о чём бы здесь не говорилось, не сказано, просто очередной раз озвучено, почему тупая торификация всего и вся искоробки — это плохо (мы это уже и так усвоили).

Сайт очередного Tor-роутера под названием Safeplug убивет сразу тем фактом, что без JS не работает. Нарочно не придумаешь. :-)
— Гость (09/12/2013 15:41)   <#>
А что мешает самому создать Тор-роутер, купив железку за 1 т.р. и установив openwrt? Прозрачная торификация, насколько я понял, опасна тем, что через Тор может отправляться избыточная информация. Но это устраняется прокси-сервером, который пропускает только http сообщения, т.е. фильтрует по прикладным протоколам.

Кроме ТББ существует ещё много популярных клиентов работающих через tcp – почта, ssh, p2p, ftp и т.д. Что предлагается для повышения их анонимности? Представляется что концептуально более правильным являлось бы добавление анонимизирующего уровня в стек протоколов, между IP и TCP, вместо разработки частного решения для единственного http.
На страницу: 1, ... , 3, 4, 5, 6, 7, ... , 16 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3