Qubes Os, или мечта параноика
-----------------
Краткое описание данной системы:
-----------------
Данная Ось основана на принципе виртуализации. В качестве гипервизора используется Xen.
Применяется LVM и используется шифрование.
Пользовательское данные разных виртуальный машин, буферы обмена, x-server'a и даже оборудование никак не пересекаются.
Только цвет окон позволяет отделить их визуально.
Правильное распределение мощностей процессора, оперативной памяти и других ресурсов позволяет запускать одновременно гораздо больше машин
, чем вы могли бы запустить на обычной операционной системе. Плюс из-за Xen они работают практически на железе, так что скорость
их работы куда выше, чем могла бы быть при использовании к примеру virtualbox.
Существует заготовленные темплейты для определенных виртуальных машин, в которые входит мною любимый Whonix. Настроить цепочки и анонимность теперь можно куда проще и возможности куда шире.
Каждая виртуальная машина имеет свой x-server, однако несмотря на это создатели Qubes сделали чтобы все удобно отображалось в едином окружении.
Плюс такие фичи, как создание шаблона виртуальной машины занимающего фиксированное кол-во места и возможность шаринга этих файлов, чтобы создать множество виртуальных машин, не занимая много места. Будет использоваться лишь пару гигов для хранения уникальных файлов юзера.
-----------------
Основы
-----------------
Давайте заглянем на официальный сайт проекта - qubes-os.org
В разделе download есть образы, к сожалению лишь для архитектуры x64.
Там есть тестовые сборки, как например их специальная сборка для запуска на usb, которая у меня кстати не взлетела. Так и просто обычные релизы.
Я использовал версию 3. Если вы хотите стабильности быть может пока попробуйте вторую версию. В третьей у меня были пару багов. Конечно вполне возможно, что они связаны лишь с моим оборудованием, но не факт.
И так скачиваем нужный образ и подготовим загрузочную флешку или же диск. В линукс используем команду
dd if=/путь/до/образа.iso of=/dev/sdX
Вместо /dev/sdX у вас должно быть ваше устройство. В моем случае это была флешка и соотвественно sdb. Не пробуйте sdb1 потому как иначе вы не сможете нормально установить ось с нее.
Теперь перезагружаемся и выбираем в биос загрузку с вашего usb-носителя.
Перед вами через некоторое появится графический инсталлер Qubes Os. Он так то банально не сложный, плюс там есть возможность
выбора русского языка. Вполне возможно также установить на внешний носитель, к примеру я подсоединил внешний жесткий диск и выбрал его на этапе
выбора диска. Если вы хотите чтобы все затерлось, то просто соглашаемся со стандартными настройками. Также можно заранее разбить диск на пару разделов и установить на один из них.
Далее выберите надежный пасс, и обождите установку. Это дело может немного затянуться..
Все установилось, теперь перезагружаемся и грузимся с того носителя на который вы установили Qubes OS.
Вводим пасс, который был задан на этапе установки.
Теперь произойдет первая конфигурация и вас спросят насчет создания виртуальный машин. Выберет стандартный вариант.
Не рекомендую сразу экспериментировать. И вроде как должны спросить насчет отдельного пароля для хранителя экрана.
Перед вами появится интерфейс KDE, и стандартное приложение для настройки QUBES VM MANAGER.
В нем имеется удобное визуальное распределение ресурсов и прочие настройки виртуальных машин.
В моем случае произошла ошибка и машина "sys-net" которая должна была дать нам доступ к сети не запустилась. Если такое произойдет -
зайдите в ее настройки в раздел devices и уберите конфликтующее оборудование. В моем случае не запустилась проводная сеть, однако вай-фай
заработал. После удаления ethernet и запуска виртуальной машины появилась иконка в трее и в ней как обычно настроил логин-пасс
от беспроводной сети.
Необходимо немного освоиться в логике работы системы, чтобы привыкнуть и не отвлекаться по пустякам. Стандартный темплейт и
несколько виртуальных машин основаны на Fedore. Поэтому чтобы работать в них почитайте немного о данной системе.
Я с легкостью установил простые вещи типа флеша в одной из них, кодеков, некоторых простых приложений. Помним, что каждая VM имеет
свой небольшой запас пространства, которое можно увеличить в менеджере Qubes OS - вкладка basic. Также можно назначить некоторые машины
на включение при запуске системе. Но слишком много не рекомендую, иначе ждать вам полгода..
Также рекомендую ознакомиться со средой KDE, если вы в ней не работали. Стандартные комбинации клавиш, виртуальные рабочие столы и тд.
-----------------
Настройка и анонимизация
-----------------
Давайте немного ознакомимся с логикой отделения различных рабочих процессов. По умолчанию у вас имеется виртуальная машина personal.
Запустив ее мы можем открыть терминал в меню или же используя комбинацию клавиш alt+f2 и введя terminal.
Также можно открыть фаерфокс и к примеру файловый менеджер. Как вы можете видеть в файловой системе существуют стандартные папки,
сеть работает и можно к примеру обновиться с помощью команды sudo yum update в терминале.
Теперь давайте скачаем к примеру с сайта vpngate.net конфиг для openvpn для любой страны и используем его
sudo openvpn --config name.opvn
Теперь наша виртуальная машина работает через впн.
Запустим к примеру машину work и запустим те же приложения в ней. На сайте 2ip.ru вы можете видеть, что айпи прежний, однако же
на personal весь траффик направляется через впн. Также в файловой системе присутствуют только стандартные папки.
Это очень удобно для разделения ваших нескольких личностей. Прямо как для меня делали)
К примеру с одной машины вы занимаетесь обычными делами, с другой в тоже время можете зайти из канады и почитать новости, которые
вы не хотите, чтобы видел ваш провайдер. А с другой машины вы юзаете тор и сидите в зоне онион например.
Кстати замечу, что скопированное в одной виртуальной машине в другой вставить не удастся.
А что же если нам нужно передать текст из одно вм в другую? Разработчики предусмотрели такую возможность, но сделали
практически нереальным ее случайное использование. Копируем что-либо - ctrl+c. Жмем в той машине из которой нужно перенести буфер shift+ctrl+c
Появится уведомление. Затем выбираем окно с другой вм и жмем shift+ctrl+v. Опять появится уведомление об удалении данного текста и
затирании его, а также переносе в эту машину. Теперь можно вставить обыкновенно через ctrl+v
Так, а что же насчет построения цепочек типа впн-тор-впн мною любимых.
Во-первых мы можем на основной машине net-vm врубить впн тогда все машины по умолчанию будут направляться через этот впн.
Но для правильной и защищенной работы заюзаем whonix.
Давайте его установим.
Для этого нам необходимо поработать в dom0 - откроем терминал там и кстати заметим что dom0 не является виртуальной машиной. Через него можно конфигурировать все, что происходит в системе. Также он максимально настроен на безопасность. Там даже не сети. Лишь специальный защищенный механизм обновлений.
sudo qubes-dom0-update --enablerepo=qubes-templates-community qubes-template-whonix-gw qubes-template-whonix-ws
Данная команда установит шаблон для машин whonix - ворк и гейт.
После обновлений открываем менеджер Qubes os
dom0 -> Qubes VM Manager -> VM -> Create AppVM
И создаем ProxyVM, на базе шаблона - whonix-gw
Следом создаем Ворк на базе - whonix-ws
dom0 -> Qubes VM Manager -> VM -> Create AppVM
Тип выбираем AppVm, и сеть пускаем через gate
В принципе все теперь мы можем запустить гейт, а следом ворк и юзать защищенное соединение через тор. Теперь мы можем настроить в них
все, как в обычных виртуалках whonix.
Ничто кстати не мешает вам в настройках любой другой виртуальной машины выбрать сеть через gate.
Qubes OS также с легкостью позволяет сделать бекап любой виртуальной машины в менеджере и он будет зашифрован, то есть вы можете
хранить его где-хотите.
-----------------
Дополнительные советы
-----------------
1)
Для меня недостаточно одного шифрования всей системы, поэтому я рекомендую делать так.
Скачиваем veracrypt с официального сайта и создаем шифрованный контейнер.
veracrypt -t -c (Создание контейнера в консоли)
veracrypt -t file.tc /mnt/ (Монтируем контейнер)
Все опасные данные рекомендую закинуть туда. Также настройки определенных приложений не помешает также закинуть туда.
К примеру GPG.
export GNUPGHOME="/mnt/" (Теперь все ключи и настройки будут храниться там)
Эту же команду можно закинуть в конец файла ~/.bashrc
C другими важными приложениями можете сделать аналогично.
veracrypt -d (Чтобы размонтировать контейнер)
2)
Чтобы правильно пользоваться системой необходимо проникнуться ее логикой. Дабы вас не выдал один единственный факт, вы сами.
Помните, что в каждой у вас своя личность и правильно применяйте это для своих дел.
3)
Создатели системы рекомендуют такие характеристики для вашего компа.
64-bit Intel or AMD processor (x86_64 aka x64 aka AMD64)
4 GB RAM
32 GB disk space
legacy boot mode (UEFI not supported yet)
Однако мне удалось запустить и при меньших и вполне себе юзабельно.
4)
Монтирование внешних устройств.
Тут все достаточно просто. Подрубаем к примеру флешку. Высветится уведомление, что к dom0 прикручен новый девайс.
Теперь в Qubes Manager для определенной вирт.машины выбираем attach device.
И затем просто в терминале монтируем устройство.
В моем случае было так
sudo mount /dev/xvdi1 /mnt/
Разницы с другими системами просто в названиях устройств.
5)
Создавая виртуальные машины не выбирайте галку standalone, иначе она будет занимать много места.
Без нее будет тратиться всего пара гигов на файлы юзера, а остальное шариться от темплейта.
6)
Мы можем к примеру создать пару гейтов и ворков и настроить в каждом попеременно получение сети из другого и сделать просто мега-цепочку
типа впн-тор-впн-тор-.. и дальше
Это так для экспериментов.
7)
В качестве виртуальной машины можно заюзать виндоус. Правда там чуть больше гемора и в моем случае не взетели специальные дополнения
для виндоус 7, чтобы пользоваться виндоус также как и остальными, то есть просто окна в пределах вашего KDE, ярлыки, буфер и прочие
удобства. Кстати для виндоус нужно, чтобы в биос была включена специальная настройка - Vt-x
8)
Если кому не удобна Fedora можно использовать шаблон debian
Вводим в консоли dom0:
sudo qubes-dom0-update qubes-template-debian-8
9)
Насчет gpg разработчики придумали спец фичу для запросов VM к разным gpg.
https://www.qubes-os.org/doc/SplitGpg/
10) Чтобы скопировать файл из одной машины в другую используем
qvm-copy-to-vm название_vm file
Файл появится в папке - /home/user/QubesIncoming/<домен-отправитель>
-----------------
Краткое описание данной системы:
-----------------
Данная Ось основана на принципе виртуализации. В качестве гипервизора используется Xen.
Применяется LVM и используется шифрование.
Пользовательское данные разных виртуальный машин, буферы обмена, x-server'a и даже оборудование никак не пересекаются.
Только цвет окон позволяет отделить их визуально.
Правильное распределение мощностей процессора, оперативной памяти и других ресурсов позволяет запускать одновременно гораздо больше машин
, чем вы могли бы запустить на обычной операционной системе. Плюс из-за Xen они работают практически на железе, так что скорость
их работы куда выше, чем могла бы быть при использовании к примеру virtualbox.
Существует заготовленные темплейты для определенных виртуальных машин, в которые входит мною любимый Whonix. Настроить цепочки и анонимность теперь можно куда проще и возможности куда шире.
Каждая виртуальная машина имеет свой x-server, однако несмотря на это создатели Qubes сделали чтобы все удобно отображалось в едином окружении.
Плюс такие фичи, как создание шаблона виртуальной машины занимающего фиксированное кол-во места и возможность шаринга этих файлов, чтобы создать множество виртуальных машин, не занимая много места. Будет использоваться лишь пару гигов для хранения уникальных файлов юзера.
-----------------
Основы
-----------------
Давайте заглянем на официальный сайт проекта - qubes-os.org
В разделе download есть образы, к сожалению лишь для архитектуры x64.
Там есть тестовые сборки, как например их специальная сборка для запуска на usb, которая у меня кстати не взлетела. Так и просто обычные релизы.
Я использовал версию 3. Если вы хотите стабильности быть может пока попробуйте вторую версию. В третьей у меня были пару багов. Конечно вполне возможно, что они связаны лишь с моим оборудованием, но не факт.
И так скачиваем нужный образ и подготовим загрузочную флешку или же диск. В линукс используем команду
dd if=/путь/до/образа.iso of=/dev/sdX
Вместо /dev/sdX у вас должно быть ваше устройство. В моем случае это была флешка и соотвественно sdb. Не пробуйте sdb1 потому как иначе вы не сможете нормально установить ось с нее.
Теперь перезагружаемся и выбираем в биос загрузку с вашего usb-носителя.
Перед вами через некоторое появится графический инсталлер Qubes Os. Он так то банально не сложный, плюс там есть возможность
выбора русского языка. Вполне возможно также установить на внешний носитель, к примеру я подсоединил внешний жесткий диск и выбрал его на этапе
выбора диска. Если вы хотите чтобы все затерлось, то просто соглашаемся со стандартными настройками. Также можно заранее разбить диск на пару разделов и установить на один из них.
Далее выберите надежный пасс, и обождите установку. Это дело может немного затянуться..
Все установилось, теперь перезагружаемся и грузимся с того носителя на который вы установили Qubes OS.
Вводим пасс, который был задан на этапе установки.
Теперь произойдет первая конфигурация и вас спросят насчет создания виртуальный машин. Выберет стандартный вариант.
Не рекомендую сразу экспериментировать. И вроде как должны спросить насчет отдельного пароля для хранителя экрана.
Перед вами появится интерфейс KDE, и стандартное приложение для настройки QUBES VM MANAGER.
В нем имеется удобное визуальное распределение ресурсов и прочие настройки виртуальных машин.
В моем случае произошла ошибка и машина "sys-net" которая должна была дать нам доступ к сети не запустилась. Если такое произойдет -
зайдите в ее настройки в раздел devices и уберите конфликтующее оборудование. В моем случае не запустилась проводная сеть, однако вай-фай
заработал. После удаления ethernet и запуска виртуальной машины появилась иконка в трее и в ней как обычно настроил логин-пасс
от беспроводной сети.
Необходимо немного освоиться в логике работы системы, чтобы привыкнуть и не отвлекаться по пустякам. Стандартный темплейт и
несколько виртуальных машин основаны на Fedore. Поэтому чтобы работать в них почитайте немного о данной системе.
Я с легкостью установил простые вещи типа флеша в одной из них, кодеков, некоторых простых приложений. Помним, что каждая VM имеет
свой небольшой запас пространства, которое можно увеличить в менеджере Qubes OS - вкладка basic. Также можно назначить некоторые машины
на включение при запуске системе. Но слишком много не рекомендую, иначе ждать вам полгода..
Также рекомендую ознакомиться со средой KDE, если вы в ней не работали. Стандартные комбинации клавиш, виртуальные рабочие столы и тд.
-----------------
Настройка и анонимизация
-----------------
Давайте немного ознакомимся с логикой отделения различных рабочих процессов. По умолчанию у вас имеется виртуальная машина personal.
Запустив ее мы можем открыть терминал в меню или же используя комбинацию клавиш alt+f2 и введя terminal.
Также можно открыть фаерфокс и к примеру файловый менеджер. Как вы можете видеть в файловой системе существуют стандартные папки,
сеть работает и можно к примеру обновиться с помощью команды sudo yum update в терминале.
Теперь давайте скачаем к примеру с сайта vpngate.net конфиг для openvpn для любой страны и используем его
sudo openvpn --config name.opvn
Теперь наша виртуальная машина работает через впн.
Запустим к примеру машину work и запустим те же приложения в ней. На сайте 2ip.ru вы можете видеть, что айпи прежний, однако же
на personal весь траффик направляется через впн. Также в файловой системе присутствуют только стандартные папки.
Это очень удобно для разделения ваших нескольких личностей. Прямо как для меня делали)
К примеру с одной машины вы занимаетесь обычными делами, с другой в тоже время можете зайти из канады и почитать новости, которые
вы не хотите, чтобы видел ваш провайдер. А с другой машины вы юзаете тор и сидите в зоне онион например.
Кстати замечу, что скопированное в одной виртуальной машине в другой вставить не удастся.
А что же если нам нужно передать текст из одно вм в другую? Разработчики предусмотрели такую возможность, но сделали
практически нереальным ее случайное использование. Копируем что-либо - ctrl+c. Жмем в той машине из которой нужно перенести буфер shift+ctrl+c
Появится уведомление. Затем выбираем окно с другой вм и жмем shift+ctrl+v. Опять появится уведомление об удалении данного текста и
затирании его, а также переносе в эту машину. Теперь можно вставить обыкновенно через ctrl+v
Так, а что же насчет построения цепочек типа впн-тор-впн мною любимых.
Во-первых мы можем на основной машине net-vm врубить впн тогда все машины по умолчанию будут направляться через этот впн.
Но для правильной и защищенной работы заюзаем whonix.
Давайте его установим.
Для этого нам необходимо поработать в dom0 - откроем терминал там и кстати заметим что dom0 не является виртуальной машиной. Через него можно конфигурировать все, что происходит в системе. Также он максимально настроен на безопасность. Там даже не сети. Лишь специальный защищенный механизм обновлений.
sudo qubes-dom0-update --enablerepo=qubes-templates-community qubes-template-whonix-gw qubes-template-whonix-ws
Данная команда установит шаблон для машин whonix - ворк и гейт.
После обновлений открываем менеджер Qubes os
dom0 -> Qubes VM Manager -> VM -> Create AppVM
И создаем ProxyVM, на базе шаблона - whonix-gw
Следом создаем Ворк на базе - whonix-ws
dom0 -> Qubes VM Manager -> VM -> Create AppVM
Тип выбираем AppVm, и сеть пускаем через gate
В принципе все теперь мы можем запустить гейт, а следом ворк и юзать защищенное соединение через тор. Теперь мы можем настроить в них
все, как в обычных виртуалках whonix.
Ничто кстати не мешает вам в настройках любой другой виртуальной машины выбрать сеть через gate.
Qubes OS также с легкостью позволяет сделать бекап любой виртуальной машины в менеджере и он будет зашифрован, то есть вы можете
хранить его где-хотите.
-----------------
Дополнительные советы
-----------------
1)
Для меня недостаточно одного шифрования всей системы, поэтому я рекомендую делать так.
Скачиваем veracrypt с официального сайта и создаем шифрованный контейнер.
veracrypt -t -c (Создание контейнера в консоли)
veracrypt -t file.tc /mnt/ (Монтируем контейнер)
Все опасные данные рекомендую закинуть туда. Также настройки определенных приложений не помешает также закинуть туда.
К примеру GPG.
export GNUPGHOME="/mnt/" (Теперь все ключи и настройки будут храниться там)
Эту же команду можно закинуть в конец файла ~/.bashrc
C другими важными приложениями можете сделать аналогично.
veracrypt -d (Чтобы размонтировать контейнер)
2)
Чтобы правильно пользоваться системой необходимо проникнуться ее логикой. Дабы вас не выдал один единственный факт, вы сами.
Помните, что в каждой у вас своя личность и правильно применяйте это для своих дел.
3)
Создатели системы рекомендуют такие характеристики для вашего компа.
64-bit Intel or AMD processor (x86_64 aka x64 aka AMD64)
4 GB RAM
32 GB disk space
legacy boot mode (UEFI not supported yet)
Однако мне удалось запустить и при меньших и вполне себе юзабельно.
4)
Монтирование внешних устройств.
Тут все достаточно просто. Подрубаем к примеру флешку. Высветится уведомление, что к dom0 прикручен новый девайс.
Теперь в Qubes Manager для определенной вирт.машины выбираем attach device.
И затем просто в терминале монтируем устройство.
В моем случае было так
sudo mount /dev/xvdi1 /mnt/
Разницы с другими системами просто в названиях устройств.
5)
Создавая виртуальные машины не выбирайте галку standalone, иначе она будет занимать много места.
Без нее будет тратиться всего пара гигов на файлы юзера, а остальное шариться от темплейта.
6)
Мы можем к примеру создать пару гейтов и ворков и настроить в каждом попеременно получение сети из другого и сделать просто мега-цепочку
типа впн-тор-впн-тор-.. и дальше
Это так для экспериментов.
7)
В качестве виртуальной машины можно заюзать виндоус. Правда там чуть больше гемора и в моем случае не взетели специальные дополнения
для виндоус 7, чтобы пользоваться виндоус также как и остальными, то есть просто окна в пределах вашего KDE, ярлыки, буфер и прочие
удобства. Кстати для виндоус нужно, чтобы в биос была включена специальная настройка - Vt-x
8)
Если кому не удобна Fedora можно использовать шаблон debian
Вводим в консоли dom0:
sudo qubes-dom0-update qubes-template-debian-8
9)
Насчет gpg разработчики придумали спец фичу для запросов VM к разным gpg.
https://www.qubes-os.org/doc/SplitGpg/
10) Чтобы скопировать файл из одной машины в другую используем
qvm-copy-to-vm название_vm file
Файл появится в папке - /home/user/QubesIncoming/<домен-отправитель>