Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
wiki:tor [2015/07/17 19:45] |
wiki:tor [2017/08/16 11:56] [Проверка] |
||
---|---|---|---|
Строка 9: | Строка 9: | ||
При необходимости получения последней версии Tor (к примеру, для обфускации трафика) нужно установить пакеты из официальных репозиториев согласно [[https://www.torproject.org/docs/debian.html.en#ubuntu | данной инструкции]]. | При необходимости получения последней версии Tor (к примеру, для обфускации трафика) нужно установить пакеты из официальных репозиториев согласно [[https://www.torproject.org/docs/debian.html.en#ubuntu | данной инструкции]]. | ||
- | ====== Настройка: ====== | + | ====== Настройка ====== |
Бэкап базовой и новая конфигурация для privoxy: | Бэкап базовой и новая конфигурация для privoxy: | ||
Строка 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**. | + | Переключаем прокси в браузере. |
Проверяем, видит ли нас Большой Брат: | Проверяем, видит ли нас Большой Брат: | ||
Строка 80: | Строка 93: | ||
*При использовании иных программ в их настройках нужно установить прокси по протоколу socks 4a или 5.0 с настройками: | *При использовании иных программ в их настройках нужно установить прокси по протоколу socks 4a или 5.0 с настройками: | ||
- | <code bash> | ||
- | узел: 127.0.0.1 | ||
- | порт: 9050 | + | ====== Получение нового НИМа (смена конечной ноды 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> | ||
+ | Задаем пароль //new_tor_password// для доступа к Tor по telnet и получаем в ответ его хэш в виде строки //16:47015F09825889D86059FF44D9562496912AC67CD0EB93DAA25427F194//: | ||
+ | <code bash>tor --hash-password 'new_tor_password'</code> | ||
+ | Затем дополняем конфиг Tor | ||
+ | <code bash>sudo nano /etc/tor/torrc</code> | ||
+ | следующими строками: | ||
+ | <code bash> | ||
+ | ControlPort 9051 | ||
+ | HashedControlPassword 16:47015F09825889D86059FF44D9562496912AC67CD0EB93DAA25427F194 | ||
</code> | </code> | ||
+ | Остается создать скрипт со следующим содержимым (обратите внимание, ваш пароль хранится в скрипте в открытом виде!): | ||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | # Автоматическая смена НИМа в TOR | ||
+ | empty -f -i torin -o torout telnet 127.0.0.1 9051 | ||
+ | empty -s -o torin "AUTHENTICATE \"new_tor_password\"\n" | ||
+ | empty -s -o torin "signal NEWNYM\n" | ||
+ | empty -s -o torin "quit\n" | ||
+ | </code> | ||
+ | дать ему права на выполнение и запускать при необходимости. | ||
- | Данная конфигурация будет действовать при использовании настроек, указанных в статье. | ||
====== Работа с onion-ресурсами ====== | ====== Работа с onion-ресурсами ====== | ||
Внутри сети Tor доступны ресурсы в псевдо-доменной зоне [[http://ru.wikipedia.org/wiki/.onion|.onion]]. | Внутри сети Tor доступны ресурсы в псевдо-доменной зоне [[http://ru.wikipedia.org/wiki/.onion|.onion]]. | ||
Строка 96: | Строка 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> | ||
Строка 117: | Строка 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> | ||
Строка 128: | Строка 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 | ||
Строка 134: | Строка 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 в логе | ||
+ | <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. (obfs4 Could not set up listener.)</code>, не пугайтесь - obfs4proxy не был перезапущен и удерживает требуемый порт, все будет работать. | ||
Чтобы убедиться в правильности работы настроенного Tor, проверьте содержимое **/var/log/tor/log** на наличие следующих строк: | Чтобы убедиться в правильности работы настроенного Tor, проверьте содержимое **/var/log/tor/log** на наличие следующих строк: | ||
Строка 149: | Строка 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 Безопасность}} |