Whonix По умолчанию это всего лишь система для запуска Tor Browser,однако при наличии рук и свободного времени из Whonix можно сделать полноценную рабочую систему, и необходимость запуска системы в виртуалке этому нисколько не мешает.
Операционных систем для достижения анонимности и безопасности пруд пруди, но действительно стоящих, не так много. Когда мы говорим об анонимности в интернете, то чаще всего подразумеваем такие проекты, как Tor, I2P, Tor Browser, DNSCrypt и Live CD TAILS, включающий в себя все перечисленное. Однако существует менее известная, но очень интересная система Whonix, использующая виртуализацию в качестве средства изоляции рабочей станции от глобальной сети и способная защитить твою анонимность даже после взлома.
Чтобы обеспечить анонимность своего пребывания в Сети, мало установить Tor и завернуть в него весь исходящий трафик. Необходимо позаботиться о таких вещах, как утечки DNS, обнаружение твоего географического положения на основе настроек часового пояса, утечки имени пользователя (через SSH, например), утечки IP-адреса, свойственные некоторым сетевым протоколам, побороть проблему идентификации машины на выходных узлах Tor путем сравнения типов трафика. Ну и в целом придется серьезно повозиться, чтобы заставить все установленные сетевые приложения использовать Tor и не выдавать данных о твоей машине.
Ты можешь сделать все это сам, но лучше взять проверенное готовое решение, а именно дистрибутив TAILS. Он включает в себя множество преднастроенных приложений, корректно настроенный Tor и брандмауэр, так что в целом это достаточно надежная в плане сохранения анонимности и приватности система, которой не гнушался пользоваться сам Эдвард Сноуден.
Однако у TAILS есть два серьезных ограничения:
Во-первых, это Live CD, изначально позиционируемый как «одноразовый»: TAILS не умеет запоминать свое состояние между выключениями и не оставляет никаких следов на машине. Как средство для слива секретных документов АНБ несколько раз за всю жизнь это превосходный инструмент, как повседневно используемая система ужасный.
Во-вторых, запуская TAILS на голом железе, юзер автоматически открывает серьезную дыру в своей анонимности. Ведь конфигурация ПК тоже позволяет идентифицировать человека.
Плюс TAILS никак не защищена от компрометации системы. Любой взломавший твою машину сразу деанонимизирует и твой IP, и тебя самого. Чтобы этого избежать, запланировано размещать ключевые системные сервисы в песочницах но только в версии 3.0, которая непонятно когда выйдет, да это и не даст стопроцентной защиты. А самое печальное, что «благодаря» необновляемости системы ты не сможешь быстро залатать дыру, с помощью которой тебя взломали, придется ждать официальный релиз свежей версии TAILS (при условии, что информация о дыре находится в открытом доступе).
Для решения всех этих проблем как раз и предназначен Linux-дистрибутив Whonix, преследующий те же цели, но достигающий их несколько иным путем.
Сила виртуализации
TAILS распространяется в форме немодифицируемого Live CD не только для защиты от троянов и от возможных утечек конфиденциальных данных при получении физического доступа к машине, но и для банальной «защиты от дурака». Разработчики не могут быть уверены, что пользователь корректно настроит каждое установленное им приложение и не спровоцирует утечку данных или раскрытие своего IP. А если систему нельзя менять, то и проблема пропадает сама собой.
Whonix, с другой стороны, изначально разрабатывался с оглядкой на возможность модификации системы и «настройки под себя», поэтому, кроме используемых в TAILS методов защиты от утечек и фингерпринтинга, здесь реализована довольно интересная архитектура с применением виртуализации. Whonix распространяется в двух образах VirtualBox: один играет роль шлюза в глобальную сеть через Tor, а второй это рабочая машина с браузером, чат-, email-клиентами и другим софтом, в том числе тем, что можно установить из репозиториев. Оба образа основаны на Debian.
Единственный способ выйти во внешний мир для рабочей машины это шлюз, единственный путь трафика во внешний мир из шлюза и обратно через сеть Tor. Неважно, насколько протекающий софт ты установишь на рабочую машину, он все равно тебя не выдаст. Получить доступ к интернету в обход Tor приложение не сможет, IP-адрес увидит только локальный, именем пользователя для него будет просто user (разработчики не рекомендуют его менять), а информацией о железе стандартная конфигурация VirtualBox. Тебя не удастся отследить даже по временной зоне, часы здесь настроены на UTC, а для синхронизации времени используются time stamp’ы HTTP-заголовков, отдаваемых случайно выбранными веб-серверами.
Самая же интересная черта системы в том, что она вовсе не требует, чтобы ты использовал именно рабочую машину Whonix. Главный компонент здесь это шлюз, к которому можно подцепить любую другую запущенную в виртуалке ОС, будь то Ubuntu, Windows или OS X, и получить почти такой же уровень защиты от отслеживания (см. официальную документацию). «Почти такой же» потому, что, кроме графического окружения и набора приложений, рабочая машина Whonix включает набор инструментов и настроек, позволяющих защитить тебя от отслеживания с помощью сравнения типов трафика на выходных узлах Tor (identity correlation through Tor circuit sharing) и определения настроек твоих часов и uptime’а через NTP и метки времени TCP/ICMP (все это подробно описано на wiki-странице Whonix).
Первая задача здесь решается с помощью изоляции потоков (stream isolation), все поставляемое в комплекте рабочей машины ПО заранее настроено на использование разных портов Tor (SocksPort) и враппера uwt, перенаправляющего трафик на разные Tor-порты, если приложение само не предоставляет такой возможности (используется для apt-get, cURL, Git и других консольных инструментов). Поэтому трафик всех приложений идет через разные цепочки Tor-узлов на разные выходные узлы. Вторая проблема решается с использованием утилиты sdwdate, которая синхронизирует часы не через NTP, а обращаясь к случайно выбранным серверам.
Whonix поддерживает любые виды туннелирования трафика Tor через VPN/SSH (или наоборот). Эта функция может очень пригодиться, если твой провайдер блокирует Tor (в этом случае VPN-клиент устанавливается на шлюз и Tor использует его для связи с другими узлами), или для скрытия трафика уже после того, как он покинул выходной узел Tor (VPN-клиент устанавливается на рабочую машину, так что Tor роутит уже зашифрованный трафик).
Пробуем
Итак, Whonix это два преднастроенных образа для VirtualBox или Linux KVM. Поэтому систему можно запустить в любой операционке, для которой есть официальная версия VirtualBox, а это Linux, Windows, OS X и Solaris. Все, что для этого требуется сделать, это скачать оба образа (суммарный объем 3,5 Гбайт) и затем импортировать их в VirtualBox с помощью меню File Import Appliance.
Далее запускаем Whonix-Gateway и дожидаемся его загрузки. После появления рабочего стола (да, у шлюза есть графический интерфейс, так что разберутся даже самые маленькие) система предложит согласиться с дисклеймером, запустить Tor и обновить пакеты, затем запустится утилита whonixcheck, которая проверит подключение к Tor и корректность настроек системы, одновременно с ней отработает служба синхронизации времени sdwdate.
Сразу скажу о двух неочевидных моментах. Шлюз и рабочая станция Whonix никогда не подключаются к интернету напрямую и используют Tor даже для обновления пакетов из сетевых репозиториев. Поэтому сразу приготовься к довольно значительному проседанию скорости (я получил невероятно медленные по нынешним меркам 500 Кбайт/с).
Второй момент шлюз совсем не обязательно запускать с графическим интерфейсом, который будет понапрасну жрать оперативку. Более того, здесь есть механизм, автоматически загружающий шлюз в текстовом режиме, если в настройках виртуалки выделить машине 192 Мбайт. Чтобы сделать это, достаточно кликнуть правой кнопкой на Whonix-Gateway, выбрать Settings и на вкладке System сдвинуть ползунок до значения 192. В итоге ты ничего не потеряешь, так как все, что позволяет сделать графический интерфейс, это перезапустить Tor кликом мыши, отредактировать настройки брандмауэра и запустить интерфейс мониторинга Tor под названием arm (и он текстовый).
Отключаем графику на шлюзе
После окончания загрузки шлюза можно запускать десктоп. Последовательность действий тут почти такая же: запускаем виртуалку, соглашаемся с дисклеймером, соглашаемся обновить пакеты, ждем окончания проверки соединения с Tor и синхронизации времени. Далее можно начать работать. Правда, предустановленных приложений тут кот наплакал. Из повседневно необходимых только Tor Browser, IRC-клиент XChat и KGpg. Причем первый даже не установлен; после клика по иконке запускается инсталлятор, который предлагает выкачать браузер через Tor.
Остальной необходимый софт ты волен ставить из репозиториев с помощью стандартной команды sudo apt-get install приложение
. В ответ на запрос пароля вводим changeme и, конечно же, меняем пароль с помощью команды passwd
.
Stream isolation
Устанавливая сторонний софт в Whonix, ты сразу столкнешься с проблемой, называемой identity correlation through Tor circuit sharing. Не решусь перевести этот термин, просто скажу, что по умолчанию левый софт использует системные настройки SOCKS-прокси, а это единый стандартный порт Tor (TransPort). Проблема такой настройки в том, что, просто сравнивая типы трафика и их временную связь (например, ты можешь использовать Telegram одновременно с WhatsApp), выходной узел может установить связь между разными сеансами использования приложений и идентифицировать тебя (но не твой IP или географическое положение).
Для борьбы с данным типом атаки в Tor есть механизм, названный stream isolation, он позволяет разделить трафик разных приложений, направив его в разные цепочки узлов Tor. Использовать его довольно просто надо всего лишь создать в настройках Tor несколько дополнительных портов SOCKS и настроить сами приложения так, чтобы они использовали разные порты. Whonix уже имеет такие настройки: предустановленный софт использует порты 9100–9149. Также в нем есть набор свободных портов для стороннего софта:
- 9153–9159 свободные;
- 9160–9169 свободные с опцией IsolateDestAddress;
- 9170–7179 свободные с опцией IsolateDestPort;
- 9180–9189 с обеими опциями.
Все, что остается, настроить софт на использование адреса 10.152.152.10 и любого из этих портов в качестве адреса SOCKS-сервера. Причем использовать порты с опциями IsolateDestPort и/или IsolateDestAddr я бы не рекомендовал. Они разделяют даже трафик одного приложения на основе адреса удаленного порта или адреса. В большинстве случаев это избыточно и очень накладно (представь, если торрент-клиент или веб-браузер будет использовать разные цепочки узлов Tor для всех соединений).
Linux Kodachi
Linux Kodachi это операционная система, которая базируется на Debian, предоставляет надежную, контр криминалистическую анонимную/безопасную операционную систему, учитывающую все особенности и тонкости процесса анонимности и безопасности.
Задача Kodachi обеспечение максимально анонимного и безопасного доступа к сети и защита самой системы. В Kodachi весь трафик принудительно проходит через VPN, затем через сеть Tor с DNS шифрованием. (VPN уже преднастроен и к тому же он бесплатный).
Kodachi позиционируется как anti-forensic-разработка, затрудняющая криминалистический анализ накопителей и оперативной памяти. Kodachi более продумана чем Tails.
В качестве среды рабочего стола для Kodachi была выбрана XFCE, дизайн системы сильно схож на MacOS. Необходимые параметры нагрузки на систему, состояния сетей и т.д. выводятся в режиме реального времени и отображаются прямо на рабочем столе, что в первую очередь позволяет мониторить используемые ресурсы системы и отслеживать работу сети Tor и VPN.
В Kodachi интегрирована поддержка DNScrypt это протокол и одноименная утилита, шифрующая запросы к серверам *OpenDNS методами эллиптической криптографии. Она устраняет целый ряд типичных проблем, вроде *DNS Leak и оставления следов работы в сети на серверах провайдера.
*OpenDNS интернет-служба, предоставляющая общедоступные DNS-серверы. Имеет платный и бесплатный режим, может исправлять опечатки в набираемых адресах, фильтровать фишинговые сайты в случае набора неправильных запросов, может предлагать страницу с поиском и рекламой.
*DNS Leak это утечка IP ближайшего к системе DNS-сервера, которая может происходить при резолвинге. DNS-запросы могут идти в обход Proxy/VPN/TOR-подключения, то есть напрямую к DNS-серверу интернет-провайдера, что приведет к раскрытию реального местонахождения. Утечка DNS может происходить через браузер или дополнения в нем (Flash, Java, WebRTC, Silverlight).
Если потребуется крыть IP-адрес в Р2Р-сетях можно использовать «PeerGuardian», если необходимо поработать с подозрительными процессами, то их можно легко изолировать при помощи встроенной песочницы «Firejail». Приятной опцией в данной ОС является возможность быстро изменять выходные узлы с опцией выбора конкретной страны используя «Multi Tor».
В общем говоря, Kodachi имеет приличное количество предустановленного софта для решения любых задач, например для шифрования информации (TrueCrypt, VeraCrypt), для передачи конфиденциальных сообщений (GnuPG, Enigmail, Seahorse, GNU Privacy Guard Assistant), для заметания следов (MAT, Nepomuk Cleaner, Nautilus-wipe, BleachBit).
К тому же в Kodachi есть собственный браузер основанный на Tor Browser, в который встроили наилучшее и вырезали проблемные модули.
В общем говоря, Kodachi идеальный инструмент почти для всего. Сразу из коробки Мы получаем огромное количество программ для безопасного/анонимного доступа к сети, связи по зашифрованным каналам через разные программы, софт для заметания следов, тотального шифрования всего потенциально шифруемого и т.д. (Это только малая часть преимуществ Kodachi)
Kodachi сильно сбалансированная система, это мощный инструмент для постройки системы анонимности и безопасности во всех пониманиях. Эту ОС лучше всего использовать в связке с зашифрованными носителями на которых будет храниться информация с высшим приоритетом конфиденциальности.
Именно Kodachi является лучшей системой на данный момент, она позволяет решать любые задачи.
Плюсы:
- быстрый старт (то есть быстрый доступ к сети как у Tails)
- большое количество предустановленных программ
- сильная система анонимности/безопасноти
- не сильно требовательна к железу
Как таковых минусов, в системе нет, но они могут проявиться в случае узконаправленных задач, но это причастно любой системе.
Есть еще неплохие ОС такие как Subgraph и Qubes
Qubes OS использует интересный принцип запуска приложения, каждое из них запускается в отдельной виртуальной машине, разделенных на классы в зависимости от уровня важности для ОС. Браузер запускается в одной виртуалке, мессенджер в другой машине, а для пользователя обе программы будто запущены на одном рабочем пространстве. Изолирование приложение означает, что если будет загружено вредоносное ПО на рабочий компьютер, то личные файлы не будут скомпрометированы. Но Qubes OS работает только после установки на внутренний накопитель, Live-режима у нее нет.
Ключевая идея Subgraph OS запуск пользовательских приложений в изолированных песочницах. Для этого задействована подсистема «Oz», состоящая из демона(системного сервиса), получающего запросы на создание sandbox’ов, X-сервера Xpra и набора специальных утилит.
Subgraph OS слишком сырая система, поэтому для загрузки доступна только alpha-версия.
Subgraph и Qubes неплохие, но не на столько, что бы их ставить в лидеры. Subgraph OS слишком сырая, Qubes слишком заморочливая в плане настройки.