Настройка tor через роутер

Точка доступа WiFi с анонимизацией через Tor

Сегодня я покажу, как сконфигурировать точку доступа Wi-Fi с автоматической анонимизацией всего исходящего трафика через сеть Tor, а также покажу некоторые полезные примеры применения такой точки доступа как для простого пользователя, так и для специалиста информационной безопасности.

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

Зачем нужна точка доступа с Tor?

В последнее время на фоне массовых блокировок IP-адресов все меньше людей продолжает сомневаться, нужны ли механизмы проксирования и анонимизации в их повседневной жизни. Бесплатных VPN-клиентов появляется все больше, но, как показывает практика, далеко не всем из них безопасно полностью доверять: то качество реализации хромает, то разработчики не слишком добросовестны.

Как известно, Tor «из коробки» предоставляет как механизм проксирования (обхода блокировок), так и продвинутый механизм анонимности. Вся связь между узлами в сети Tor шифруется, а соединение с целевым узлом устанавливается посредством как минимум трех случайно выбранных узлов. Взяв за основу Tor и автоматизировав все процессы, происходящие при подключении к точке доступа (AP — Access Point), в результате мы получим весьма интересный инструмент, польза от которого отнюдь не исчерпывается обходом блокировок.

Настройка точки доступа

Для создания точки нам понадобится какое-нибудь устройство, на котором можно запустить операционую систему (виртуальная машина тоже вполне сгодится). В качестве операционной системы, управляющей точкой, подойдет любой Linux-дистрибутив. Конкретно я буду использовать Debian-based. Для превращения всего этого в точку доступа понадобится WiFi-адаптер.

Если все это выполнено, можно приступать к первичной настройке. Итак, в первую очередь подключаем WiFi-адаптер. Вывод ip addr show wlan0 (wlan0 — имя интерфейса адаптера, может быть другим) должен быть такой, как на скрине.

Детали сетевого интерфейса адаптера

На данный момент сетевой интерфейс не сконфигурирован. Первым делом активируем WiFi, освободив его от влияния вездесущего Network Manager’а:

Теперь выберем и назначим интерфейсу адаптера IP-адрес, все адреса из маски которого будут назначаться в дальнейшем клиентским устройствам:

Третьим пунктом мы переведем адаптер в режим точки доступа: делать это мы будем одним из наиболее распространенных способов — с помощью утилиты hostapd, позволяющей сконфигурировать программную точку доступа. Hostapd присутствует в большинстве штатных репозиториев.

Далее нужно создать конфиг для hostapd (./hostapd.conf):

После этого уже можно будет запустить hostapd для перевода WiFi-адаптера в режим AP с описанной конфигурацией:

В некоторых версиях hostapd присутствует баг, связанный с блокировкой интерфейса Network Manager’ом и не позволяющий запускать беспроводную точку доступа. В результате запуска hostapd возникает следующая ошибка:

Подробно баг и возможный воркэраунд описан здесь.

Читайте также:  Подключаю вай фай роутер пишет пароль

Однако по понятным причинам подключиться к точке привычным образом пока будет невозможно.

Попытка подключения к точке доступа без DHCP

Для устранения этих причин нам понадобится другая утилита — dnsmasq, которая позволит развернуть службы DHCP и DNS. DHCP сейчас представляет больший интерес. Ставим dnsmasq из стандартного репозитория:

Dnsmasq также нуждается в предварительной настройке (./dnsmasq.conf):

Запускаем DHCP-сервер в составе dnsmasq:

Теперь подключение к WiFi точке доступа становится возможным с любых устройств. Чтобы наша точка наконец заработала в обычном режиме, осталось ответить на главный вопрос: откуда точка будет брать доступ в интернет. Для получения ответа предлагаю взглянуть на скрин ниже. Большинство наших посетителей, так или иначе соприкасавшихся с настройкой сетей, заметят на нем достаточно привычную схему связывания сетей. Именно этот способ мы и будем использовать.

Схема доступа в интернет через точку доступа WiFi

Как видно из рисунка, для доступа в интернет понадобится еще один сетевой интерфейс. Это может быть как Ethernet-подключение (eth0), так и второй Wi-Fi-модуль (wlan1). Например, при создании точки доступа из виртуальной машины такой интерфейс создается автоматически (eth0).

Сейчас у нас готово все, за исключением связи между интерфейсами (обозначенной красной линией). Эта связь представляет собой пересылку пакетов с одного интерфейса на другой. Для тестирования работоспособности нашей AP (точки доступа) пока сгодится и обычный механизм NAT:

На данном этапе AP заработала в обычном режиме: принимает клиентов и предоставляет им доступ в интернет с IP-адреса, выданного нам нашим провайдером. Это, конечно же, замечательно, но для наших целей недостаточно. Поэтому теперь настало время перенаправления всего клиентского трафика в Tor.

Перенаправление трафика точки доступа в Tor

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

И настроить его как Transparent Proxy с помощью конфигурационного файла (расположенного здесь: /etc/tor/torrc):

Этих настроек для наших нужд вполне достаточно, поэтому можем запускать Tor как сервис:

На текущий момент вывод netstat -tunapl должен быть примерно таким, как на скрине ниже. Мы видим все запущенные нами сервисы на текущий момент.

Открытые порты на точке доступа WiFi

Если сейчас подключиться к точке доступа, то мы по-прежнему будем выходить в интернет с домашнего IP, поэтому осталось всего-навсего включить проксирование через Tor с помощью iptables:

$ sudo iptables — t nat — A PREROUTING — i wlan0 — p tcp — j DNAT — to — destination 10.0.0.1 : 9040

$ sudo iptables — t nat — A PREROUTING — i wlan0 — p udp — dport 53 — j DNAT — to — destination 10.0.0.1 : 53

Также нужно удалить предыдущее правило, включающее маскарад между сетевыми интерфейсами (NAT):

Двумя новыми правилами мы добились следующего: подмены пункта назначения всего TCP-трафика в момент появления пакетов на сетевом интерфейсе Wi-Fi-адаптера и редиректа DNS-запросов (протокол UDP). Подмененный пункт назначения — запущенный сервис Tor с Transparent Proxy. Стоит обратить внимание, что на этих двух правилах настройка iptables завершается.

Теперь можно убедиться в работоспособности настроенной Tor на точке доступа, посетив с любого подключенного к ней устройства какой-нибудь сервис проверки IP. В моем случае 2ip.ru.

Точка доступа WiFi с автоматической анонимизацией трафика через Tor

Raspberry Pi как точка доступа с Tor

Raspberry Pi отлично подходит в качестве управляющего устройства точки доступа: всего несколько дополнительных действий с автоматической разверткой конфигурации при старте системы (systemd, initV), и останется всего лишь воткнуть USB-кабель в «розетку» для включения точки в любой нужный момент.

Читайте также:  Маршрутизатор вай фай адсл

Практическое применение точки доступа с Tor

Имея собственную AP, с которой соединяются клиентские устройства, мы по умолчанию получаем возможность наблюдения за всем трафиком своей сети, как пассивного, так и активного. Перенаправление в Tor — это лишь один из вариантов применения AP в прикладных задачах.

Анализ трафика клиентских устройств

Пожалуй, самый очевидный вариант, который сразу же приходит в голову. Никто не запрещает запустить на AP Wireshark или tcpdump и захватывать трафик конкретного клиента либо всех клиентских устройств сразу до момента перенаправления трафика в Tor. Возможности для захвата здесь ограничены лишь уровнем защищенности конечного устройства, пользователя и приложения. Тема достаточно известная, поэтому подробно на ней останавливаться не будем.

Захват трафика по MAC-адресу на точке доступа

Анализ сетевой активности приложений

В информационной безопасности часто возникает задача проанализировать сетевую активность определенного приложения. Например, у нас имеется мобильное приложение, которое при работе использует несколько известных нам хостов. Мы хотим методом черного ящика проверить, не ведет ли приложение какие-либо скрытые передачи на дополнительные удаленные хосты. Причем на самом устройстве мы это сделать не можем — нет соответствующих прав на уровне ОС. Зато у нас есть точка доступа, находящаяся полностью под контролем и с максимальными правами! Ее использование будет практически аналогично анализу трафика на целевом устройстве. Для этой цели сгодится и tcpdump установленный на Android.

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

Скрытые передачи в данном случае не обязательно должны быть вредоносными — это могут быть механизмы антиспама (контроль того, что API приложения действительно используется с мобильного устройства), рекламы и так далее. Мы можем пропускать трафик методом белого ящика — запрещено все, что не разрешено:

Источник

Настройка TOR на OpenWRT

OpenWRT — встроенная операционная система, основанная на ядре Linux, и предназначенная, в первую очередь, для домашних маршрутизаторов. Является альтернативой проприетарных прошивок, поддерживает ограниченный список устройств число которых постоянно растёт. Ознакомиться со списком можно тут.

Подготовка и установка TOR

Поменяем пароль root через telnet:

$ telnet 192.168.1.1 $ passwd новый_пароль 

Далее обновим пакеты введя команду:

Если у вас менее 4МБ места на ПЗУ роутера, то вам понадобится флеш-карта (для этого в маршруторизаторе должен быть USB-порт!).
Монтируем флешку с помощью block-mount. Устанавливаем TOR:

Перед настройкой

Обязательные шаги после установки пакета TOR:

  1. Настройте и синхронизируйте время чеpез ntp. Неправильная дата может привести к проблемам при старте tor или к его некорректной работе.
  2. При установке пакета tor система должна создать пользователя и группу tor, но при создании группы инсталлятор может допустить ошибку и в файле /etc/group не поставить перенос строки для группы tor, поэтому есть смысл лишний раз это перепроверить
  3. Проверьте все права на файлы необходимые tor они должны иметь маску 755 и принадлежать tor:tor
Читайте также:  Роутер tp link адрес подключения

Настройка TOR

Открываем конфигурационный файл /etc/tor/torrc и правим его.

Если необходимо чтобы все компьютеры подключенные к роутеру (неважно по кабелю или wifi) имели возможность получить доступ к TOR через SOCKS-proxy необходимо раскоментировать строчку:

SocksListenAddress 192.168.120.1:9100 # listen on this IP:port also 

Где 192.168.120.1 – ip адрес вашего роутера для локальной сети, а 9100 – порт на котором будет socks-сервер с tor.

Опциями SocksPolicy можно явно указать какие ip адреса будут иметь (или не иметь) доступ к socks серверу. В файле конфигурации эти опции закомментированы – рекомендуется их раскомментировать и настроить под себя.

Если по каким то причинам tor не стартует — воспользуйтесь опцией Log для выяснения проблемы.

Запуск TOR

Запускаем тор следующей командой:

Если tor уже запущен либо при старте возникают ошибки вида:

[warn] Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running? 

необходимо остановить его:

и запустить заново как написано выше.

Если лог включен, то признаком успешного запуска и подключения к сети tor будет строка:

Feb 21 19:12:17.034 [notice] Tor has successfully opened a circuit. Looks like client functionality is working. Feb 21 19:12:17.035 [notice] Bootstrapped 100%: Done. 

Далее достаточно прописать адрес и порт указанный опцией SocksListenAddress как-socks сервер в браузере или любой другой программе на вашем ПК.

Однако есть ряд программ которые не умеют работать с socks протоколом. Эту проблему можно решить средствами tor+iptables. Для этого необходимо включить в TOR режим прозрачного проксирования. В таком случае на подключенных к роутеру машинах вообще не нужно будет ничего настраивать, весь трафик будет идти через сеть TOR.

Использование прозрачного прокси TOR

Для этого в конфигурационный файл /etc/tor/torrc добавляем:

AutomapHostsOnResolve 1 TransPort 9040 DNSPort 53 

тем самым прозрачный прокси будет слушать порт 9040.

$ killall -9 tor $ /etc/init.d/tor start 

Настройка iptables

Далее необходимо весь трафик завернуть на порт 9040. Для этого необходимо использовать iptables с опцией REDIRECT –to-port. Для использования этой опции необходимо дополнительно собрать и установить пакет iptables-mod-nat-extra. В противном случае вы получите ошибку вида:

iptables v1.4.6: unknown option `--to-ports' 
$ opkg install kmod-ipt-nat-extra 

А можно собрать в своем репозитории или включить этот пакет сразу в прошивку. В конфигураторе OpenWrt этот пакет находится в

-> Network -> iptables iptables-mod-nat-extra 

После установки пакета необходимо “завернуть” трафик на прозрачный прокси сервер:

$ iptables -t nat -A PREROUTING -p tcp -d ! 192.168.120.1 --dport 80 -j REDIRECT --to-ports 9040 

Что означает – перебрасывать весь трафик идущий с 80-го порта (и не адресованый для 192.168.120.1) на порт 9040, на котором как раз и находится прозрачный прокси.

Тоже самое делаем и для dns запросов:

$ iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53 

Остальной udp трафик прийдётся либо пропускать без анонимизации, либо резать.

Собственно всё. Весь трафик приходящий на роутер будет перенаправлен в сеть TOR без каких-либо настроек на компьютерах в вашей локальной сети и все действия в сети будут анонимны (при правильном использовании!).

Источник

Оцените статью
Adblock
detector