Tor мост на VPS с обфускацией трафика

IsNull

ПОЛЬЗОВАТЕЛЬ

IsNull

ПОЛЬЗОВАТЕЛЬ
Статус
Вне сети
Регистрация
14 Авг 2017
Сообщения
198
Реакции
27
В этой статье пойдет речь о настройке своего моста Tor с последующей обфускацией трафика с помощью obfs4proxy. Возможно, вы уже знакомы с мостами, которые Tor Project подробно описывает на своем сайте. Тем не менее, некоторые страны, где законодательно осуществляется контроль сети Интернет, применяется глубокий анализ пакетов Deep packet inspection (DPI) для фильтрации потоков трафика, даже если они используют альтернативные IP-адреса.

Поэтому мы настроим наиболее популярный транспорт - обфусцирующие мосты. Они изменяют Tor-трафик, чтобы он был похож на «обычный» трафик.

Приступим к делу.

Установка пакетов Tor и obfs4proxy
Нам нужно установить Tor на своем VPS из официального репозитория и утилиту для обфускации. Сначала добавим репозитории Torproject. Для этого откроем sources.list командой:

nano /etc/apt/sources.list
и в конец добавим следующие строки:

deb Index of /torproject.org <DISTRIBUTION> main

deb-src Index of /torproject.org <DISTRIBUTION> main

deb Index of /torproject.org obfs4proxy main

<DISTRIBUTION> заменяем на имя дистрибутива своего сервера.

Далее добавим открытый gpg ключ Torproject:

gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
После чего обновляем список пакетов, а затем систему

apt update && apt upgrade
Далее устанавливаем последнюю стабильную версию Tor и obfs4proxy

apt install tor deb.torproject.org-keyring obfs4proxy
Теперь служба Tor установлена и работает.

Проверим состояние службы

systemctl status tor
В выдаче должна присутствовать одна строка зеленого цвета

Active: active (running). Если выдаст active (exited) – это нормально

На этом установка закончена, теперь перейдем к настройке параметров службы Tor.

Настройка параметров службы Tor
Нам нужно настроить файл конфигурации для работы службы в качестве моста с обфускацией трафика. Для этого выполняем следующие команды. Открываем файл с конфигурацией:

nano /etc/tor/torrc
Вставляем в начало файла следующие директивы:

BridgeRelay 1

Nickname <имя вашего моста (до 19 символов)>

ContactInfo RandomPerson

ExitPolicy reject *:*

PublishServerDescriptor 0

ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

SocksPort 0

ORPort 443

ExtORPort auto

AvoidDiskWrites 1

HeartbeatPeriod 24 hours



В ContactInfo можете указать свои контакты, если вы делаете открытый мост (в нашем случае это не нужно)

ExitPolicy reject *:* говорит, что

PublishServerDescriptor 0 означает не публиковаться нигде, это наш личный мост.

Для ORPort также как и для OpenVPN сервера будем использовать распространенные порты, предназначенные для зашифрованного соединения.



С настройками Tor все и теперь нам нужно скачать на свою машину файл с настройками обфускации. Для этого на своей машине открываем консоль и запускаем mc (Скачивать файлы с сервера на ПК можно разными способами, я пользуюсь Midnight Commander). Заходим на наш сервер и качаем файл obfs4_bridgeline.txt

Полный путь к файлу : /var/lib/tor/pt_state/obfs4_bridgeline.txt

После этого находим в логе номер порта обфускатора командой:

grep obfs4 /var/log/tor/log
Строка выдачи содержит случайно сгенерированный номер порта 40182 (он кэшируется в системе для дальнейшего использования и возобновляется после перезагрузки, но при первоначальной установке или переустановке генерируется заново, чтобы пользователи мостов в сети имели максимально различные порты)

Registered server transport 'obfs4' at '[::]:40182'

Открываем в фаерволе этот порт для входящих подключений, добавив новое правило:

iptables -A INPUT -p tcp --dport 40182 -j ACCEPT


Использование моста и обфускатора
Запускаем Tor Browser. В окне Tor Status нажимаем кнопку Open Settings. В окне Tor Network Settings нажимаем кнопку Configure. На вопрос, имеется ли цензура, отвечаем Yes. В окне конфигурации моста в поле ввода Enter custom bridges вводим IP адрес VPS и порт 443. Если локальный прокси отсутствует, то нажимаем Connect (если используется, то указываем его) Проверяем созданную цепочку. Первым хопом значится Unknown country (IP unknown). Это означает, что наш Tor мост работает.

Теперь сделаем обфускацию трафика и для этого нам понадобится файл obfs4_bridgeline.txt , который мы скачали с нашего сервера. Открываем этот файл и меняем маски <IP ADDRESS>:<PORT> на IP адрес VPS и порт обфускатора 40182

А вместо маски <FINGERPRINT> вписываем fingerprint (40 символов) своего моста, который получаем командой в терминале сервера

cat /var/lib/tor/fingerprint
Теперь в окне конфигурации моста в поле Enter custom bridges всавляем строку из файла obfs4_bridgeline.txt с введенными нами данными, типа:

obfs4 111.111.111.113:2222 FF7652873C326B0AF41587409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0
Перезапускаем Tor Browser и смотрим, что получилось. Теперь первым хопом значится Bridge: obfs4 (Swedan). Это значит, что обфускация трафика используется нашим мостом.



P.S. Можно сделать отдельные копии Tor Browser'а: одну для соединения через обычный мост, вторую для соединения через мост с дополнительной обфускацией трафика.
 

Пользователи, которые просматривали тему (Всего: 0)

Тема долгое время не просматривалась.