В данной статье я опишу базовые принципы работы на одном из самых безопасных дистрибутивов линукс – QubesOS.
Когда вы только включили QubesOS, вы видите перед собой интерфейс основного домена гипервизора - dom0, по сути, dom0 основная система, на которой работают виртуальные машины
dom0 используется только для установки и настройки других виртуальных машин, он подключается к интернету только в редких случаях при установке или обновлении пакетов, вам крайне редко придется с ним взаимодействовать, только пару раз включить терминал dom0
Далее идут шаблоны виртуальных машин – темплейты (Template), у вас их 4 (может быть 3, т.к. fedora/debian можно отключить):
Debian
Fedora
Whonix-gw
Whonix-ws
В некоторых случаях можно можно добавить ещё другие темплейты, но это редкость
Темплейты так же подключаются к интернету только при обновлении/установке пакетов
Основным местом работы являются виртуальные машины, созданные по этим шаблонам – кубы (qube)
Одним из таких кубов будет красный куб anon-whonix
При первом запуске вы увидите сетевые кубы (Service):
sys-net
sys-firewall
sys-whonix
Единственный компонент системы, который напрямую взаимодействует с вашим сетевым интерфейсом - sys-net, все остальные компоненты получают интернет либо через sys-net(только sys-firewall), либо через sys-firewall/sys-whonix.
Как только вы включите ОС после установки, вы увидите следующий интерфейс перед глазами:
Это графическая оболочка Xfce
В левом верхнем углу видим значок, при нажатии на который открывается список приложений и виртуальных машин.
Справа видим значки сети, usb-устройств и т.д.
Для подключения к сети необходимо нажать на красный значок и присоединиться к Wi-Fi сети, затем появится окно для подключения к Tor.
Обновления:
Теперь приступим к процессу обновления системы для этого переходим в меню, далее Qubes tools>Qubes Update, выбираем все доступные виртуальные машины для обновления, жмем Next и ожидаем полного обновления.
Иногда штатное средство обновления работает со сбоями, в случае какого-либо сбоя кубы типов TemplateVM и StandaloneVM, а так же dom0, можно обновить в ручную, для этого в терминале каждой виртуальной машины для обновления введите следующие команды:
Для Debian и Whonix:
Для Fedora:
Для dom0:
Теперь перейдем к копированию текста в QubesOS:
Копирование текста:
Копирование текста внутри одной виртуальной машины происходит стандартно, сочетанием клавиш Ctrl+C, Ctrl+V. Немного сложнее при копировании между разными VM'ами. Для копирования текста и файлов необходимо:
1. Выделить текст или файл и нажать Ctrl+C;
2. Далее не снимания выделения и фокусировки на окне нажать Ctrl+Shift+C;
3. Выделить окно целевой виртуальной машины нажать Ctrl+Shift+V и далее Ctrl+V.
Теперь перейдем к копированию файлов из одной виртуальной машины в другую, для этого открываем файловый менеджер виртуальной машины, выделяем необходимые файлы и нажимаем правой кнопкой мыши, в открывшимся меню видим пункты Copy to other VM и Move to other VM, выбираем нужный пункт и нажимаем, в открывшимся окне выбираем целевую виртуальную машину и жмем Ok. После этого в домашней директории целевой виртуальной машины появится папка QubesIncoming, там и будут перенесенные/скопированные файлы.
Теперь приступим к установке приложений, в QubesOS приложения устаанавливаются в ТЕМПЛЕЙТЫ, после этого они стаовятся доступны для использования в кубах, созданных на основе этих темплейтов.
Для установки приложений открываем терминал необходимого темплейта (debian-11/fedora-36/whonix-ws-16) и устанавливаем приложение командой
Для Debian и Whonix:
Для Fedora:
Для dom0 (только для опытных пользователей):
Затем в списке приложений куба, в который надо добавить приложение находим пункт “qube settings”, в открывшимся окне находим вкладку Applications, там 2 столбца, слева доступные прложения для куба, справа установленные в куб, чтоб установить приложение в куб выделяем его и нажимаем на одинарную стрелочку, после этого жмем Apply. После этого приложение появится в списке приложений куба в меню. Если сразу после установки приложение не запускается, то перезагрузите устройство.
Теперь рассмотрим процесс создания новых кубов
Для этого в меню идем в пункт Qube tools>Qubes manager
В открывшимся окне нажимаем на кнопку New, откроется окно создания нового куба, название и цвет выбираете на свое усмотрение.
Type – оставляйте AppVM (если нужен одноразовый куб, т.е. куб, который после каждой перезагрузки сбрасывается, выбираете DisposableVM)
Template – выбираете необходимый шаблон, на котором будет создан куб
Networking – выбирайте sys-firewall, если не хотите использовать какие-либо анонимайзеры, sys-whonix, если хотите, что весь трафик куба шел через Tor или выбирайте собственный сетевой куб, если вы таковой настраивали
Нажимаете Ok и куб будет создан
Теперь перейдем к последнему пункту – работа с USB-устройствами, для этого необходимо установить специальный куб, который будет использоваться как “прокси” для подключаемых USB устройств, чтоб избежать атак типа BadUSB
Открываем терминал dom0 и вводим команду:
После этого будет создан куб sys-usb
Теперь при подключении флешки к вашему устройству вам необходимо нажать на значок со списком подключенных устройств, который находится справа от индикатора сети и имеет соответствующую иконку, там выбираете свою флешку и подключаете её к необходимой виртуальной машине (чтоб она была в списке доступных для подключения, её необходимо запустить), после этого флешка отобразится в файловом менеджере этой виртуальной машины.
На этом разбор базовых принципов работы с QubesOS закончен, для закрепления материала лучше всего всё это протестировать на практике и тогда вы поймете, что всё не так и сложно
Когда вы только включили QubesOS, вы видите перед собой интерфейс основного домена гипервизора - dom0, по сути, dom0 основная система, на которой работают виртуальные машины
dom0 используется только для установки и настройки других виртуальных машин, он подключается к интернету только в редких случаях при установке или обновлении пакетов, вам крайне редко придется с ним взаимодействовать, только пару раз включить терминал dom0
Далее идут шаблоны виртуальных машин – темплейты (Template), у вас их 4 (может быть 3, т.к. fedora/debian можно отключить):
Debian
Fedora
Whonix-gw
Whonix-ws
В некоторых случаях можно можно добавить ещё другие темплейты, но это редкость
Темплейты так же подключаются к интернету только при обновлении/установке пакетов
Основным местом работы являются виртуальные машины, созданные по этим шаблонам – кубы (qube)
Одним из таких кубов будет красный куб anon-whonix
При первом запуске вы увидите сетевые кубы (Service):
sys-net
sys-firewall
sys-whonix
Единственный компонент системы, который напрямую взаимодействует с вашим сетевым интерфейсом - sys-net, все остальные компоненты получают интернет либо через sys-net(только sys-firewall), либо через sys-firewall/sys-whonix.
Как только вы включите ОС после установки, вы увидите следующий интерфейс перед глазами:
Это графическая оболочка Xfce
В левом верхнем углу видим значок, при нажатии на который открывается список приложений и виртуальных машин.
Справа видим значки сети, usb-устройств и т.д.
Для подключения к сети необходимо нажать на красный значок и присоединиться к Wi-Fi сети, затем появится окно для подключения к Tor.
Обновления:
Теперь приступим к процессу обновления системы для этого переходим в меню, далее 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
Теперь перейдем к копированию текста в QubesOS:
Копирование текста:
Копирование текста внутри одной виртуальной машины происходит стандартно, сочетанием клавиш Ctrl+C, Ctrl+V. Немного сложнее при копировании между разными VM'ами. Для копирования текста и файлов необходимо:
1. Выделить текст или файл и нажать Ctrl+C;
2. Далее не снимания выделения и фокусировки на окне нажать Ctrl+Shift+C;
3. Выделить окно целевой виртуальной машины нажать Ctrl+Shift+V и далее Ctrl+V.
Теперь перейдем к копированию файлов из одной виртуальной машины в другую, для этого открываем файловый менеджер виртуальной машины, выделяем необходимые файлы и нажимаем правой кнопкой мыши, в открывшимся меню видим пункты Copy to other VM и Move to other VM, выбираем нужный пункт и нажимаем, в открывшимся окне выбираем целевую виртуальную машину и жмем Ok. После этого в домашней директории целевой виртуальной машины появится папка QubesIncoming, там и будут перенесенные/скопированные файлы.
Теперь приступим к установке приложений, в QubesOS приложения устаанавливаются в ТЕМПЛЕЙТЫ, после этого они стаовятся доступны для использования в кубах, созданных на основе этих темплейтов.
Для установки приложений открываем терминал необходимого темплейта (debian-11/fedora-36/whonix-ws-16) и устанавливаем приложение командой
Для Debian и Whonix:
Код:
sudo apt install <имя пакета>
Для Fedora:
Код:
sudo dnf install <имя пакета>
Для dom0 (только для опытных пользователей):
Код:
sudo qubes-dom0-update <имя пакета>
Затем в списке приложений куба, в который надо добавить приложение находим пункт “qube settings”, в открывшимся окне находим вкладку Applications, там 2 столбца, слева доступные прложения для куба, справа установленные в куб, чтоб установить приложение в куб выделяем его и нажимаем на одинарную стрелочку, после этого жмем Apply. После этого приложение появится в списке приложений куба в меню. Если сразу после установки приложение не запускается, то перезагрузите устройство.
Теперь рассмотрим процесс создания новых кубов
Для этого в меню идем в пункт Qube tools>Qubes manager
В открывшимся окне нажимаем на кнопку New, откроется окно создания нового куба, название и цвет выбираете на свое усмотрение.
Type – оставляйте AppVM (если нужен одноразовый куб, т.е. куб, который после каждой перезагрузки сбрасывается, выбираете DisposableVM)
Template – выбираете необходимый шаблон, на котором будет создан куб
Networking – выбирайте sys-firewall, если не хотите использовать какие-либо анонимайзеры, sys-whonix, если хотите, что весь трафик куба шел через Tor или выбирайте собственный сетевой куб, если вы таковой настраивали
Нажимаете Ok и куб будет создан
Теперь перейдем к последнему пункту – работа с USB-устройствами, для этого необходимо установить специальный куб, который будет использоваться как “прокси” для подключаемых USB устройств, чтоб избежать атак типа BadUSB
Открываем терминал dom0 и вводим команду:
Код:
sudo qubesctl state.sls qvm.sys-usb
После этого будет создан куб sys-usb
Теперь при подключении флешки к вашему устройству вам необходимо нажать на значок со списком подключенных устройств, который находится справа от индикатора сети и имеет соответствующую иконку, там выбираете свою флешку и подключаете её к необходимой виртуальной машине (чтоб она была в списке доступных для подключения, её необходимо запустить), после этого флешка отобразится в файловом менеджере этой виртуальной машины.
На этом разбор базовых принципов работы с QubesOS закончен, для закрепления материала лучше всего всё это протестировать на практике и тогда вы поймете, что всё не так и сложно