Whonix в облаке

Добро пожаловать на наш форум!

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


Diogenes

Команда проекта
Старший Модератор

Регистрация
Сообщений
384
Репутация
133
Сделок
Сегодня я расскажу вам о том, как использовать whonix на своем выделенном сервере в kvm виртуалках через web.

Введение

Должно быть все знакомы с этой системой? Кратко расскажу о ней.

Whonix — это система для анонимной работы, состоящая из двух виртуалок.

Первая виртуальная машина — Gateway, является шлюзом и подключена напрямую к интернету. Обладает настроенным фаерволлом и пропускает только тор траффик через себя.
Вторая виртуальная машина — Workstation, рабочая станция. В которой вам и предстоит работать. Не имеет прямого доступа к интернету и подключена только к шлюзу.

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

К чему это мы? Точно. Все в данной схеме конечно хорошо, однако есть пара нюансов.

1 - Ваши данные аккаунтов, история шелла, файлы хранятся в виртуальной машине. В отличие от системы,типа Tails , сессии не эфемерны.
2 - Иногда появляются уязвимости конкретных программных виртуальных решений virtualbox, kvm,xen и так далее.

Что же делать?

Можно использовать средства шифрования, полнодисковое luks или же на основе монтирования томов, такое как Veracrypt. Однако вся инфа все еще хранится у вас на пк.

А что если ваш анонимный Whonix будет в облаке?

Основная идея

Главная идея whonix в отделении важных структур друг от друга. Как в обычных virtualbox с сетевым шлюзом, так и более расширенные системы Qubes, где имеется гипервизор xen более близкий к железу. Давайте возьмем эту идею во главу угла. Отделим также и траффик с данными от нашей машины.

Мы будем использовать выделенный сервер с интерфейсом cockpit, kvm виртуализацией и onion адреса для создания анонимных виртуалок Whonix в сети тор. Подключение к ним будем производить через веб-браузер тор или же путем проброса портов через ssh onion.

Поехали!

Подготовка сервера

Первым делом нам нужно приобрести dedicated сервер в аренду.
Идеальным случаем, конечно же является приобретение физического сервера и размещение его анонимно в контролируемом вами месте, при этом не связанном с вами. Однако это муторно и тянет на отдельную статью.

В большинстве случаев можно арендовать сервер у трастовых провайдеров, с оплатой за крипту, через анонимные сети например тор. Одни из таких провайдеров это flokinet, nicevps.
Оба они позволяет зарегистрировать сервер в безопасных локациях и не привязывать какие-либо данные. Если быть точным в floki надо вписывать данные почты и личности при покупке, но все данные(как они пишут) могут быть фейковые. Кроме конечно почты.

В nicevps есть возможность зарегистрироваться, даже не указывая емаил. Просто с помощью никнейма.
Оба провайдера позволяют оплачивать сервера за крипту. Рекомендую через Monero, анонимную криптовалюту с неотслеживаемым блокчейном.

Также рекомендую взять именно выделенный сервер. Берите побольше оперативы и жесткий диск быстрый ssd на nvme.
Конечно вы можете взять kvm-based сервер, если вы сильно ограничены в средствах и потом внутри него развернуть еще один kvm с помощью nested virtualization. https://docs.fedoraproject.org/en-US/quick-docs/using-nested-virtualization-in-kvm/

Дело ваше,лучше dedicated.


Развертывание whonix

Первым делом нам необходимо установить систему на ваш дедик. Можно взять какую-нибудь обычную os вроде ubuntu 22. Большинство провайдеров продают сервер сразу с размещением ОС. Однако если хотите вы можете выбрать установку самостоятельно и настроить все также, как в обычной установке. Эту часть я описывать не буду, потому как она банальна и есть во всех гайдах по убунту.

Только рекомендую поставить полнодиское шифрование. В убунту это происходит при установке. Спрашивает галки lvm и шифрование системы через luks.
Тогда при загрузке системы у вас будет запрашивать пароль для расшифровки на лету.


1705186184091.png



Также вы можете настроить шифрование в отдельных системах внутри kvm позднее.

Первым делом нам необходимо установить cockpit

Это интерфейс для управления сервером, основная интересная фишка которого это плагин для управления виртуалками.

Bash:

$ sudo apt install cockpit
$ sudo apt install cockpit-machines
$ sudo systemctl start cockpit
$ sudo systemctl enable cockpit

Обычно эти команды уже подтягивают за собой все необходимое для kvm, если же нет, то установите отдельно.

Bash:

$ sudo apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils

Также установите tor и проверьте его работу. Он будет нужен нам для подключения к системам. Вы конечно можете купить домен к вашему серверу и настроить cloudflare для более быстрой скорости вместо onion, однако это сильно снижает вашу безопасность.

Bash:

$ sudo apt install tor
$ sudo systemctl status tor

Теперь надо отредактировать конфиг тора, чтобы включить онион домен и пробросить на него наш cockpit админку и ssh.

Код:

$ sudo nano /etc/tor/torrc

В строках где есть hidden service должно быть все так
1705186315510.png


Также можете прописать ниже HiddenServicePort 22 127.0.0.1:22 для проброса ssh.
Рестартим тор.

Код:

$ sudo systemctl restart tor
$ sudo cat /var/lib/tor/hidden_service/hostname

Данной командой вы выводите на экран ваш tor домен.

Теперь подключимся к нашему серверу по домену онион. Логин пароль вашей учетки сервера. Интерфейс cockpit выглядит следующим образом.
1705186387062.png



1705186396329.png



Как мы видим после входа вверху есть кнопка limited access. Вы можете включить административный вписав туда ваш пароль на время сессии.


1705186456947.png



Внизу слева есть вкладка терминал через нее можно настраивать основной серсерв в консоли прямо через веб-интерфейс. Не забудьте в вашем тор-браузере разрешить Сanvas, иначе будет терминал будет корежить.

1705186467963.png

В терминале нам будет необходимо установить whonix на kvm с помощью команд. После завершения у нас будут виртуалки во вкладке virtual machines в cockpit. Там уже будет легко управлять ими с помощью кнопок.
Итак. Скачиваем whonix и импортируем необходимые файлы в kvm.

Код:

$ wget https://download.whonix.org/libvirt/17.0.3.0/Whonix-Xfce-17.0.3.0.Intel_AMD64.qcow2.libvirt.xz
$ sudo virsh -c qemu:///system net-define Whonix_external*.xml
$ sudo virsh -c qemu:///system net-define Whonix_internal*.xml
$ sudo virsh -c qemu:///system net-autostart Whonix-External
$ sudo virsh -c qemu:///system net-start Whonix-External
$ sudo virsh -c qemu:///system net-autostart Whonix-Internal
$ sudo virsh -c qemu:///system net-start Whonix-Internal
$ sudo virsh -c qemu:///system define Whonix-Gateway*.xml
$ sudo virsh -c qemu:///system define Whonix-Workstation*.xml
$ sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/Whonix-Gateway.qcow2
$ sudo mv Whonix-Workstation*.qcow2 /var/lib/libvirt/images/Whonix-Workstation.qcow2


1705186529281.png



После этого в cockpit у вас должно быть такое в разделе сеть и machines.
1705186555315.png


1705186562349.png


Нам остается только включить виртуалки, начнем с gateway. Это делается по run вверху страницы. Кстати замечу, что пока система не запущена, мы можем регулировать выделенные ей ресурсы. И оперативную память. Шлюзу лучше все оставить, как есть. Пусть будет в консольном режиме. А Workstation, можно будет повысить.


1705186594366.png



Как мы видим, по умолчанию импортированные виртуалки не имеют вкладки vnc, что неудобно. Ведь мы хотим получить доступ прямо с браузера. Исправим это.

Код:

$ sudo virsh list all
$ sudo virsh edit 14

Эти команды выводят список виртуалок, а потом редактируют выбранную вами.
1705186639300.png


Нам необходимо сделать так чтобы между devices было прописано новый закрывающийся тег vnc.

<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us'> <listen type='address' address='127.0.0.1'/> </graphics>

1705186658334.png



Теперь после рестарта виртуалки. У нас появится интерфейс прямо в нашем тор-браузере.
1705186676284.png



После этого сделаем тоже самое с нашей второй виртуалкой и настроим их, как обычно. Надо согласится с правилами и включить в них тор при первой старте. Логин виртуалок user пароль changeme Рекомендуется поменять в дальнейшем, с помощью sudo passwd user

Соглашаемся со всем нажав understood.


1705186704702.png




1705186711535.png




1705186719969.png




1705186733852.png


1705186744019.png


1705186753753.png


С помощью утилиты nyx в gateway мы можем посмотреть статистику тор. И сменить туннели, также настроить конфиг. По умолчанию это не нужно.


1705186774636.png


Также графический интерфейс workstation.

Мы можем иметь доступ к системе только через браузер. Но также, если есть необходимость мы можем пробросить порт с помощью ssh по нашему домену onion для virt manager или vnc. Клиенты можно установить в вашей системе.
1705186806737.png



Порты написаны справа.

Для проброса на вашем обычном пк ставим тор и вводим команду. С помощью torsocks вы будете подключаться к onion домену и прокидывать порт вашей виртуалки


Bash:

torsocks ssh -L 5902:localhost:5902 [email protected]

Подключится теперь вы можете с помощью клиента просто по локальному адресу.
1705186848604.png



Самое интересное,что на сервере вы можете использовать и другие ОС в kvm торифицировав их с помощью шлюза whonix gateway. Даже windows. Разумеется необходимо будет включать сеть whonix internal в настройках нужной виртуалки и прописать в самой системе настройки сетевого адаптера.

1705186870238.png





В самой системе прописываем нечто подобное в сетевых настройках.
# увеличить последний октет IP-адреса на дополнительных рабочих станциях
IP address 10.152.152.50 Subnet netmask 255.255.192.0 Default gateway 10.152.152.10 Preferred DNS server 10.152.152.10

И да удобство cockpit в том, что мы через веб управление можете легко клонировать выбранную вами систему. И получить дополнительное рабочее место.
1705186891839.png




Кейсы использования


1. Перелеты. Предположим вы хотите отправиться в другую страну. Однако точно знаете, что вам предстоит проверка техники. Особенно это актуально в нынешние времена.
Можно спорить на границе и не показывать свои данные, рискуя остаться. Однако можно перенести все критические опасные данные в облако и запомнить только адреса и пароль для подключения.
И вот вы спокойно показываете всю вашу технику, потому как вы чисты.
По прилету вы спокойно подключаетесь к своей облачной анонимной системе. Кстати не забывайте делать бэкапы!

2. Усиленная безопасность. Вы жесткий параноик и хотите максимально обезопасить себя от возможных угроз. Физическое отделение поможет вам. Никакие тайминг атаки в данном случае невозможны. Ведь ваш реальный пк подключается только к экрану системы через тор которая сама работает через тор в виртуалках в облаке. Ух закрутили!

3. Анонимизация сотрудника. Возникла ситуация анонимизировать сотрудника, который либо совсем не разбирается в безопасности, либо ему доступен только тор-браузер. Не беда. Выдаете ему облако в виде веб-сайта. Уж войти то он сможет! Кстати замечу ему не обязательно давать виртуалки whonix, можно и дать ему Windows в отдельном kvm, который просто подключен к шлюзу Whonix. Крайне удобно!

PS:
Каждый найдет способ применения данного решения для себя. Удачи вам и безопасной работы. Спасибо за внимание!
 
Сверху