Приветствую всех посетителей форума. Сегодня я попробую рассказать про базовые принципы QubesOS. Здесь будет затронута лишь небольшая часть информации, которая должна ввести пользователя в курс дела.
Qubes OS - операционная система, ориентированная на безопасность, которая достигается за счёт изоляции. Гипервизор Xen помогает изолировать и реализовывать каждый значимый процесс в отдельной виртуальной машине. В контексте безопасости это значит, что если одна из виртуальных машин будет заражена или взломана — то негативные последствия ограничатся только пределами этой виртуальной машини.
В отличии от whonix, который поставляется в виде виртуальных машин на основную ОС, Qubes — это полноценный дистрибутив, который устанавливается в качестве основной ОС. Qubes показывает все окна на рабочем столе вместе с цветными рамками, которые указывают на уровень доверия к каждой ВМ. Qubes также позволяет выполнять безопасные операции копирования/вставки между машинами, передачу файлов и сетевое взаимодействие между ВМ и Интернетом.
Насколько уязвим?
В качестве кода для обеспечения изоляции Qubes использует микроядро, что в теории дает меньше потенциальных багов в безопасности. Компрометация системы возможна только если атакующий сумеет скомпрометировать непосредственно гипервизор Xen. Преимущество Qubes по сравнению с VMware или VirtualBox в том, что у Xen нет полноценной хостовой операционной системы, которую можно скомпрометировать.
Рекомендованные параметры
Процессор: Intel или AMD 64 Bit поддерживающие аппаратную виртуализацию:
- Оперативная память: 8 GB.
- Жесткий диск: минимум 32 GB SSD.
- Видеокарта: очень рекомендуется наличие интегрированного графического процессора Intel, на дискретных видеокартах AMD и Nvidia возможны ошибки.
Установка
- Загрузить ISO образ с официального сайта.
- Записать c помощью rufus / balena etcher на USB флешку с объемом памяти минимум 8 GB, желательно USB 3.0
- Перезагрузить компьютер, в настройках BIOS отключить Trusted Boot и Legasy Boot.
- Загрузиться с флешки и следовать шагам установки.
Запуск и компоненты
При включении QubesOS, пользователь видит интерфейс основного домена гипервизора - dom0, на котором работают виртуальные машины. Он запускает графический интерфейс xfce и управляет окнами приложений. Не имеет доступа к интернету, обновляется через другие кубы.
- Шаблоны виртуальных машин (Templates)
Это базовые образы ОС (Debian, Fedora, Whonix-gw/Whonix-ws), на основе которых создаются кубы (qube) – виртуальные машины, которые являются основным местом работы.
- Кубы (qubes)
appVM – рабочий куб на основе доступного шаблона. Подходит для браузера и работы с документами.
Standalone VM - ВМ, не зависящая от шаблонов. Используется если нужно установить особую ОС или компонент, который сохранится только в этом кубе.
Disposable VM – временная ВМ, удаляется после закрытия.
Если к примеру установить программу в шаблон fedora-29, то программу можно запустить во всех кубах, которые используют этот шаблон, но не наоборот – кубы не затрагивают шаблонную машину.
- Сетевые кубы (Service)
sys-net – единственный компонент, который отвечает за физическое подключение к интернету (кабель, вайфай, модем).
Sys-firewall – выступает как фильтр интернет-трафика. Может запретить или разрешить кубам выходить в сеть.
Sys-whonix – шлюз для Tor. Куб, который подключен к sys-whonix, будет использовать Tor.
Кубы (work, personal) по умолчанию используют sys-firewall. Чтобы подключить куб к Tor, нужно открыть настройку куба и изменить NetVM на sys-whonix. Для проделывания цепочки VPN-Tor, можно создать sys-vpn, настроить openvpn, и в настройках куба выбрать sys-vpn как NetVM. Далее в sys-whonix выбрать sys-vpn как NetVM. Получится цепочка: интернет-vpn-tor-куб. Также можно использовать vpn на уровне роутера.
Команды
В левом верхнем углу графической оболочки Xfce есть значок, при нажатии на него открывается список приложений и виртуальных машин. Справа - значки сети, usb-устройств и т.д.
Для подключения к сети необходимо нажать на красный значок и присоединиться к Wi-Fi сети.
Обновление:
Меню - Qubes tools - Qubes Update, выбираем все доступные виртуальные машины для обновления, жмем Next и ожидаем полного обновления. Кубы типов TemplateVM и StandaloneVM, а так же dom0, можно обновить вручную. Команды для терминала:
Для Debian и Whonix:
sudo apt update
sudo apt full-upgrade
Для Fedora:
sudo dnf update
Для dom0:
sudo qubes-dom0-update
Копирование текста:
Копирование текста внутри одной виртуальной машины происходит сочетанием клавиш Ctrl+C - Ctrl+V. Для копирования текста и файлов между ВМ необходимо:
- Выделить текст или файл и нажать Ctrl+C.
- Не снимания выделения и фокусировки на окне нажать Ctrl+Shift+C.
- Выделить окно целевой виртуальной машины нажать Ctrl+Shift+V и далее Ctrl+V.
Копирование файлов из одной виртуальной машины в другую:
Файловый менеджер ВМ - выделяем необходимые файлы - Пкм - Copy to other VM и Move to other VM - в открывшемся окне выбираем целевую ВМ - Ok.
После этого в домашней директории целевой ВМ появится папка QubesIncoming, там и будут перенесенные/скопированные файлы.
Установка приложений:
Приложения устанавливаются в templates, после этого они становятся доступны для использования в кубах, созданных на основе templates.
Для установки приложений открываем терминал необходимого шаблона (debian/fedora-/whonix-ws и устанавливаем приложение командой:
Для Debian и Whonix:
sudo apt install <имя пакета>
Для Fedora:
sudo dnf install <имя пакета>
Для dom0 (не рекомендуется):
sudo qubes-dom0-update <имя пакета>
Далее: приложения куба - qube settings - Applications - выделяем нужное приложение - одинарная стрелка и Apply. После этого приложение появится в списке приложений куба в меню. Если сразу после установки приложение не запускается, нужно перезагрузить устройство.
Создание новых кубов:
- Меню - Qube tools - Qubes manager - New - откроется окно создания нового куба, название и цвет выбираете на свое усмотрение.
- Type – оставляйте AppVM или выбирайте, какой надо.
- Template – выбираете необходимый шаблон, на котором будет создан куб.
- Networking – выбирайте sys-firewall, если не хотите использовать какие-либо анонимайзеры, sys-whonix, если хотите, что весь трафик куба шел через Tor или выбирайте собственный сетевой куб, если настраивали. Нажимаете Ok.
Работа с USB-устройствами:
Во избежание атак типа BadUSB для подключаемых USB устройств необходимо установить специальный куб, который будет использоваться как “прокси”.
В терминале dom0 вводим команду:
sudo qubesctl state.sls qvm.sys-usb
После этого будет создан куб sys-usb. При подключении флешки к вашему устройству необходимо нажать на значок со списком подключенных устройств, который находится справа от индикатора сети. Необходимо нажать на иконку, выбрать свою флешку и подключить её к необходимой виртуальной машине (чтоб она была в списке доступных для подключения, её необходимо запустить), после этого флешка отобразится в файловом менеджере ВМ.
Итог
Qubes подходит для гибкости и мультизадачности, где в каждой виртуальной машине можно запустить свой изолированный значимый процесс, а цветовые рамки, которые выступают в качестве индикации, помогут избежать ошибок с данными. Первоначальная эксплуатация может показаться сложной, но после практики процесс становится понятным. Это отличное решение для тех, кому нужен высокий уровень безопасности и анонимности. Однако помните, что это не гарантирует максимальной защиты, так как это достигается с помощью многих инструментов. Спасибо, что дочитали. Оставайтесь защищенными!