Сетевая анонимность: сеть Tor
Вычеркнутые вопросы перенесены в FAQ
Как использовать Tor в качестве DNS-сервера (посылать DNS-запросы через Tor)
Ниже приведены следующие варианты прозрачного проксирования (торификации) DNS-трафика:
Tor как системный DNS-сервер:
DNSListenAddress 127.0.0.1
Для работы нужно указать DNSPort (смотрите ниже).
Tor как DNS-сервер для конкретной программы, поддерживающей собственные настройки DNS:
DNSPort 5300 DNSListenAddress 127.0.0.1
Принудительное использование Tor как DNS-сервера для конкретных пользователей или программ:
DNSPort 5300 DNSListenAddress 127.0.0.1
Примечание: в последних двух вариантах вместо порта 5300 можно использовать любой другой незанятый порт (число) в промежутке от 1025 до 65535.
Как удлинить цепочку Tor с помощью программы polipo (использовать с Tor программы без поддержки socks-прокси)
Внимание. При смене цепочек для polipo по сигналу NewNym от vidalia через Tor, polipo удерживает соединение, что Tor воспринимает как долговременную цепочку и не меняет исходящий узел. Это возможно некритично при данном сценарии использования, но послужило одной из причин отказа от polipo в проекте Tor. Надо это учитывать, в случае если вы захотите приспособить polipo для чего-то другого.
- Качаем старую сборку Tor Browser c Polipo из архива Tor Project, например:
Содержимое файла настроек polipo polipo.conf (создайте файл по указанному в пункте 3 пути и скопируйте содержимое туда):
- Распаковываем архив, находим там подкаталог old_tb/App и копируем из него в tb/App файлы:
– для Windows polipo.exe и libgnurx-0.dllгде tb – каталог Tor Browser, а old_tb – каталог старой сборки.
– для Linux polipo
- Создаем каталог tb/Data/Polipo и копируем в него конфигурационный файл old_tb/Data/Polipo/polipo.conf
- Дописываем в файл tb/Data/Vidalia/vidalia.conf в разделе [General] строки:
- В файле tb/Data/Tor/torrc заменяем строку (если есть)
на
- В настройках плагина TorButton браузера (ПКМ по значку луковицы вверху -> настройки ...) выставляем метку "Установить параметры прокси вручную" и забить во все поля http-прокси, ssl-прокси, ftp-прокси, gopher-прокски параметры Polipo: хост 127.0.0.1 и порт 8118.
- Перезапустить Tor Browser.
- Для добавления прокси в конец цепочки в polipo.conf дописать строку:
где proxy_host: proxy_port – адрес внешнего прокси. После добавления прокси Tor Browser надо перезапустить. Отследить подключение к этому прокси можно в окне цепочек Vidalia или в IP-анализаторах типа ipligence.
Вроде бы ничего не меняется как если бы входил в сеть с только что установленным tor?
И такой еще вопрос. Со слов некоторых научных работников, мне известно, что ФСБ последнее время поднимало очень много tor-нод. С какой целью, правда, они затруднились ответить.
Возникает вопрос, как проконтролировать, чтобы входные узлы не имели российских ip-адресов, т.к. в этом случае велика вероятность, что входные узлы уже контролируются ФСБ.
И второе. Могут ли сервера, находящиеся в России, иметь ip-адрес, выделенный другому государству? Понятное дело, что в случае тайного сговора между ФСБ и АНБ (или на более высоком уровне) – могут, и это невозможно отследить, а вот помимо воли американских структур, распределяющий ip-адреса по регионам (не помню как этот институт у них там называется) – могут? Или подменять ip, но так, чтобы обратный трафик тоже до них доходил?
P. S. Конечно, можно предположить, что российские спецслужбы имеют сервера Tor и за границей, как вариант. Если бы были хорошие мысли по поводу их вычисления, тоже неплохо было бы их услышать. Только, имхо, в этом последнем случае они вообще становятся "неуловимыми", и спасти ситуацию могут лишь только толпы добровольцев, запускающих в частном порядке сервера Tor.
Которых почему-то в России не наблюдается.
комментариев: 9796 документов: 488 редакций: 5664
В последние версии стали включать Tor GeoIP-db, чтобы примерно учитывать географическое положение узлов при построении цепочки.
Это элементарно вопрос денег. Поднять tor-сервер можно на платном виртуальном хостинге, коих тысячи по всему миру.
Допустим это не слухи. Прозревается заговор.
Допустим точка "пользовательский провайдер — вход в сеть Tor" всегда прослушивается (тут даже guard-узел малополезен), количество экситов в сети мало и большинство из них принадлежит трёхбуквенным агентствам. Тогда снимая трафик в двух точках ("ISP-пользователя") – ("подконтрольный Exit"), можно делать атаку пересечения и смотреть, куда пошёл пользователь. Чем больше подконтрольных экситов, тем выше вероятность собрать данные о пользователе.
Кстати, ФСБ (или кому-там) необязательно запускать свои Tor-узлы в Росии (или где-там) — для проведения атак корреляции достаточно прослушивать трафик поступающий и исходящий с этого узла со стороны провайдера, через которого работает этот узел. МОжно ещё поковырять трафик на магистральных узлах — это работа для систем эшелоноподобного типа.
Ответ на ваш вопрос добавлен в другой список раздела вопросов-кандидатов в FAQ, в пункте об атаках подтверждения и пересечения. Гость, вы задали хороший темп работ и дали много поводов для конструктивных размышлений в попытках ответить на все ваши вопросы!
Есть excludenodes-опция, но она полумера (в статистике могут внезапно появиться новые IP-дреса из РФ, которые вы ещё не перечислили в списке). Есть подобные опции, которые фильтруют по стране, но они тоже не до конца надёжны, т.к. трудно всегда и однозначно сказать кому принадлежит адрес (в общем случае). Т.е. всё это полумеры.
Да, могут. Я скажу даже большее: есть такие IP-адреса, которые не ассоциированы ни с каким государством, и не числятся ни в каких базах данных. Некоторые умельцы в некоторых странах могут себе их установить и работать на них до поры до времени.
ICANA?
Если вы выбрали их сервер в цепочке, то через него идёт и прямой и обратный трафик, если же не выбрали, то никакой не идёт. Выбирает всегда сам клиент Tor'а.
Да у нас любой громодянин может поднять свой Tor-сервер в банановой республике, чем здесь спецслужбы-то выделены? :)
Да, и об этом уже сто раз писали.
Общее число подключенных к интернету юзеров в РФ мало по сравнению с другими странами – с этим всё и связано.
"Я щас взорвусь как тыща тонн тротила
Во мне заряд нетворческого зла
Меня сегодня муза посетила..." (В. Высоцкий)
Прошу прощения за оффтоп
комментариев: 11558 документов: 1036 редакций: 4118
А ещё меньше широкополосных безлимитных тарифов в замкадье.
комментариев: 9796 документов: 488 редакций: 5664
1) {previous nodes, clients} -> {Client + Server} -> {entry} -> {middleman} -> {exit} -> {service}
2) {previous nodes, clients} -> {Client + Server} -> {middleman} -> {exit} -> {service}
В первом варианте если противнику принадлежит {service} и {entry}, то по корреляциям он упирается в {Client + Server}, но не зная длину цепочки не может сказать, от кого она исходит. А если противнику принадлежит {entry} и {exit}, то он не только установит корреляцию, но и определит наличие и точное название {middleman} в цепочке, следовательно зная её длину, он может предположить, что инициатор {Client}.
И не важно, будет он при этом рвать цепочки или получит корреляции активно, похоже, что запуск сервера даёт относительно немного примуществ.
Зато во втором варианте определить не сможет.
Вопрос в FAQ под вопросом? :)
комментариев: 9796 документов: 488 редакций: 5664
Неправильно. На сервисе виден IP эксита, На {entry} есть корреляция в этой цепоче с {service} и определяется, что цепочка пошла из {Client + Server}, но не на {exit}, а на {middleman}, значит {Client + Server} в этой цепочке работает в режиме {Client} и эта цепочка не порождена другими пользователями.
Что имели ввиду разработчики, когда говорили, что запуск сервера повышает анонимность — неясно. По крайней мере от атак пересечения это также не защищает. Может они имели ввиду только запуск экситов?
Этот вариант перекрывается с Становится непонятно: если вариант с «конкретной программой» уже рассмотрен, то зачем её снова повторно рассматривают ниже. Дело-то в том, что есть принудительное заворачивание (программа об этом сама не знает) и конвенциональное (программа имеет настройки для этого). Короче, описывать все эти детали, следя за понятностью для тех, кто вообще не в теме, желания нет, потому лучше убрать ту оговорку. Более того, я не видел ни одной программы, которой можно указать DNS-сервер в настройках, т.е. отличный от системного.
Кто конкретно понимается под DNS-резволингом, мне тоже не до конца ясно. Где-то в районе /comment53198 это косвенно упоминалось, вроде как имеются блокирующие и неблокирующие резолверы, у firefox свой резолвер и т.д. Резолвер — это DNS-клиент? И, опять же, если какая-то программа имеет свой резолвер, то что это значит? Может быть, просто есть много отдельных программ — DNS-клиентов/резолверов, и разные программы просто используют разные резолверы? man dig тот же... Т.е. если программа шлёт DNS-запрос, с точки зрения ОС от кого шлётся запрос? Если она использует какой-то внешний неконвенциональный DNS-клиент, то и программа, чей трафик надо будет завернуть на 127.0.0.1:5300, получается, будет другой (нужно заворачивать трафик от резолвера, а не от целевых программ, его использующих).
Есть сомнения в правильности терминологии. Является ли Tor на соответствующем порту DNS-сервером? Фактически он не резолвит, а просто перенаправляет DNS-запросы на exit-ноды, а раз так, значит, с точки зрения exit-нод Tor является DNS-клиентом?.
Добохозяйки могут не понять, что вместо PORT надо указать число из промежутка 1025-65535, а рассказывать, как устроена ОС в рамках FAQ — долго, муторно и совсем не к месту, не хочется писать все эти пояснения и предостережения, превращая один абзац в статью. Имхо, лучше указать конкретное число и сделать оговорку.
Тут, к минимум, три замечания:
Собственно, все эти правки применил.
2б 3. На винде работает, пробовал и без прав. Про никсы добавлю в примечание.
комментариев: 9796 документов: 488 редакций: 5664
Если у пользователя есть понимание этих возможностей, то DNS — это частный случай "продвинутых настроек". Если понимания нет, то может случиться так, что он неправильно поймёт зачем это нужно. Например, услышит про проблему "утечки DNS", DNS порт прокинет правильно, а с SOCKS или TransPort'ом сделает что-нибудь не так и будет думать, что защитился от всех утечек трафика. К примеру "анонимно" заторит какую-нибудь программу, в которой только DNS будут завёрнуты в Tor, а TCP-трафик пойдёт в сеть напрямую.