Tor шлюз
Rutor - главный даркнет форум
Вход
Авторские статьи для пользователей Rutor
Виртуальный Tor-шлюз на QEMU/KVM
Автор темы Argos Дата начала 15 Авг 2021
Теги
kvm qemu tor whonix шлюз
Argos
Argos
Юзер Подтвержденный
15 Авг 2021
#1
В данной статье я хочу продемонстрировать процесс создания виртуального Tor-шлюза на qemu, данная схема аналогична системе whonix, но, в отличии от whonix, в данном случае мы проведем более тонкую настройку iptables, так же в этом случае можно выбрать любое графическое окружение (я предпоитаю вообще его не использовать на шлюзе) и использовать другую файловую систему (btrfs или zsh).
Сам процесс даже легче, чем установить самой whonix на kvm, приступим к процессу:
Устанавливаем QEMU и необходимые утилиты (в качестве менеджера виртуальных машин я буду использовать virt-manager)
Код:
sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin bridge-utils libvirt-daemon libvirt-clients
Добавляем пользователя в группу libvirt
Код:
sudo usermod-aG libvirt $ (whoami)
Перезаходим в систему, запускаем менеджер виртуальных машин и создаем виртуальную машину, для облегчения процесса настройки для новичков я буду использовать debian на xfce (продвинутым пользователям рекомендую Hyperbola GNU/Linux-libre)
Чтобы не заморачиваться с настройкой фаервола в основной системе я буду использовать мост для сетевого адаптера в гостевую систему, если вы часто меняете интерфейсы подлючения в основной системе, то используйте NAT.
Во время установки рекомендую зашифровать систему и использовать файловую систему btrfs, вместо ext4.
После установки системы закрываем её и создаем виртуальную локальную сеть в менеджере виртуальных машин, для этого переходим Правка>Свойства подлючения>Виртуальные сети, жмем на значок "+"
Мои настройки для этой сети вы можете видеть на скриншоте (название используйте любое, IPv6 отключаем)
screen01.jpg
Теперь в созданну систему необходимо добавить ещё 1 сетевой интерфейс, его настройки вы видете на скриншоте:
screen02.jpg
Запускаем нашу систему и начинаем настройку сетевых интерфейсов:
В 1 ом соединении выбираем тип Ethernet, и указываем адаптер, который идет из основной ОС
1.png
Отключаем на нем IPv6:
2.png
Создаем 2 ое подлючение, тип VLAN, указываем наш виртуальный сетевой интрефейс (В графу "Имя интерфейса VLAN" вписываем наше название сети):
3.png
В найстройках IPv4 задаем всё в ручную, добавляем новый адрес, в графу "адресс" вписываем адрес нашей виртуальной локальной сети, маска сети стандартная, IPv6 отключаем
4.png
Теперь приступим к настройке tor:
Устанавливаем Tor и obfs4proxy данной командой:
Код:
sudo apt install tor obfs4proxy
В данном примере я буду использовать мосты obfs4, на официальном сайте Tor Project получаем конфигурацию мостов (рекомендую обновлять хотя б раз в месяц)
Приступаем к редактированию конфигруационного файла Tor, для этого вводим команду:
Код:
sudo nano /etc/tor/torrc
В данный файл вставляем следущие строки (красным выделен ip адрес нашего шлюза):
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 192.168.100.1:9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort
TransPort 127.0.0.1:9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort
DNSPort 192.168.100.1:5353
DNSPort 127.0.0.1:5353
Чтобы использовать мосты, добавляем следующие строки:
UseBridges 1
ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy managed
bridge
Теперь исключим нежелательные выходные ноды, дописав в конце следующее (специалисты так же рекомендуют исключать ноды стран, входящих в альянс 14 ти глаз, но я с этим не заморачиваюсь):
ExcludeNodes {ru}, {ua}, {by}, {kz}
Пример того, как это должно выглядеть:
5.png
Сохраняем файл и переходим к настройке DNS:
Настроим маршрутизацию DNS запросов с серверов Tor, для этого откроем файл /etc/resolv.conf, очищаем этот файл, если там есть какие-либо записи и впишем следующую строку:
nameserver 127.0.0.1
Защитим этот файл от перезаписи следующей командой:
Код:
sudo chattr +i /etc/resolv.conf
Включим форвардинг, для трансляции трафика.
Для этого откроем файл /etc/sysctl.conf и раскомментируем в нем строку net.ipv4.ip.forward=1
Теперь приступим к настройке фаервола, т.к. настроек очень много, я облегчу вам жизнь, и прикреплю файл с кодом для скрипта, данный скрипт автоматически внесет правила в iptables, эти правилы для взяты с сайта Tor Project и из ОС whonix.
Создаем пустой файл с расширением.sh и копируем туда строки для скрипта, вбиваем свои значения в следующих пунктах:
_tor_uid="111" #As per assumption здесь указываем свой uid, на скриншоте показал, как узнать ваш uid:
6.png
В строках
# Your outgoing interface
_out_if="enp1s0" - имя вашего 1 го адаптера
# Your incoming interface and assigned local IP (Gateway)
_inc_if="tor-gateway" - имя вашего 2 го (виртуального) адаптера
_inc_ip="192.168.100.1" - IP адрес вашего шлюза
После внесения измений запускаем этот скрипт от суперпользователя.
Чтобы правила iptables не сбрасывались после перезагрузки установим пакет iptables-persistent следующей командой:
Код:
sudo apt install iptables-persistent
Соглашаемя с сохранением правил, и ждем окончания установки
Теперь внесем Tor в автозагрузку следующей командой:
Код:
sudo update-rc.d tor enable
Перезагружаем систему и проверяем работу тор
Чтобы проверить,, не идет ли трафик в обход тор, отключим сервис Tor:
Код:
systemctl stop tor
Проверяем доступ в интернет через бразуер (его быть не должно)
Если всё нормально, то удаляем всё ненужное из системы (бразуер, текстовый редактор, графическое окружение и т.д.)
Если во время загрузки шлюза произошел какой-либо сбой и подключение отсутствует, то перезапустите Tor следующей командой:
Код:
systemctl restart tor
Наш шлюз готов, чтобы подлючить к нему другую виртуальную машину, в качестве сетевого интерфейса новой ВМ (тип интерфейса VLAN), указывайте вашу виртуальную локальную сеть, в настройках сети этой ВМ создаете новый виртуальный адаптер (указывайте ему имя вашей виртуальной сети), в качестве адреса системы указывайте любой адрес из вашей виртуальной сети, в качестве шлюза и DNS указывайте IP адрес вашего Tor шлюза.
На этом всё, желаю удачи в настройке