ОСВМ   ТПОИ   РиЭКТ   КС   ОИС   визуальные среды - 4GL   ТП ОСП   Поколения компьютеров  

Операционные системы вычислительных машин

Защищенная операционная система Qubes

  1. Что такое Oubes OS?
  2. Идеология защищенной операционной системы Qubes
  3. Установка и подготовка к работе
  4. Изоляция в Qubes ОС
  5. Гипервизор Xen
  6. Выделенные домены
  7. Одноразовые домены
  8. Установка приложений и обновления в Qubes ОС
  9. Внешний вид и производительность Qubes ОС
  10. Почему надо использовать Qubes OS?
  11. Введение в ОС Qubes
  12. Принцип работы Qubes
  13. Механизм обмена информацией на уровне виртуальных машин приложений
  14. Шаблонные виртуальные машины, целостность системы и защита от бэкдоров
  15. Обеспечение безопасной работы с сетью с помощью сетевых виртуальных машин
  16. Установка ОС Qubes на компьютер
  17. Загрузка и проверка файла образа установочного диска ОС Qubes формата ISO
  18. Процесс установки операционной системы Qubes
  19. Рабочий стол Qubes
  20. Установка приложений в ОС Qubes
  21. Менеджер виртуальных машин Qubes

Существует множество операционных систем семейства Linux. Тем не менее разработчики создают все новые и новые дистрибутивы для решения узкоспециализированных задач. Например, Kali Linux - система для тестирования безопасности и этичного взлома. Есть серверные операционные системы, есть медиа центры и многое другое.

Менеджер виртуальных машин Qubes

Дистрибутив Qubes OS  фокусируется на максимальной безопасности. Его цель - создать максимально защищенный дистрибутив. В этой статье мы сделаем обзор Qubes OS и попытаемся разобраться чем же она отличается от других систем.

Что такое Oubes OS?

Qubes OS - операционная система ориентированная на безопасность, основанная на Linux. Давайте посмотрим насколько она отличается от других. Антивирусное программное обеспечение и брандмауэры необходимы для обеспечения безопасности, да даже Linux нужен антивирус, но разработчики Qubes использовали другой подход. Вместо того чтобы опираться на традиционные методы защиты, в системе используется виртуализация. Безопасность достигается, благодаря изоляции.

Изоляционный метод основывается на ограниченном взаимодействии программ и оборудования. Примечательно, что ноутбуки с предустановленным Linux компании Purism предлагают опцию: предоставление их машин вместе с Qubes OS. Машины этой компании считаются лучшими ноутбуками и компьютерам, которые вы можете купить.

Установка и подготовка к работе

Как и все дистрибутивы, разработанные на основе Debian, Qubes OS устанавливается очень легко. Я пробовал Qubes OS на AMD A-10 HP ноутбуке. Легковесные системы, как правило, работают лучше, но у меня не было проблем с производительностью QubesOS на HP. Установка довольно простая. Скачать ISO образ, записать его на загрузочное устройство, и установить на жёсткий диск.

Установка Qubes OS в виртуальную машину (например VirtualBox) не будет правильно работать, учитывая что все приложения в Qubes OS запускаются в виртуальном окружении. Таким образом, вы создадите виртуальную машину в виртуальной машине. Примечательно, что функция LiveUSB не поддерживается, хотя образ доступен для загрузки.

Изоляция в Qubes ОС

В отличии от других Linux дистрибутивов, Qubes OS использует виртуализацию. СистМенеджер виртуальных машин Qubesема разделена на виртуальные машины . По умолчанию доступны несколько виртуальных машин. Вы также можете создать свою. Виртуализация проявляется в 2 категориях: программы и оборудование. Программы разделяются по доменам с различным уровнем доступа.

Например у вас есть рабочий домен для приложений которым вы доверяете и не доверенный домен для неизвестных приложений. Каждый из доменов работают в виртуальной машине. Но запуск в виртуальной машине отличается от запуска напрямую в операционной системе. Qubes использует виртуализацию для изоляции приложений. Например ваш интернет браузер останется в другой рабочей среде, не там где его файлы. Этот спасает если уязвимость позволит хакеру получить доступ к командной оболочке вашей системы. Вирусная атака будет сдержана.

Гипервизор Xen

Qubes OS использует гипервизор для изоляции различных виртуальных машин. Также это административный домен, Xen D0m0. Этот административный домен имеет доступ ко всему оборудованию. Более того, Dom0 отвечает за графический интерфейс пользователя (GUI) и периферийные устройства, такие как клавиатура и мышь. Но так как у него нет доступа к GUI, приложения не смогут нанести ущерб компьютеру. Также в Qubes OS есть "Просмотр приложений" (Application Viewer) для запуска приложений не в виртуальной машине.

Выделенные домены

Использование Qubes OS может показаться сложнее чем это есть на самом деле. В основном из-за настройки изоляции. Но достоинство Qubes OS это её простота. На первый взгляд, В Qubes достаточно стандартная оболочка. По внешнему виду она похожа на Ubuntu.

Например, вы можете запустить два разных браузера бок о бок, они могут быть запущены в разных доменах по категории защиты. Один может быть вашим браузером в рабочем домене, в том время как другой - браузер в недоверенном. Решили посетить один сайт в браузерах, запущенных в разных доменах, в одном вы вошли в аккаунт, в другом - нужно входить снова. Это происходит, потому что они работают в доменах, в рабочей виртуальной машине.

Для сохранения дискового пространства все домены приложений используют одну общую файловую систему. Однако, есть средство обмена между доменами. Например, если у вас есть файл, который сохранён в вашем ненадёжном домене, вы можете скопировать его в ваш рабочий домен. Различные цветные границы вокруг окна помогают вам определить, в каком домене запущено приложение.

Одноразовые домены

В дополнении к выделенным доменам, вы можете создать одноразовый домен. Он отличается от выделенного тем, что после использования удаляется. Если вы откроете браузер в одноразовой виртуальной машине, вы можете делать что хотите: закладки сайтов, добавлять их в любимые и сохранять куки. Когда вы закроете браузер, всё что вы сделали пропадёт. Открытие браузера в этой виртуальной машине не покажет что вы сделали в прошлый раз.

В любом домене кликаем правой кнопкой мыши, чтобы открыть документ в одноразовом домене. Поэтому, если вы скачали файл в рабочем или персональном домене, вы можете кликнуть правой кнопкой мыши и открыть файл в одноразовом домене. В частности, это отличное средство, чтобы избежать заражения домена, например если вы скачали PDF из непроверенного источника (не рекомендуется), вы можете сохранить в рабочий домен, но запустить в одноразовом.

Установка приложений и обновления в Qubes ОС

Процесс установки приложений в Qubes немного отличается от других дистрибутивов Linux для настольных систем из-за использования шаблонных виртуальных машин. Когда вы перезапустите домен, программы не будет. Чтобы установить и сохранить приложение, вы должны установить его в шаблонной виртуальной машине. Это не изменяет ваши приложения . Например, если вы хотите попробовать приложение, вы можете не использовать шаблонный домен.

Внешний вид и производительность Qubes ОС

Внешний вид и производительность это те качества где Qubes OS действительно лучшая. Используя приложение, вы практически не замечаете, что вы используете приложение в домене. Единственный признак, что они работают в отдельных виртуальных машинах - это цветная граница вокруг каждого и надписи, с именем домена. Я действительно почувствовал симпатию к Qubes OS. Хотя её сложно настраивать.

Хотя обе системы, Qubes OS и CoreOS фокусируются на виртуализации, Qubes все реализовано более удобно. Потому что CoreOS позволяет работать только в командной строке, поэтому она меньше подходит для начинающих. В QubesOS есть графический интерфейс, в ней проще ориентироваться.

Почему надо использовать Qubes OS?

Ладно, сейчас ответ на вопрос "Зачем мне использовать Qubes OS? Ведь я могу получить все то же самое в таких программах как VirtualBox, VMware, Parallels?” К сожалению, этот подход является довольно громоздким. Например, вы будете обновлять браузер отдельно для каждой виртуальной машины.

Что делает Qubes ОС интересной для использования?
Это её способность запускать приложения в отдельных виртуальных машинах в одной рабочей среде. Запуск виртуальных машин очень управляем. В пределах доменов, вы можете выбрать, какие приложения останутся, выбирать различные шаблоны, а также работать в полностью изолированной среде на одном рабочем столе.

Поскольку Qubes OS это центр управления виртуальными машинами, вам понадобится очень мощный компьютер. Хотя вы можете запустить Qubes OS на менее мощном оборудовании, но это не рекомендуется.

Источник: https://losst.ru/obzor-qubes-os

Введение в ОС Qubes

Операционная система Qubes OS создана для достижения максимальной безопасности в процессе работы с различными приложениями и фундаментально отличается ото всех известных на сегодня систем на основе ядра Linux для настольных компьютеров.В данном разделе проведем краткий обзор системы Qubes, выделив некоторые особенности ее реализации, которые принципиально отличают ее ото всех дистрибутивов Linux для настольных компьютеров, а также являются особенно интересными в плане безопасности.

При разговоре о безопасности систем Linux обычно рассматриваются вопросы безопасного функционирования серверов. В процессе выполнения мероприятий, направленных на защиту серверов, чаще всего прибегают к ограничению возможностей отдельных серверов, а также к задействованию межсетевых экранов с целью разрешения лишь необходимых сетевых взаимодействий между ними. В случае использования на сервере современного программного окружения, в котором исполняется лишь демон SSH, а также один или несколько сетевых сервисов у взломщика остается не так уж и много возможностей для проникновения. Если же определенный сервер все же подвергается взлому, идеальным вариантом действий является своевременное установление факта взлома, изоляция скомпрометированного сервера и устранение последствий взлома с условием поддержания работоспособности всей остальной инфраструктуры.

Подход к обеспечению безопасности настольных систем Linux принципиально отличается от описанного выше ввиду широкого спектра операций, выполняемых с использованием настольных компьютеров. Каждое действие, которое выполняется с помощью настольного компьютера, открывает новый путь его компрометации. Веб-серфинг, особенно в том случае, если в вашей системе все еще установлены такие небезопасные плагины для веб-браузера, как Flash, является одним из основных путей компрометации настольной системы. Сообщения электронной почты являются еще одним популярным вектором атаки, так как пользователю нужно лишь открыть вредоносное вложение или нажать на фишинговую ссылку для того, чтобы атака прошла успешно. Настольные системы Linux обычно используются в качестве платформ для разработки программных компонентов и это означает, что их пользователи могут загружать, компилировать или исполнять чей-либо код, а также использовать программные компоненты, собранные на основе собственноручно написанного кода. Хотя некоторые пользователи Linux и могут ехидно улыбаться при разговоре о вредоносном программном обеспечении для других платформ, фактически их представления сформировались в то время, когда в качестве настольной системы могла использоваться лишь ОС Windows, при этом на сегодняшний день многое вредоносное программное обеспечение изначально является кросплатформенным и может функционировать в различных операционных системах.

Самой большой проблемой, связанной с нарушением безопасности настольной системы Linux, является набор данных, к которому получит доступ злоумышленник в результате успешного осуществления атаки: это все ваши персональные данные. Ими могут быть любые данные начиная с различных имен и паролей и заканчивая данными для доступа к важным учетным записям, таким, как учетные записи, связанные с банковским счетом или кредитной картой, а также социальными сетями, регистраторами доменных имен и службами хостинга, которыми вы пользовались в прошлом и которые все еще хранят данные о вашей кредитной карте. В результате успешной атаки злоумышленник получит доступ ко всем вашим персональным фотографиям и сообщениям электронной почты. Он может оставить в вашей системе троян с интерфейсом удаленного доступа для того, чтобы снова проникнуть в вашу систему впоследствии, а до этого времени следить за вам с помощью веб-камеры и встроенного микрофона. Кроме того, он может даже скопировать ваши ключи SSH, VPN и GPG, которые позволят получить доступ к другим компьютерам.

Основная идея механизма безопасности системы Qubes может быть сформулирована как «безопасность через разграничение». Данный подход позволяет минимизировать последствия компрометации того или иного программного компонента путем разделения программных компонентов и используемых ими файлов в по виртуальным машинам. Вы можете установить для каждой из виртуальных машин отдельный уровень доверия на основе риска, связанного с компрометацией программного компонента, исполняющегося в рамках этой виртуальной машины. Например, вы можете создать виртуальную машину с низким уровнем доверия для веб-серфинга без аутентификации. При этом впоследствии вы можете также создать отдельную виртуальную машину с высоким уровнем доверия только для работы с онлайн-банкингом. После этого вы можете создать еще одну виртуальную машину вообще без доступа к сети для работы с локальными документами. Если вы также выполняете какую-либо оплачиваемую работу с помощью вашего персонального компьютера, вы можете создать отдельные виртуальные машины для работы персональными файлами и выполнения оплачиваемой работы, причем последняя виртуальная машина должна иметь более высокий уровень доверия. Если вы перейдете на веб-сайт с вредоносным содержимым помощью веб-браузера из виртуальной машины с низким уровнем доверия, взломщик не получит доступа к учетной записи онлайн-банкинга и к вашим персональным файлам, так как они хранятся в других виртуальных машинах. В Qubes вы можете использовать даже одноразовые виртуальные машины: файлы этих виртуальных машин полностью удаляются с диска после закрытия запущенных в них приложений.

Принцип работы Qubes

Хотя вы и можете без каких-либо сложностей использовать любые существующие в данное время технологии виртуализации для создания нескольких виртуальных машин в любом дистрибутиве Linux для настольных систем, данный подход может быть как минимум неудобным, особенно в том случае, если вы не желаете использовать несколько окружений рабочего стола в рамках отдельных виртуальных машин. Также при использовании данного подхода не исключены различные ошибки, которые могут свести на нет все предпринятые вам меры предосторожности. Кроме того, у вас может возникнуть ряд резонных вопросов, например: «Как передавать файлы или использовать буфер обмена для безопасного обмена данными между виртуальными машинами?» или «Как обновлять все программные компоненты в рамках этих виртуальных машин?».

В то время, как традиционные дистрибутивы Linux упрощают методику получения всего необходимого программного обеспечения, позволяя отказаться от загрузки исходного кода и компиляции в ручном режиме, Qubes предоставляет набор дополнительных инструментов для упрощения процесса управления множеством виртуальных машин с различными уровнями доверия в рамках настольной операционной системы. При этом Qubes позволяет выполнять все операции, выполняемые в классических операционных системах для настольных компьютеров, с учетом безопасности их выполнения, а также использует по умолчанию безопасные параметры конфигурации. Таким образом, Qubes значительно усложняет (но не делает невозможным) собственноручное выведение системы из строя.

Qubes использует технологию виртуализации Xen (если вас интересует мотивация выбора данной технологии, вы можете обратиться к разделу с ответами на часто задаваемые вопросы веб-сайта проекта Qubes). Вместо запуска отдельных экземпляров окружения рабочего стола в каждой из виртуальных машин, для окружения рабочего стола в Qubes используется более привилегированная виртуальная машина Xen dom0 (на данный момент Qubes позволяет выбрать в качестве окружения рабочего стола либо KDE, либо XFCE, хотя участники сообщества поддерживают своими силами и другие окружения рабочих столов), при этом все остальные виртуальные машины выводят окна отдельных приложений в рамках окружения рабочего стола, запущенного в виртуальной машине dom0.

Таким образом, запуск веб-браузера Firefox в Qubes на первый взгляд осуществляется точно так же, как и в любом дистрибутиве Linux. Главное отличие заключается в том, что Qubes позволяет установить цветовой уровень доверия для каждой из ваших виртуальных машин начиная с красного (минимальный уровень доверия) и заканчивая черным (максимальный уровень доверия) с множеством цветов между ними.

При запуске приложения из виртуальной машины приложения (appVM в терминологии Qubes), последняя начнет свою работу в том случае, если она не была запущена ранее, после чего на экране появится окно приложения с рамкой цвета, соответствующего уровню доверия, присвоенному виртуальной машине приложения. Следовательно, в том случае, если в вашей системе запущено два экземпляра веб-браузера Firefox, вы сможете без каких-либо проблем отличить веб-браузер с низким уровнем доверия от веб-браузера для онлайн-банкинга, так как рамка окна веб-браузера с низким уровнем доверия будет иметь красный цвет, а окна веб-браузера для онлайн-банкинга — зеленый. На Рисунке 1 представлен снимок экрана из руководства пользователя Qubes, который отлично иллюстрирует описанную ситуацию.

Множество окон приложений с рамками различных цветов

Множество окон приложений с рамками различных цветов

Так как виртуальная машина dom0 имеет привилегии, позволяющие осуществлять доступ к данным других виртуальных машин Xen, в Qubes предприняты дополнительные меры, направленные на ее защиту, а именно, список запускаемых с помощью нее программных компонентов ограничен компонентами окружения рабочего стола, а также из нее полностью закрыт доступ к сети. Вам придется выполнять минимально возможное количество действий в рамках данной виртуальной машины, а для работы с любыми из доступных приложений использовать вместо нее виртуальные машины приложений. В Qubes умышленно затруднена методика копирования файлов из виртуальной машины dom0 по сравнению с методикой копирования файлов между виртуальными машинами приложений. Соответствующий каждой из виртуальных машин элемент меню приложений окружения рабочего стола, которое запущено в виртуальной машине dom0, содержит подменю, позволяющее запускать в виртуальной машине каждое из установленных приложений (Рисунок ниже). В составе Qubes имеются инструменты, с помощью которых вы можете установить соответствия между виртуальными машинами и приложениями, поэтому данные подменю не должны выглядеть слишком громоздкими.

Меню приложений Qubes

Меню приложений Qubes

Механизм обмена информацией на уровне виртуальных машин приложений

В том случае, если у вас открыто несколько окон приложений, невольно возникает вопрос: «Как осуществляются операции копирования и вставки данных?». Небезопасный вариант реализации подобного механизма мог бы заключаться в разделении буфера обмена между всеми окнами приложений, но в случае его использования нельзя бы было исключить такие ситуации, когда при открытии веб-браузера в доверенной виртуальной машине и копировании пароля для входа на веб-сайт из менеджера паролей, пароль становился доступен всем приложениям, которые исполняются в других виртуальных машинах. Вместо описанной модели в Qubes используется двухуровневая модель буфера обмена. Каждая виртуальная машина приложения имеет свой собственный буфер обмена, с помощью которого вы можете осуществлять операции копирования/вставки в рамках данной виртуальной машины обычным образом. Если же вам нужно скопировать данные в рамках одной виртуальной машины приложения и вставить их в рамках другой, то сразу же после копирования данных в первой виртуальной машине вам придется воспользоваться сочетанием клавиш Ctrl-Shift-c для перемещения скопированных данных в глобальный буфер обмена, после чего перейти к окну приложения, в которое требуется вставить данные и воспользоваться сочетанием клавиш Ctrl-Shift-v для перемещения данных в буфер обмена виртуальной машины этого приложения и их автоматического удаления из глобального буфера обмена. После выполнения описанных действий вы сможете вставить скопированные данные в окно приложения обычным образом. Очевидно, что данный процесс содержит один дополнительный этап, но вы наверняка удивитесь быстроте привыкания к выполнению описанной последовательности действий: Ctrl-c, Ctrl-Shift-c, переход к окну другого приложения, Ctrl-Shift-v, Ctrl-v. Кроме того, именно этот дополнительный этап позволяет предотвратить случайную вставку информации в окно приложения, для которого эта информация не предназначается.

В составе Qubes также поставляется утилита с интерфейсом командной строки и плагины для контекстных меню файловых менеджеров, позволяющие осуществлять передачу файлов между виртуальными машинами приложений. При попытке копирования файла вы увидите окно подтверждения с черной рамкой, которое никоим образом не зависит от виртуальной машины запущенного приложения и позволяет подтвердить правомерность передачи файла. Даже после подтверждения вы не сможете скопировать файл в любую директорию в рамках целевой виртуальной машины приложения (ведь в противном случае злоумышленник имел бы возможность замены важных файлов на собственные файлы с бэкдорами). Вместо этого все файлы будут размещаться в директории QubesIncoming, расположенной в домашней директории виртуальной машины приложения.

Шаблонные виртуальные машины, целостность системы и защита от бэкдоров

Еще одним механизмом Qubes, реализующим дополнительный уровень защиты данных пользователя настольной системы, является механизм поддержания целостности системы. В том случае, если злоумышленникам удастся скомпрометировать обычную настольную систему, они смогут установить в нее версии таких стандартных утилит, как ls или bash с бэкдорами, или же установить дополнительные программы, активировав механизм их запуска в процессе загрузки системы. В случае Qubes виртуальные машины приложений основываются на шаблонных виртуальных машинах (templateVM), которые по умолчанию содержат базовые компоненты таких дистрибутивов, как Fedora, Debian или Whonix (участники сообщества также поддерживают шаблонные виртуальные машины на основе компонентов других популярных дистрибутивов). При создании новой виртуальной машины приложения вам предоставляется возможность выбора шаблона, на которой она будет основываться, а в процессе ее запуска ей предоставляется доступ на чтение к корневой файловой системе выбранной шаблонной виртуальной машины. Несмотря на то, что пользователь все же может устанавливать программное обеспечение в рамках виртуальной машины приложения или изменять содержимое ее корневой файловой системы, при остановке виртуальной машины все изменения удаляются. При этом сохраняются лишь изменения файловых систем, смонтированных в директории /rw, /usr/local и /home. Это означает, что история и закладки вашего веб-браузера будут сохранены, но в том случае, если злоумышленник все же сможет скомпрометировать ваш веб-браузер и попытается установить версию командной оболочки bash или веб-браузера Firefox с бэкдором, после следующего запуска этой виртуальной машины бэкдор исчезнет сам собой.

Также по умолчанию в рамках виртуальных машин приложений не исполняются какие-либо системные службы, такие, как демон планирования задач cron. Это означает, что злоумышленники также не смогут создать задачу cron для планирования исполнения бэкдора. Несмотря на то, что у злоумышленников все же остается возможность сохранения вредоносного программного обеспечения в домашней директории виртуальной машины приложения, после перезапуска виртуальной машины это вредоносное программное обеспечение больше не будет исполняться и у них не будет возможности его автоматического перезапуска.

Но как в таком случае устанавливать программное обеспечение? Так как каждая виртуальная машина приложения использует корневую файловую систему шаблонной виртуальной машины, при необходимости установки нового программного обеспечения вам придется запустить менеджер программного обеспечения в рамках соответствующей шаблонной виртуальной машины, такой, как yum, apt-get, менеджер с графическим интерфейсом или любой другой, и установить необходимое программное обеспечение. После этого Qubes установит факт наличия новых элементов меню приложений и сделает их доступными в рамках виртуальных машин приложений, основывающихся на использованной шаблонной виртуальной машине.

Единственный недостаток данного подхода заключается в том, что установленные приложения не обнаруживаются виртуальными машинами приложений до момента перезапуска последних. Ввиду того, что в случае компрометации шаблонной виртуальной машины будут скомпрометированы все основанные на ней виртуальные машины приложений, в руководстве Qubes рекомендуется не запускать шаблонные виртуальные машины, не использовать их для запуска обычных приложений и запускать их лишь тогда, когда необходимо установить надежное программное обеспечение. Хотя данный подход и подразумевает наличие дополнительных трудозатрат в процессе установки программного обеспечения, его достоинством является упрощение процесса обновления системы, ведь при наличии обновления безопасности вам придется установить его лишь в шаблонной виртуальной машине, так как после перезапуска всех основанных на ней виртуальных машин приложений файлы этого обновления автоматически появится в их файловых системах.

Обеспечение безопасной работы с сетью с помощью сетевых виртуальных машин

Еще одним механизмом обеспечения безопасности данных пользователя, применяемым в Qubes, является механизм разделения ресурсов сетевого соединения. После установки Qubes будет создано несколько специальных системных виртуальных машин, называемых сетевыми виртуальными машинами (netVM) с именами sys-net, sys-firewall и sys-whonix. Сетевая виртуальная машина с именем sys-net связана со всеми сетевыми устройствами вашего узла, поэтому они недоступны для любых других виртуальных машин. Так как данная сетевая виртуальная машина является единственной виртуальной машиной с IP-адресом во внешней сети, она считается недоверенной и обозначается с помощью красного цвета. Вы можете использовать утилиту конфигурации Network Manager для настройки сетевого соединения в рамках этой виртуальной машины, после чего в области уведомлений вашего окружения рабочего стола появится классический апплет Network Manager. Сетевая виртуальная машина с именем sys-firewall (технически классифицируемая как сетевая виртуальная машина с прокси — proxyVM) обозначена с помощью зеленого цвета и позволяет соединить сетевую виртуальную машину с именем sys-net непосредственно с сетевыми клиентами. По умолчанию создаваемые вами виртуальные машины приложений используют виртуальную машину с именем sys-firewall для организацию доступа к сети.

Для чего все эти сложности? Во-первых, сетевая виртуальная машина с именем sys-firewall функционирует как полноценный межсетевой экран, который может использоваться всеми вашими виртуальными машинами приложений. Несмотря на то, что по умолчанию все виртуальные машины приложений могут взаимодействовать с ресурсами сети Интернет без каких-либо ограничений, в составе Qubes поставляется приложение с графическим интерфейсом для упрощения ограничения доступа отдельных виртуальных машин приложений к сетевым ресурсам, благодаря которому заданные приложения будут получать доступ лишь к заданным узлам сети. Например, вы можете ограничить доступ виртуальной машины приложения для работы с онлайн-банкингом к ресурсам сети таким образом, что приложение сможет использовать лишь порт 443 для доступа к веб-сайту банка или виртуальной машины приложения для работы с сообщениями электронной почты таким образом, что оно будет взаимодействовать лишь с вашим удаленным почтовым сервером. Кроме того, вы можете ввести даже такие ограничения для других виртуальных машин, что они смогут взаимодействовать лишь с узлами из вашей внутренней сети. Любому, кому захочется атаковать одну из ваших виртуальных машин приложений, придется преодолеть сетевые виртуальные машины с именами sys-net и sys-firewall. Это также означает, что в том случае, если злоумышленники скомпрометируют виртуальную машину приложения, они не получат прямого доступа к сетевым устройствам и не смогут, к примеру, настроить автоматическое соединение с другой точкой доступа беспроводной сети.

Сетевая виртуальная машина sys-whonix функционирует аналогично sys-firewall за исключением того, что она автоматически активирует безопасный программный маршрутизатор сети Tor. Любые виртуальные машины приложений, использующие виртуальную машину sys-whonix вместо sys-firewall для доступа к сетевым ресурсам автоматически передают свой трафик посредством сети Tor. В составе Qubes также по умолчанию поставляется виртуальная машина приложения anon-whonix, созданная на основе дистрибутива Whonix для анонимной и безопасной работы в сети, включающая браузер Tor и по умолчанию передающая весь трафик посредством сетевой виртуальной машины sys-whonix.

Я уверен, что вы уже оценили высокую применимость операционной системы Qubes в ряде областей обусловленную тем, что она является более безопасной, чем любой обычный дистрибутив Linux для настольных компьютеров. Надеюсь, вы разобрались с отличиями подхода к защите пользовательских данных, примененного в Qubes, от подхода, примененного в тех программных продуктах, к работе с которыми вы привыкли. При работе с Qubes вы будете гораздо больше задумываться о том, как осуществляется изоляция файлов и данных, а также о том, что могут сделать злоумышленники, если им удастся скомпрометировать одну из ваших виртуальных машин приложений. Даже те дополнительные действия, которые необходимо выполнять при копировании и вставке данных посредством буфера обмена, а также при копировании файлов, будут привлекать ваше внимание к факту передачи информации между недоверенной и доверенной виртуальными машинами приложений и заставлять задумываться о последствиях. Я считаю, что описанные дополнительные меры безопасности на самом деле позволили мне немного расслабиться, так как, к примеру, теперь я уверен в том, что вложение из сообщения электронной почты, которое я открою в одноразовой виртуальной машине, не причинит вреда моей системе или вредоносный веб-сайт, который я открою в недоверенном веб-браузере не получит доступа к важным данным.

Далее следует описание методики загрузки и установки Qubes, даны пояснения относительно использования Qubes в качестве операционной системы для настольных компьютеров, не обходя вниманием некоторые базовые функции менеджера виртуальных машин Qubes и других специфичных для Qubes инструментов, а также приведены некоторые примеры организации повседневной работы с настольным компьютером, на котором используются приложения в отдельных виртуальных машинах. Далее будет описать дополнительных возможностей Qubes, включая технологию split-GPG (данная технология позволяет использовать закрытый ключ GPG в рамках виртуальных машин приложений без необходимости осуществления непосредственного доступа к нему), методику более безопасной работы со ссылками с использованием стандартных обработчиков, методику автоматического открытия вложений сообщений электронной почты в отдельных одноразовых виртуальных машинах, а также методику создания виртуальной машины USB (usbVM), которая позволит изолировать все устройства с интерфейсом USB, что необходимо для защиты от заражения через USB-порты.

Установка ОС Qubes на компьютер

Ранее были подробно описаны возможности Qubes, а также ее главное отличие от большинства дистрибутивов Linux для настольных компьютеров, а именно, механизм разделения приложений по различным виртуальным машинам с целью максимального сокращения возможных маневров злоумышленников в случае компрометации той или иной виртуальной машины. Данный механизм позволяет вам использовать, к примеру, одну виртуальную машину для обычного веб-серфинга, еще одну — для работы с онлайн-банкингом и еще одну — для хранения ключей GPG и работы с менеджером паролей. Ниже максимально просто описан процесс загрузки файла образа установочного диска и непосредственной установки Qubes, а также проведу небольшой обзор окружения рабочего стола и различных типов виртуальных машин, создаваемых по умолчанию.

Загрузка и проверка файла образа установочного диска операционной системы Qubes формата ISO

Вы можете загрузить новейшую версию Qubes с этой страницы, причем на ней помимо ссылки на загрузку образа установочного диска формата ISO, вы также найдете более подробные инструкции по использованию накопителя с интерфейсом USB для создания установочного диска на основе загруженного файла образа формата ISO (на данный момент размер файла образа установочного диска новейшей версии 3.1 превышает размер диска DVD, поэтому вам в любом случае понадобится накопитель с интерфейсом USB для установки данной версии).

В дополнение к файлу образа установочного диска формата ISO вам также следует загрузить файл с электронной подписью и файл открытого ключа с помощью соответствующих ссылок на упомянутой странице. Файл с электронной подписью содержит подпись GPG, созданную с использованием закрытого ключа GPG команды разработчиков Qubes. Благодаря ей вы можете убедиться не только в том, что файл образа установочного диска не был поврежден в процессе загрузки, но и в том, что никто не подменил оригинальный файл, созданный командой разработчиков Qubes. Разумеется, злоумышленник может подменить файл образа установочного диска, а также файл открытого ключа, поэтому следует загружать файл открытого ключа с отдельных компьютеров, расположенных в отдельных сетях (в идеале не связанных с вашей сетью) и использовать такой инструмент, как sha256sum для сравнения хэшей всех загруженных файлов. В том случае, если все хэши совпадают, вы можете быть вполне уверены в том, что для создания электронной подписи использовался корректный ключ, ведь одновременная модификация потоков данных, передаваемых между несколькими компьютерами и сетями, является достаточно сложной задачей для любого злоумышленника.

После того, как вы проверите корректность открытого ключа, вы можете добавить его в свою связку ключей GPG с помощью следующей команды:

$ gpg --import qubes-master-signing-key.asc

Далее вы можете использовать утилиту gpg для проверки электронной подписи загруженного файла образа установочного диска формата ISO:

$ gpg -v --verify Qubes-R3.1-x86_64.iso.asc Qubes-R3.1-x86_64.iso
gpg: armor header: Version: GnuPG v1
gpg: Signature made Tue 08 Mar 2016 07:40:56 PM PST using RSA key ID 03FA5082
gpg: using classic trust model
gpg: Good signature from "Qubes OS Release 3 Signing Key"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C522 61BE 0A82 3221 D94C  A1D1 CB11 CA1D 03FA 5082
gpg: binary signature, digest algorithm SHA256

В выводе вас должна в первую очередь интересовать строка "Good signature", которая сообщает о совпадении электронной подписи. Если вы обнаружите предупреждение, такое, как в примере вывода выше, вам нужно будет просто добавить открытый ключ в свою связку ключей и снова выполнить последнюю команду, после чего можно будет сделать однозначный вывод о безопасности загруженного образа.

Процесс установки операционной системы Qubes

Процесс установки операционной системы Qubes является либо очень очевидным и простым, либо очень сложным в зависимости от используемого аппаратного обеспечения. Из-за сложностей комбинирования технологии виртуализации и аппаратных возможностей различных устройств, требуемых для корректной работы Qubes, данная операционная система не всегда корректно работает даже на тех компьютерах, на которых раньше отлично работали различные дистрибутивы Linux. На веб-сайте проекта Qubes расположен список совместимого аппаратного обеспечения, на основе которого вы можете сделать предварительный вывод о корректности работы того или иного устройства, причем на этом же веб-сайте начато создание списка сертифицированного аппаратного обеспечения, в который пока добавлен лишь первый официально сертифицированный для запуска Qubes ноутбук Purism Librem 13.

Как и в случае работы с большинством установщиков дистрибутивов, вам будет предоставлена возможность разделения вашего жесткого диска на разделы, причем вы можете как согласиться с предложенным разделением, так и создать собственное разделение. Обратите внимание на то, что по умолчанию Qubes активирует функцию шифрования данных на разделах жесткого диска, поэтому вам придется создать как минимум один отдельный раздел /boot. После окончания работы установщика вы увидите окно мастера конфигурации системы, с помощью которого вы сможете установить значения нескольких дополнительных параметров конфигурации, таких, как активация виртуальной машины USB с именем sys-usb. Эта виртуальная машина позволит изолировать все ваши устройства с интерфейсом USB и будет защищать все программные компоненты окружения рабочего стола от вредоносных USB-устройств. Данный механизм все еще является экспериментальным и имеет некоторые достоинства и недостатки, о которых я расскажу в следующей статье. По умолчанию соответствующий параметр конфигурации системы деактивирован, поэтому в том случае, если вы не уверены в необходимости активации описанного механизма, просто не активируйте его в процессе установки - при необходимости вы в любом случае сможете создать описанную виртуальную машину позднее.

Кроме того, установщик также позволяет вам выбрать окружения рабочего стола для установки: KDE, XFCE или оба. Если вы установите оба окружения, вы сможете выбирать необходимое окружение рабочего стола в процессе входа в систему таким же образом, как и в любом другом дистрибутиве Linux. Принимая во внимание дешевизну дискового пространства я рекомендую вам установить оба окружения рабочего стола.

Рабочий стол Qubes

Вне зависимости от того, выберите вы KDE или XFCE в качестве окружения рабочего стола, основной принцип запуска приложений в Qubes останется прежним, поэтому вместо описания особенностей определенного окружения рабочего стола, я попытаюсь максимально обобщенно описать возможности системы таким образом, чтобы данное описание подходило как к KDE, так и к XFCE.

Первой особенностью системы Qubes, на которую вы можете обратить внимание, является организация приложений в соответствующем меню по различным классам виртуальных машин, а не по категориям. Каждой из виртуальных машин поставлен в соответствие стандартный набор приложений, но следует обратить внимание на то, что этот набор не содержит всех установленных приложений — в этом случае меню было бы слишком длинным. Вместо этого вы можете выбрать приложения, которые будут запускаться в каждой из виртуальных машин, использовав пункт меню приложений нужной виртуальной машины «Add more shortcuts» (Рисунок выше). В результате откроется окно, с помощью которого вы сможете перемещать ссылки на приложения в рамках меню приложений. Обратите внимание на то, что Qubes позволяет размещать в меню лишь те приложения, в комплекте поставки которых присутствует файл .desktop (этот же файл используется для добавления элемента в меню запуска приложений в других окружениях рабочего стола).

Пример меню запуска приложений окружения рабочего стола Qubes

Пример меню запуска приложений окружения рабочего стола Qubes

Qubes группирует виртуальные машины в меню приложений в соответствии с их типами. Важно понимать назначение виртуальных машин каждого из типов, ведь это понимание позволит вам принимать боле безопасные решения относительно обоснованности (или отсутствия оснований) выполнения определенных действий в рамках виртуальной машины того или иного типа. А это список типов виртуальных машин:

Установка приложений в ОС Qubes

Процесс установки приложений в Qubes немного отличается от процесса установки приложений в обычном дистрибутиве Linux для настольных систем ввиду использования шаблонных виртуальных машин. Давайте предположим, что вам понадобилось установить GIMP в вашу персональную виртуальную машину приложения. Хотя вы и можете установить этот графический редактор в рамках виртуальной машины приложения с помощью таких утилит, как yum, dnf или apt-get в зависимости от дистрибутива, использованного для создания шаблонной виртуальной машины, лежащей в ее основе, он будет доступен вам лишь до момента остановки выбранной виртуальной машины приложения (кроме того, в меню приложений окружения рабочего стола не появится соответствующего элемента). Для того, чтобы установить приложение на постоянной основе, вам придется идентифицировать шаблонную виртуальную машину, лежащую в основе выбранной виртуальной машины приложения, после чего выбрать в меню окружения рабочего стола пункт «debian-8: Packages» или «fedora-23: Software» для запуска приложения с графическим интерфейсом, позволяющего установить дополнительное программное обеспечение. Альтернативным вариантом является открытие приложения терминала в рамках соответствующей шаблонной виртуальной машины и использование утилит yum, dnf или apt-get для установки программного обеспечения.

После того, как вы установите приложение, файл .desktop из его комплекта поставки будет помещен в предназначенную для него директорию и Qubes автоматически поместит это приложение в список приложений, доступных для запуска в рамках виртуальных машин приложений. При этом оно автоматически не появится в меню запуска приложений. Для того, чтобы добавить его в меню запуска приложений, вам придется выбрать пункт подменю «Add More Shortcuts» меню какой-либо виртуальной машины приложений и переместить его в список видимых приложений. Вы также можете просто открыть приложение терминала в любой из виртуальных машин приложений и запустить установленное приложение с помощью него.

Менеджер виртуальных машин Qubes

Менеджер виртуальных машин Qubes является приложением с графическим интерфейсом, позволяющим управлять виртуальными машинами системы Qubes. В основном окне приложения находится список всех работающих виртуальных машин с информацией об использовании каждой из них таких ресурсов, как время центрального процессора, оперативная память и дисковое пространство, а также о выбранном вами цвете и шаблонной виртуальной машине, на которой она основана. В верхней части окна расположена панель инструментов с кнопками, позволяющими выполнять различные операции с выбранной виртуальной машиной, включая создание новой виртуальной машины или удаление существующей виртуальной машины, включение и отключение виртуальной машины, изменение ее настроек и переключение формата вывода списка с целью показа лишь функционирующих виртуальных машин или всех существующих виртуальных машин.

Менеджер виртуальных машин Qubes с некоторыми функционирующими виртуальными машинами

Менеджер виртуальных машин Qubes с некоторыми функционирующими виртуальными машинами

Вы можете изменить множество параметров функционирования виртуальной машины, при этом менеджер виртуальных машин делает процесс создания новой виртуальной машины или изменения ее стандартных параметров достаточно простым и прямолинейным. Основными параметрами виртуальной машины, которые вы наверняка будете изменять, являются цвет виртуальной машины, квоты использования ею оперативной памяти и дискового пространства, шаблонная виртуальная машина, на которой она основывается, а также сетевая виртуальная машина, с которой она соединена. В дополнение вы можете использовать данное приложение для создания собственных правил межсетевого экрана, установки соответствия аппаратных устройств, использующих шину PCI, и виртуальных машин, а также изменения меню запуска приложений.

Менеджер виртуальных машин является одним из наиболее полезных компонентов рассматриваемой операционной системы, так как он значительно упрощает навигацию по сложной системе утилит с интерфейсом командной строки и файлов конфигурации. В комбинации с некоторыми другими инструментами операционной системы Qubes, такими, как менеджер буфера обмена (реализующий метод копирования и вставки, заключающийся в перемещении данных из локального буфера обмена виртуальной машины приложения в глобальный буфер обмена с помощью сочетания клавиш Ctrl-Shift-c, выборе виртуальной машины приложения для вставки данных и вставке данных в окно приложения с помощью сочетания клавиш Ctrl-Shift-v), а также утилит с интерфейсом командной строки и графическим интерфейсом, которые позволяют копировать файлы между виртуальными машинами приложений, он создает окружение, которое гораздо проще использовать, чем кажется при учете всей сложности реализации описанных концепций.

Хотя данная статья и будет полезна для начала продуктивной работы с Qubes, самыми интересными аспектами использования данной системы являются организация виртуальных машин приложений и разделение задач между ними. В моей следующей статье я поделюсь собственными подходами к разделению персональных и рабочих задач на ноутбуке, а также расскажу о некоторых применяемых в Qubes дополнительных механизмах обеспечения безопасности пользовательских данных, не позволяющих мне вернуться к использованию обычных дистрибутивов Linux для настольных компьютеров.

ОСВМ   ТПОИ   РиЭКТ   КС   ОИС   визуальные среды - 4GL   ТП ОСП   Поколения компьютеров  

Знаете ли Вы, что защищённый режим компьютера, разработан фирмой DEC и заключается в том, что программист и разрабатываемые им программы используют логическое адресное пространство, размер которого может быть намного больше, чем объем ОЗУ. Логический адрес преобразуется в физический адрес автоматически с помощью схемы управления памятью (MMU). При этом содержимое сегментного регистра не связано напрямую с физическим адресом, а является номером сегмента в соответствующей таблице. Благодаря защищённому режиму, в памяти может храниться только та часть программы, которая необходима в данный момент, а остальная часть может храниться во внешней памяти (например, на жёстком диске). В случае обращения к той части программы, которой нет в памяти в данный момент, операционная система может приостановить программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение программы. Следовательно, становятся допустимыми программы, размер которых больше объёма имеющейся памяти, и пользователю кажется, что он работает с большей памятью, чем на самом деле.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution