- 13.11.18
- 1,473
- 3,000,000 ₽
- 23
Whonix: декомпозиция анонимности
два VM, одна модель угроз, ноль доверия к хосту
Когда говорят про анонимность в интернете, обычно имеют в виду одно из двух: либо запустить Tor Browser поверх своей обычной системы, либо поставить VPN и считать дело закрытым. Обе модели неправильные, и вот почему. В обоих случаях вы доверяете своей операционной системе. А она знает ваш реальный IP, знает какие программы запущены, и если что-то пойдёт не так — утечка происходит на уровне, до которого ни Tor, ни VPN не добираются.
Whonix решает эту проблему иначе. Не настройками — архитектурой. Идея простая и жёсткая: разделить сетевую функцию и рабочую среду на две физически изолированные машины, между которыми единственный канал — через Tor.
архитектура
Интернет
Видит только Tor exit node. Ни ваш IP, ни ваш провайдер — ничего реального.
↑↓
Whonix-Gateway
Единственный VM с доступом к сети. Весь трафик — только через Tor. Tor-демон живёт здесь.
↑↓
Whonix-Workstation
Ваша рабочая среда. Не имеет сетевого интерфейса наружу. Физически не знает ваш реальный IP.
↑↓
Host OS (ваша система)
Знает реальный IP. Изолирована от Workstation. VM — единственный мост.
Workstation → Gateway только через внутреннюю виртуальную сеть.
Workstation физически не маршрутизирует трафик в обход Gateway.
Разница с "просто включить Tor Browser" принципиальная. Если у вас утечка в браузере — Flash, WebRTC, баг в движке — и вы используете обычный Tor Browser на своей системе, эта утечка раскрывает реальный IP. В Whonix Workstation просто не знает реального IP. Его там нет. Утечь нечему.
Если в Workstation запустить вредоносный код, который пытается определить внешний адрес — он получит адрес Gateway, то есть ещё один узел Tor. Реального IP он не получит никогда, потому что Workstation с ним не связана архитектурно.
от чего whonix не защищает
Честная часть разговора. Whonix не защищает от глобального наблюдателя — это ограничение Tor, не Whonix. Если кто-то контролирует достаточно большую часть сети, корреляционные атаки возможны. Whonix не защищает от поведенческой деанонимизации — зашли в свой аккаунт, вас идентифицировали. Не защищает от атак на гипервизор — VM-escape это редкая, но существующая атака. И не защищает от аппаратных бэкдоров уровня прошивки.
Whonix защищает от сетевых утечек реального IP — и делает это лучше, чем всё остальное из доступных решений.
установка на kvm (рекомендуется)
KVM предпочтительнее VirtualBox — меньше поверхность атаки, лучше изоляция, нативная поддержка в Linux. Если хотите VirtualBox — всё то же самое, но проще: скачиваете OVA-образы с whonix.org и импортируете. Здесь разберём KVM.
шаг 01
Подготовить хост
Убедитесь, что виртуализация включена в BIOS (VT-x / AMD-V). Проверяете:
egrep -c '(vmx|svm)' /proc/cpuinfo
Если вернуло 0 — идёте в UEFI и включаете. Если больше 0 — всё готово.
Устанавливаете KVM и virt-manager:
sudo apt install qemu-kvm libvirt-daemon-system virt-manager
Добавляете своего пользователя в группу:
sudo usermod -aG libvirt $(whoami)
Перелогиниться после этого обязательно.
шаг 02
Скачать образы Whonix
На whonix.org в разделе Download → KVM скачиваете два архива: Whonix-Gateway и Whonix-Workstation. Формат — .qcow2.libvirt.xz.
Обязательно верифицируйте подпись. На сайте есть детальная инструкция. Не пропускайте — это не паранойя, это минимальная гигиена. Подмена образа при загрузке — реальный вектор атаки.
шаг 03
Распаковать и импортировать
Распаковываете архивы:
tar -xvf Whonix-Gateway*.libvirt.xz
tar -xvf Whonix-Workstation*.libvirt.xz
Внутри будут файлы .qcow2 и .xml. Копируете qcow2 в стандартный путь для образов:
sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/
sudo mv Whonix-Workstation*.qcow2 /var/lib/libvirt/images/
Импортируете XML-конфиги в libvirt:
virsh -c qemu:///system define Whonix-Gateway*.xml
virsh -c qemu:///system define Whonix-Workstation*.xml
шаг 04
Настроить сеть
Whonix использует внутреннюю виртуальную сеть между Gateway и Workstation. Нужно создать её в libvirt. В комплекте с образами идёт XML для сети — импортируете:
virsh -c qemu:///system net-define Whonix_network*.xml
virsh -c qemu:///system net-autostart Whonix
virsh -c qemu:///system net-start Whonix
После этого Gateway будет иметь два интерфейса: один наружу (через хост), второй во внутреннюю сеть к Workstation. У Workstation — только один: внутрь, к Gateway.
шаг 05
Запуск
Порядок важен: сначала Gateway, потом Workstation.
Через virt-manager — просто выбираете машины и запускаете. Через командную строку:
virsh -c qemu:///system start Whonix-Gateway
virsh -c qemu:///system start Whonix-Workstation
На Gateway дождитесь пока Tor установит соединение — в Whonix есть встроенный инструмент Whonix Check, он покажет статус. Только после этого работайте в Workstation.
шаг 06
Первичная настройка
После первого запуска обязательно обновите обе машины. В Gateway и Workstation по очереди:
sudo apt update && sudo apt full-upgrade
Поменяйте пароли по умолчанию — они публично известны, это учётные данные для начальной настройки, не для работы:
passwd
В Gateway — пользователь user, пароль changeme. В Workstation — то же самое. Меняйте оба.
про снапшоты
После базовой настройки сделайте снапшот обеих машин через virt-manager. Это ваша точка возврата — если что-то сломаете или захотите начать чистую сессию, откатитесь к снапшоту вместо переустановки. Gateway снапшотить особенно полезно: его конфиг меняется редко.
практика и режим работы
Workstation поставляется с Tor Browser, KeePassXC и базовым набором инструментов. Дополнительные программы устанавливаете внутри Workstation через apt как обычно — они тоже пойдут через Tor, потому что другого пути нет архитектурно.
Whonix хорошо сочетается с Qubes OS — там Gateway и Workstation работают как отдельные qube, и уровень изоляции становится ещё выше. Это уже следующий уровень паранойи, но он существует и задокументирован.
Важный момент про время. Whonix синхронизирует время через специальный механизм — sdwdate — который использует Tor для получения времени с onion-сервисов. Это делается намеренно: обычная синхронизация NTP по UDP раскрывает реальный IP и временну́ю зону. Не мешайте этому механизму, не ставьте поверх обычный NTP.
Ещё одно: не запускайте в Workstation ничего, что требует Flash, Java-плагинов или любых нативных компонентов, которые умеют обходить браузерный sandbox. В теории они всё равно пойдут через Tor, но зачем создавать дополнительную поверхность атаки.
Whonix — не для всех и не для каждой задачи. Это инструмент с конкретной моделью угроз: сетевые утечки реального IP при компрометации рабочей среды. Если это ваша угроза — Whonix решает её лучше всего из существующего. Если ваша угроза другая — изучите её сначала, а потом выбирайте инструмент.
Документация на whonix.org написана людьми, которые думают о безопасности серьёзно. Раздел "Security" и "DoNot" — обязательное чтение до того, как начать работать.
написано без спонсоров и партнёрских ссылок
whonix.org — официальный сайт / исходники на github.com/Whonix
сначала документация, потом руки
два VM, одна модель угроз, ноль доверия к хосту
Когда говорят про анонимность в интернете, обычно имеют в виду одно из двух: либо запустить Tor Browser поверх своей обычной системы, либо поставить VPN и считать дело закрытым. Обе модели неправильные, и вот почему. В обоих случаях вы доверяете своей операционной системе. А она знает ваш реальный IP, знает какие программы запущены, и если что-то пойдёт не так — утечка происходит на уровне, до которого ни Tor, ни VPN не добираются.
Whonix решает эту проблему иначе. Не настройками — архитектурой. Идея простая и жёсткая: разделить сетевую функцию и рабочую среду на две физически изолированные машины, между которыми единственный канал — через Tor.
архитектура
Интернет
Видит только Tor exit node. Ни ваш IP, ни ваш провайдер — ничего реального.
↑↓
Whonix-Gateway
Единственный VM с доступом к сети. Весь трафик — только через Tor. Tor-демон живёт здесь.
↑↓
Whonix-Workstation
Ваша рабочая среда. Не имеет сетевого интерфейса наружу. Физически не знает ваш реальный IP.
↑↓
Host OS (ваша система)
Знает реальный IP. Изолирована от Workstation. VM — единственный мост.
Workstation → Gateway только через внутреннюю виртуальную сеть.
Workstation физически не маршрутизирует трафик в обход Gateway.
Разница с "просто включить Tor Browser" принципиальная. Если у вас утечка в браузере — Flash, WebRTC, баг в движке — и вы используете обычный Tor Browser на своей системе, эта утечка раскрывает реальный IP. В Whonix Workstation просто не знает реального IP. Его там нет. Утечь нечему.
Если в Workstation запустить вредоносный код, который пытается определить внешний адрес — он получит адрес Gateway, то есть ещё один узел Tor. Реального IP он не получит никогда, потому что Workstation с ним не связана архитектурно.
от чего whonix не защищает
Честная часть разговора. Whonix не защищает от глобального наблюдателя — это ограничение Tor, не Whonix. Если кто-то контролирует достаточно большую часть сети, корреляционные атаки возможны. Whonix не защищает от поведенческой деанонимизации — зашли в свой аккаунт, вас идентифицировали. Не защищает от атак на гипервизор — VM-escape это редкая, но существующая атака. И не защищает от аппаратных бэкдоров уровня прошивки.
Whonix защищает от сетевых утечек реального IP — и делает это лучше, чем всё остальное из доступных решений.
установка на kvm (рекомендуется)
KVM предпочтительнее VirtualBox — меньше поверхность атаки, лучше изоляция, нативная поддержка в Linux. Если хотите VirtualBox — всё то же самое, но проще: скачиваете OVA-образы с whonix.org и импортируете. Здесь разберём KVM.
шаг 01
Подготовить хост
Убедитесь, что виртуализация включена в BIOS (VT-x / AMD-V). Проверяете:
egrep -c '(vmx|svm)' /proc/cpuinfo
Если вернуло 0 — идёте в UEFI и включаете. Если больше 0 — всё готово.
Устанавливаете KVM и virt-manager:
sudo apt install qemu-kvm libvirt-daemon-system virt-manager
Добавляете своего пользователя в группу:
sudo usermod -aG libvirt $(whoami)
Перелогиниться после этого обязательно.
шаг 02
Скачать образы Whonix
На whonix.org в разделе Download → KVM скачиваете два архива: Whonix-Gateway и Whonix-Workstation. Формат — .qcow2.libvirt.xz.
Обязательно верифицируйте подпись. На сайте есть детальная инструкция. Не пропускайте — это не паранойя, это минимальная гигиена. Подмена образа при загрузке — реальный вектор атаки.
шаг 03
Распаковать и импортировать
Распаковываете архивы:
tar -xvf Whonix-Gateway*.libvirt.xz
tar -xvf Whonix-Workstation*.libvirt.xz
Внутри будут файлы .qcow2 и .xml. Копируете qcow2 в стандартный путь для образов:
sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/
sudo mv Whonix-Workstation*.qcow2 /var/lib/libvirt/images/
Импортируете XML-конфиги в libvirt:
virsh -c qemu:///system define Whonix-Gateway*.xml
virsh -c qemu:///system define Whonix-Workstation*.xml
шаг 04
Настроить сеть
Whonix использует внутреннюю виртуальную сеть между Gateway и Workstation. Нужно создать её в libvirt. В комплекте с образами идёт XML для сети — импортируете:
virsh -c qemu:///system net-define Whonix_network*.xml
virsh -c qemu:///system net-autostart Whonix
virsh -c qemu:///system net-start Whonix
После этого Gateway будет иметь два интерфейса: один наружу (через хост), второй во внутреннюю сеть к Workstation. У Workstation — только один: внутрь, к Gateway.
шаг 05
Запуск
Порядок важен: сначала Gateway, потом Workstation.
Через virt-manager — просто выбираете машины и запускаете. Через командную строку:
virsh -c qemu:///system start Whonix-Gateway
virsh -c qemu:///system start Whonix-Workstation
На Gateway дождитесь пока Tor установит соединение — в Whonix есть встроенный инструмент Whonix Check, он покажет статус. Только после этого работайте в Workstation.
шаг 06
Первичная настройка
После первого запуска обязательно обновите обе машины. В Gateway и Workstation по очереди:
sudo apt update && sudo apt full-upgrade
Поменяйте пароли по умолчанию — они публично известны, это учётные данные для начальной настройки, не для работы:
passwd
В Gateway — пользователь user, пароль changeme. В Workstation — то же самое. Меняйте оба.
про снапшоты
После базовой настройки сделайте снапшот обеих машин через virt-manager. Это ваша точка возврата — если что-то сломаете или захотите начать чистую сессию, откатитесь к снапшоту вместо переустановки. Gateway снапшотить особенно полезно: его конфиг меняется редко.
практика и режим работы
Workstation поставляется с Tor Browser, KeePassXC и базовым набором инструментов. Дополнительные программы устанавливаете внутри Workstation через apt как обычно — они тоже пойдут через Tor, потому что другого пути нет архитектурно.
Whonix хорошо сочетается с Qubes OS — там Gateway и Workstation работают как отдельные qube, и уровень изоляции становится ещё выше. Это уже следующий уровень паранойи, но он существует и задокументирован.
Важный момент про время. Whonix синхронизирует время через специальный механизм — sdwdate — который использует Tor для получения времени с onion-сервисов. Это делается намеренно: обычная синхронизация NTP по UDP раскрывает реальный IP и временну́ю зону. Не мешайте этому механизму, не ставьте поверх обычный NTP.
Ещё одно: не запускайте в Workstation ничего, что требует Flash, Java-плагинов или любых нативных компонентов, которые умеют обходить браузерный sandbox. В теории они всё равно пойдут через Tor, но зачем создавать дополнительную поверхность атаки.
Whonix — не для всех и не для каждой задачи. Это инструмент с конкретной моделью угроз: сетевые утечки реального IP при компрометации рабочей среды. Если это ваша угроза — Whonix решает её лучше всего из существующего. Если ваша угроза другая — изучите её сначала, а потом выбирайте инструмент.
Документация на whonix.org написана людьми, которые думают о безопасности серьёзно. Раздел "Security" и "DoNot" — обязательное чтение до того, как начать работать.
написано без спонсоров и партнёрских ссылок
whonix.org — официальный сайт / исходники на github.com/Whonix
сначала документация, потом руки
Последнее редактирование: