Это старая версия документа.


Tor - система, позволяющая устанавливать анонимное сетевое соединение, защищённое от прослушивания. Рассматривается как анонимная сеть, предоставляющая передачу данных в зашифрованном виде.

В статье будет рассмотрена работа через Tor с обычными браузерами, что не гарантирует анонимность. Если вы хотите большей безопасности, установите Tor согласно данной официальной инструкции.

Установка Tor

Устанавливаем необходимые пакеты.

 sudo apt-get install tor tor-geoipdb privoxy 

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

Настройка:

Бэкап базовой и новая конфигурация для privoxy:

 sudo mv /etc/privoxy/config /etc/privoxy/config.backup 
 sudo gedit /etc/privoxy/config 

Вставляем следующее и сохраняем:

# Generally, this file goes in /etc/privoxy/config
#
# Tor listens as a SOCKS5 proxy here:
forward-socks5 / 127.0.0.1:9050 .
confdir /etc/privoxy
logdir /var/log/privoxy
# actionsfile standard  # Internal purpose, recommended
actionsfile default.action   # Main actions file
actionsfile user.action      # User customizations
filterfile default.filter
 
# Don't log interesting things, only startup messages, warnings and errors
logfile logfile
#jarfile jarfile
#debug   0    # show each GET/POST/CONNECT request
debug   4096 # Startup banner and warnings
debug   8192 # Errors - *we highly recommended enabling this*
 
user-manual /usr/share/doc/privoxy/user-manual
listen-address  127.0.0.1:8118
toggle  1
enable-remote-toggle 0
enable-edit-actions 0
enable-remote-http-toggle 0
buffer-limit 4096

Перезапустим службу:

 sudo /etc/init.d/privoxy restart 

Установим кнопку для быстрого переключения режима в firefox:

Все версии

Текущая версия stable

Настраиваем torbutton по своему вкусу (отключаем использование polipo в настройках и включаем отображение кнопочки вместо текста - так приятнее смотрится).

Для быстрого переключения в любом браузере можно использовать любое дополнение, предназначенное для переключения прокси (proxy switcher).

Хочу отметить, что для Google Chrome единственным работоспособным расширением оказалось Proxy SwitchySharp.

Проверка

Жмем на torbutton.

Проверяем, видит ли нас Большой Брат:

https://check.torproject.org/

http://2ip.ru/

http://internet.yandex.ru/

Все!

*При использовании иных программ в их настройках нужно установить прокси по протоколу socks 4a или 5.0 с настройками:

узел: 127.0.0.1
 
порт: 9050

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

Работа с onion-ресурсами

Внутри сети Tor доступны ресурсы в псевдо-доменной зоне .onion. Список данных ресурсов можно увидеть здесь (возможно, для доступа к данной информации вам потребуется соединение через Tor, поскольку ваш провайдер может блокировать данный сайт).

Настройки браузеров для работы с onion-ресурсами

Mozilla Firefox

Заходим в about:config, ищем параметр network.proxy.socks_remote_dns и выставляем его значение в true.

Chromium/Google Chrome

Заходим в Настройки, выбираем «Показать дополнительные настройки» и в разделе «Личные данные» делаем пункт «Предсказывать сетевые действия для ускорения загрузки страниц» неактивным.

Использование pac-файла для упрощения доступа к onion-ресурсам

С помощью pac-файла можно настроить доступ к определенным доменным именам с помощью конкретных прокси (для доступа к onion-сайту вам не придется вручную переключать прокси). Пример конфигурации такого файла для совместного использования *.i2p и *.onion приведен ниже.

function FindProxyForURL(url, host)
	{
		if (dnsDomainIs(host, ".i2p"))
			{
				return "PROXY 127.0.0.1:4444";
			}		
		if (dnsDomainIs(host, ".onion"))
			{
				return "SOCKS 127.0.0.1:9050";
			}
		else
			{
				return "DIRECT";
			}
	}

Обход блокировки Tor

В связи с последними изменениями в законодательстве Российской Федерации и Республики Беларусь возможно блокирование Tor провайдерами. Два основных метода - это блокирование известных IP-адресов узлов Tor (этому противодействует использование непубличных адресов - мостов) и глубокий анализ трафика (в связи с чем рекомендуется обфусцировать трафик).

Обфускация трафика

Нам нужно обновить Tor до последней stable-версии из официального репозитория и установить утилиту для обфускации:

 sudo apt-get install obfsproxy 

После этого заменяем содержимое файла /etc/tor/torrc следующим

SocksPort 9050
ORPort auto
BridgeRelay 0
Exitpolicy reject *:*
 
## CHANGEME_1 -> provide a nickname for your bridge, can be anything you like
#Nickname CHANGEME_1
## CHANGEME_2 -> provide some email address so we can contact you if there's a problem
#ContactInfo CHANGEME_2
 
ServerTransportPlugin obfs3 exec /usr/bin/obfsproxy managed

Перезапускаем Tor:

sudo service tor restart

Чтобы убедиться в правильности работы настроенного Tor, проверьте содержимое /var/log/tor/log на наличие следующих строк:

Nov 05 16:40:45.000 [notice] We now have enough directory information to build circuits.
Nov 05 16:40:45.000 [notice] Bootstrapped 80%: Connecting to the Tor network.
Nov 05 16:40:46.000 [notice] Bootstrapped 85%: Finishing handshake with first hop.
Nov 05 16:40:46.000 [notice] Bootstrapped 90%: Establishing a Tor circuit.
Nov 05 16:40:48.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Nov 05 16:40:48.000 [notice] Bootstrapped 100%: Done.

Использование мостов

Мосты мы будем использовать при настроенной обфускации трафика (смотри предыдущий пункт). Чтобы получить мосты, заходим сюда либо отправляем на адрес bridges@bridges.torproject.org письмо с темой get transport obfs3 и ждем в ответ список из трех адресов следующего вида:

obfs3 192.168.12.45:456 ea7b80910796ad4e0d06f0a431d3b38a3fae6e8c 
obfs3 192.168.12.56:789 73fkff417857b25c98ca7380fa09393814ad0b2b 
obfs3 192.168.12.90:123 3b294384ac269c3a532908b296fbcd27f82ed373 

После этого остается изменить файл /etc/tor/torrc следующим образом: добавить в начало данные адреса в следующем формате:

Bridge obfs3 <IP-address 1:port 1> <Fingerprint of bridge 1>
Bridge obfs3 <IP-address 2:port 2> <Fingerprint of bridge 2>

и добавить следующие строки, убрав все остальные:

UseBridges 1
ClientTransportPlugin obfs3 exec /usr/bin/obfsproxy managed

Перезапускаем Tor:

sudo service tor restart