[НЕАКТУАЛЬНО] Виртуальный Tor-шлюз на KVM

Статус
В этой теме нельзя размещать новые ответы.

Argos

Местный
Подтвержденный
Сообщения
1.490
Реакции
1.348
Продажи
4
Кешбек
2.61$
В данной статье я хочу продемонстрировать процесс создания виртуального 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 шлюза.
На этом всё, желаю удачи в настройке!
 

Вложения

  • скрипт iptables.zip
    1.3 КБ · Просмотры: 87
Последнее редактирование:
Спасибо, очень полезно!
 
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

Приветствую, киберсамурай Для начала необходимо оплатить и поднять сервер. Можешь выбрать любой хостинг по сути, но советую тот, на котором можно оплачивать сервер в крипте. Карты с дропами есть не у всех, да и заведомо выбирать сервис, который не поддерживает оплату в крипте, я не советую...
Ответы
5
Просмотры
В темных уголках даркнета, где анонимность и безопасность — это всё, каждый инструмент может быть либо вашим щитом, либо слабым звеном. Firejail — это мощный инструмент песочницы для Linux, который действует как укрепленный бункер для ваших приложений. Он изолирует программы, ограничивает их...
Ответы
6
Просмотры
Привествую уважаемый читатель. Данный гайд будет больше направлен на владельцев шопов или кому надо придерживать анонимную и безопасную связь с работниками или коллегами, чем на обычного юзера даркнет сети. Здесь расскажу как поднять "свой мессенджер" в сети ТОР. Много где находил вопросы по...
Ответы
17
Просмотры
Ранее я описывал, что из себя представляет Whonix (https://rutor.ink/threads/whonix-dlja-novichkov-obzor-sistemy.100631/), в данной статье я уже опишу его установку на KVM, в качестве основной ОС будет Ubuntu 23.04. Про установку на VirtualBox есть отдельная статья -...
Ответы
7
Просмотры
Whonix в облаке Сегодня я расскажу вам о том, как использовать whonix на своем выделенном сервере в kvm виртуалках через web. Введение Должно быть все знакомы с этой системой? Кратко расскажу о ней. Whonix — это система для анонимной работы, состоящая из двух виртуалок. Первая виртуальная...
Ответы
51
Просмотры
Назад
Сверху Снизу