Установка Tor Сравнение версий

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:tor [2015/07/20 12:12]
wiki:tor [2019/10/04 21:45] (текущий)
[Использование pac-файла для упрощения доступа к onion-ресурсам] Правка конфигурации pac-файла, чтобы автоматически включался DNS через TOR-proxy в браузерах. Иначе не работает.
Строка 50: Строка 50:
 Перезапустим службу:​ Перезапустим службу:​
  
-<code bash> sudo /​etc/​init.d/​privoxy restart </​code>​+<code bash> sudo service ​privoxy restart </​code>​
  
-Установим кнопку для ​быстрого переключения режима ​в **firefox**:+Настроим ​Tor в браузере. 
 + 
 +Для Firefox удобно [[https://​addons.mozilla.org/​ru/​firefox/​addon/​mm3-proxyswitch|данное дополнение]]. 
 + 
 +Использовать torbutton ​для свежих версий firefox не рекомендуется (torbutton предназначен ​для версий firefox, включаемых в состав tor browser bundle). 
 +Скачать torbutton можно по следующим ссылкам:
  
 [[https://​www.torproject.org/​torbutton/​index.html.en | Все версии]] [[https://​www.torproject.org/​torbutton/​index.html.en | Все версии]]
Строка 58: Строка 63:
 [[https://​www.torproject.org/​dist/​torbutton/​torbutton-current.xpi | Текущая версия stable]] [[https://​www.torproject.org/​dist/​torbutton/​torbutton-current.xpi | Текущая версия stable]]
  
-Настраиваем **torbutton** по своему вкусу (отключаем использование polipo в настройках и включаем отображение кнопочки вместо текста - так приятнее смотрится). 
  
 Для быстрого переключения в любом браузере можно использовать любое дополнение,​ предназначенное для переключения прокси (**proxy switcher**). Для быстрого переключения в любом браузере можно использовать любое дополнение,​ предназначенное для переключения прокси (**proxy switcher**).
Строка 65: Строка 69:
  
 ====== Проверка ====== ====== Проверка ======
 +В настройках прокси (перечень дополнений для переключения прокси дан в предыдущем разделе) указываем следующие параметры:​
 +
 +<code bash>
 +узел: 127.0.0.1
 +
 +порт: 9050
 +</​code>​
 +
 +Данная конфигурация будет действовать при использовании настроек,​ указанных в статье.
  
-Жмем на **torbutton**.+Переключаем прокси в браузере.
  
 Проверяем,​ видит ли нас Большой Брат: Проверяем,​ видит ли нас Большой Брат:
Строка 78: Строка 91:
 Все! Все!
  
-*При использовании иных программ в их настройках нужно установить прокси по протоколу socks 4a или 5.0 с настройками:+При использовании иных программ ​(к примеру,​ Pidgin) ​в их настройках нужно установить прокси по протоколу socks 4a или 5.0 с указанными выше ​настройками.
  
-<code bash> 
-узел: 127.0.0.1 
- 
-порт: 9050 
-</​code>​ 
- 
-Данная конфигурация будет действовать при использовании настроек,​ указанных в статье. 
  
 ====== Получение нового НИМа (смена конечной ноды Tor) ====== ====== Получение нового НИМа (смена конечной ноды Tor) ======
 Зачастую Tor используется в качестве обычного прокси. Если вас не устроила текущая выходная нода, ее легко [[https://​stem.torproject.org/​faq.html#​how-do-i-request-a-new-identity-from-tor|менять с помощью скрипта]]. Зачастую Tor используется в качестве обычного прокси. Если вас не устроила текущая выходная нода, ее легко [[https://​stem.torproject.org/​faq.html#​how-do-i-request-a-new-identity-from-tor|менять с помощью скрипта]].
 <code bash>​sudo apt install empty-expect telnet</​code>​ <code bash>​sudo apt install empty-expect telnet</​code>​
-Задаем пароль //​new_tor_password//​ для доступа к Tor по telnet и получаем в ответ его хэш в виде строки //16:B55A3F6B52F34E55609F6676DDBCEF4FD2BA7E318D9AF45AF878DB8A30//:+Задаем пароль //​new_tor_password//​ для доступа к Tor по telnet и получаем в ответ его хэш в виде строки //16:47015F09825889D86059FF44D9562496912AC67CD0EB93DAA25427F194//:
 <code bash>tor --hash-password '​new_tor_password'</​code>​ <code bash>tor --hash-password '​new_tor_password'</​code>​
 Затем дополняем конфиг Tor Затем дополняем конфиг Tor
Строка 98: Строка 104:
 <code bash> <code bash>
 ControlPort 9051 ControlPort 9051
-HashedControlPassword 16:B55A3F6B52F34E55609F6676DDBCEF4FD2BA7E318D9AF45AF878DB8A30+HashedControlPassword 16:47015F09825889D86059FF44D9562496912AC67CD0EB93DAA25427F194
 </​code>​ </​code>​
 Остается создать скрипт со следующим содержимым (обратите внимание,​ ваш пароль хранится в скрипте в открытом виде!): Остается создать скрипт со следующим содержимым (обратите внимание,​ ваш пароль хранится в скрипте в открытом виде!):
Строка 120: Строка 126:
 ==== Chromium/​Google Chrome ==== ==== Chromium/​Google Chrome ====
 Заходим в **Настройки**,​ выбираем "​**Показать дополнительные настройки**"​ и в разделе "​**Личные данные**"​ делаем пункт "​**Предсказывать сетевые действия для ускорения загрузки страниц**"​ неактивным. Заходим в **Настройки**,​ выбираем "​**Показать дополнительные настройки**"​ и в разделе "​**Личные данные**"​ делаем пункт "​**Предсказывать сетевые действия для ускорения загрузки страниц**"​ неактивным.
-==== Использование pac-файла для упрощения доступа к onion-ресурсам====+===== Использование pac-файла для упрощения доступа к onion-ресурсам ​=====
 С помощью [[https://​en.wikipedia.org/​wiki/​Proxy_auto-config|pac-файла]] можно настроить доступ к определенным доменным именам с помощью конкретных прокси (для доступа к onion-сайту вам не придется вручную переключать прокси). Пример конфигурации такого файла для совместного использования *.[[i2p]] и *.onion приведен ниже. С помощью [[https://​en.wikipedia.org/​wiki/​Proxy_auto-config|pac-файла]] можно настроить доступ к определенным доменным именам с помощью конкретных прокси (для доступа к onion-сайту вам не придется вручную переключать прокси). Пример конфигурации такого файла для совместного использования *.[[i2p]] и *.onion приведен ниже.
 <code javascript>​ <code javascript>​
Строка 131: Строка 137:
  if (dnsDomainIs(host,​ "​.onion"​))  if (dnsDomainIs(host,​ "​.onion"​))
  {  {
- return "SOCKS 127.0.0.1:​9050";​+ return "SOCKS5 ​127.0.0.1:​9050";​
  }  }
  else  else
Строка 141: Строка 147:
  
  
-===== Обход блокировки Tor ===== +====== Обход блокировки Tor ====== 
-В связи с последними изменениями в законодательстве Российской Федерации и Республики Беларусь возможно блокирование Tor провайдерами. Два основных метода - это блокирование известных IP-адресов узлов Tor (этому противодействует использование непубличных адресов - [[https://​www.torproject.org/​docs/​bridges | мостов]]) и глубокий анализ трафика (в связи с чем рекомендуется [[https://​www.torproject.org/​projects/​obfsproxy-debian-instructions.html.en#​instructions | обфусцировать]] трафик). +В связи с последними изменениями в законодательстве Российской Федерации и Республики Беларусь возможно блокирование Tor провайдерами. Два основных метода - это блокирование известных IP-адресов узлов Tor (этому противодействует использование непубличных адресов - [[https://​www.torproject.org/​docs/​bridges | мостов]]) и глубокий анализ трафика (в связи с чем рекомендуется [[https://​www.torproject.org/​projects/​obfsproxy-debian-instructions.html.en#​instructions | обфусцировать]] трафик). Также можно [[https://​geektimes.ru/​post/​283550/​ | использовать Tor через IPv6]]
-==== Обфускация трафика ==== + 
-Нам нужно обновить Tor до [[https://​www.torproject.org/​docs/​debian.html.en#​ubuntu | последней stable-версии]] из официального репозитория и установить утилиту для обфускации:​ +Здесь нужно отметить,​ что [[https://​www.torproject.org/​download/​download.html.en | Tor Bundle]], скачиваемый с официального сайта, предоставляет более удобный механизм работы с обфускацией и мостами,​ чем представленный ниже в этом руководстве. 
-<code bash> sudo apt-get install ​obfsproxy ​</​code>​+===== Обфускация трафика ​===== 
 +Нам нужно обновить Tor до [[https://​www.torproject.org/​docs/​debian.html.en#​ubuntu | последней stable-версии]] из официального репозитория и установить утилиту для ​обфускации (проверяйте на официальном сайте torproject.org информацию о наиболее актуальных утилитах ​обфускации: чем новее утилита,​ тем сложнее расшифровать ваш трафик). Актуальной на момент конца 2016-го года является утилита [[https://​trac.torproject.org/​projects/​tor/​wiki/​doc/​PluggableTransports/​obfs4proxy | obfs4proxy]]. 
 +Ищем нужный нам пакет в репозиториях Ubuntu: 
 +<code bash>​apt-cache show obfs4proxy</​code>​ 
 +Если его там не окажется,​ установим его из репозиториев Torproject:​ 
 +<code bash> sudo nano /​etc/​apt/​sources.list </​code>​ 
 +Добавляем в конец файла следующую строку:​ 
 +<code bash> deb http://​deb.torproject.org/​torproject.org obfs4proxy main </​code>​ 
 +И обновляем информацию о репозиториях:​ 
 +<code bash> sudo apt update </​code>​ 
 +Устанавливаем
 +<code bash> sudo apt-get install ​obfs4proxy ​</​code>​
 После этого заменяем содержимое файла **/​etc/​tor/​torrc** следующим После этого заменяем содержимое файла **/​etc/​tor/​torrc** следующим
 <code bash> <code bash>
Строка 152: Строка 169:
 BridgeRelay 1 BridgeRelay 1
 Exitpolicy reject *:* Exitpolicy reject *:*
 +ExtORPort auto
  
 ## CHANGEME_1 -> provide a nickname for your bridge, can be anything you like ## CHANGEME_1 -> provide a nickname for your bridge, can be anything you like
Строка 158: Строка 176:
 #​ContactInfo CHANGEME_2 #​ContactInfo CHANGEME_2
  
-ServerTransportPlugin ​obfs3 exec /usr/bin/obfsproxy managed+ServerTransportPlugin ​obfs4 exec /usr/bin/obfs4proxy
 </​code>​ </​code>​
 Перезапускаем Tor: Перезапускаем Tor:
 <code bash>​sudo service tor restart</​code>​ <code bash>​sudo service tor restart</​code>​
 Если при перезапуске Tor в логе Если при перезапуске Tor в логе
-<code bash>cat /​var/​log/​tor/​log|grep ​obfs3</​code>​+<code bash>cat /​var/​log/​tor/​log|grep ​obfs4</​code>​
 вы увидели подобное:​ вы увидели подобное:​
-<code bash>Jul 17 20:​01:​37.000 [warn] Server managed proxy encountered a method error. (obfs3 Could not set up listener.)</​code>,​ не пугайтесь - obfsproxy ​не был перезапущен и удерживает требуемый порт, все будет работать.+<code bash>Jul 17 20:​01:​37.000 [warn] Server managed proxy encountered a method error. (obfs4 Could not set up listener.)</​code>,​ не пугайтесь - obfs4proxy ​не был перезапущен и удерживает требуемый порт, все будет работать.
  
 Чтобы убедиться в правильности работы настроенного Tor, проверьте содержимое **/​var/​log/​tor/​log** на наличие следующих строк: Чтобы убедиться в правильности работы настроенного Tor, проверьте содержимое **/​var/​log/​tor/​log** на наличие следующих строк:
Строка 177: Строка 195:
 </​code>​ </​code>​
  
-==== Использование мостов ====+===== Использование мостов ​=====
 Мосты мы будем использовать при настроенной обфускации трафика (смотри предыдущий пункт). Мосты мы будем использовать при настроенной обфускации трафика (смотри предыдущий пункт).
-Чтобы получить мосты, заходим [[https://​bridges.torproject.org/​bridges?​transport=obfs3 | сюда]] либо отправляем на адрес **bridges@bridges.torproject.org** письмо с темой **get transport ​obfs3** и ждем в ответ список из трех адресов следующего вида:+Чтобы получить мосты, заходим [[https://​bridges.torproject.org/​bridges?​transport=obfs4 | сюда]] либо отправляем на адрес **bridges@bridges.torproject.org** письмо с темой **get transport ​obfs4** и ждем в ответ список из трех адресов следующего вида:
 <code bash> <code bash>
-obfs3 192.168.12.45:456 ea7b80910796ad4e0d06f0a431d3b38a3fae6e8c ​ +obfs4 111.111.111.113:2222 FF7652873C326B0AF41587409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 
-obfs3 192.168.12.56:789 73fkff417857b25c98ca7380fa09393814ad0b2b ​ +obfs4 111.111.111.114:2222 FF7652873C326B0EFC1587409E88C8612B8FE654 cert=fP23efkIdfeawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 
-obfs3 192.168.12.90:123 3b294384ac269c3a532908b296fbcd27f82ed373 ​+obfs4 111.111.111.115:2222 FF7652873C326B0AFDF658409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEeftWGgAgnBO97lOA iat-mode=0
 </​code>​ </​code>​
  
 После этого остается изменить файл **/​etc/​tor/​torrc** следующим образом:​ добавить в начало данные адреса в следующем формате:​ После этого остается изменить файл **/​etc/​tor/​torrc** следующим образом:​ добавить в начало данные адреса в следующем формате:​
-<code bash> 
-Bridge obfs3 <​IP-address 1:port 1> <​Fingerprint of bridge 1> 
-Bridge obfs3 <​IP-address 2:port 2> <​Fingerprint of bridge 2> 
-</​code>​ 
-и добавить следующие строки,​ //​убрав все остальные//:​ 
 <code bash> <code bash>
 UseBridges 1 UseBridges 1
-ClientTransportPlugin ​obfs3 exec /usr/bin/obfsproxy ​managed+ 
 +SocksPort 9050 
 +Exitpolicy reject *:* 
 +ExtORPort auto 
 + 
 +ClientTransportPlugin ​obfs4 exec /usr/bin/obfs4proxy ​managed 
 + 
 +bridge obfs4 111.111.111.113:​2222 FF7652873C326B0AF41587409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 
 +bridge obfs4 111.111.111.114:​2222 FF7652873C326B0EFC1587409E88C8612B8FE654 cert=fP23efkIdfeawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 
 +bridge obfs4 111.111.111.115:​2222 FF7652873C326B0AFDF658409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEeftWGgAgnBO97lOA iat-mode=0 
 </​code>​ </​code>​
 +
 Перезапускаем Tor: Перезапускаем Tor:
 <code bash>​sudo service tor restart</​code>​ <code bash>​sudo service tor restart</​code>​
 +===== Использование Tor через IPv6 =====
 +Установим IPv4-IPv6 туннель Miredo:
 +<code bash>​sudo apt install miredo</​code>​
 +
 +Проверим работоспособность:​
 +<code bash>
 +$ ping6 ipv6.google.com
 +PING ipv6.google.com(waw02s08-in-x0e.1e100.net) 56 data bytes
 +64 bytes from waw02s08-in-x0e.1e100.net:​ icmp_seq=1 ttl=56 time=352 ms
 +64 bytes from waw02s08-in-x0e.1e100.net:​ icmp_seq=2 ttl=56 time=111 ms
 +64 bytes from waw02s08-in-x0e.1e100.net:​ icmp_seq=3 ttl=56 time=123 ms
 +64 bytes from waw02s08-in-x0e.1e100.net:​ icmp_seq=4 ttl=56 time=113 ms
 +64 bytes from waw02s08-in-x0e.1e100.net:​ icmp_seq=5 ttl=56 time=150 ms
 +^C
 +--- ipv6.google.com ping statistics ---
 +6 packets transmitted,​ 5 received, 16% packet loss, time 5007ms
 +rtt min/​avg/​max/​mdev = 111.319/​170.281/​352.361/​92.092 ms
 +</​code>​
 +
 +Теперь мы можем работать с IPv6. Остается небольшой шаг для настройки Tor.
 +Если вы используете Tor Browser, вам нужно зайти в подкаталог /​path/​to/​tor/​tor-browser_en-US/​Browser/​TorBrowser/​Data/​Tor/​ и отредактировать файл torrc.
 +Смело удаляйте все содержимое конфига и вставляйте туда единственную строку:​
 +
 +<code bash>​ClientUseIPv4 0</​code>​
 +
 +Остальное содержимое конфига Tor при запуске дополнит самостоятельно.
 +Произведенная нами настройка запретит Tor'у подключаться к IPv4-адресам,​ которые могут блокироваться вашим провайдером. Здесь стоит отметить,​ что что в будущем могут блокироваться и IPv6-адреса,​ но на данный момент ни в России,​ ни в Беларуси этого не происходит.
 +Если вы под Linux используете установленный пакет Tor, приведите свой конфиг /​etc/​tor/​torrc к примерно такому виду:
 +<code bash>
 +ClientUseIPv4 0
 +SocksPort 9050
 +Exitpolicy reject *:*
 +ExitPolicy reject6 *:* 
 +ExtORPort auto
 +ClientTransportPlugin obfs4 exec /​usr/​bin/​obfs4proxy managed
 +</​code>​
 +Заметьте,​ при использовании IPv6 можно по-прежнему обфусцировать трафик.
 +
 +Как будет работать Tor при наших настройках?​ Первой из трех узлов в цепи Tor станет поддерживающая IPv6 нода, доступ к которой не заблокирован. Выходной останется IPv4-нода.
 +
 +{{tag>​tor Безопасность}}