На этой неделе я хочу рассказать о необычном проекте, который я недавно опробовал, под названием Split Linux. Сайт проекта описывает себя следующим образом:
Split Linux - это операционная система, оптимизированная для безопасной навигации во враждебных средах, таких как интернет и физические контрольно-пропускные пункты. Split Linux основан на инструментах, которые следуют философии UNIX и основан на быстром и независимом Void Linux.
Копнув немного глубже, мы сможем узнать дополнительные сведения о Split Linux. Идея Split состоит в том, чтобы запустить на вашем компьютере две или более операционных систем. Первая операционная система устанавливается нормально и может быть любым дистрибутивом Linux или другой операционной системой, которая выглядит знакомой публике. Первая операционная система не используется ни для чего важного и считается «приманкой».
Затем мы настраиваем второй слой, в котором будет зашифрованный том, который мы заполним контейнерами Linux. Каждый контейнер имеет собственное имя пользователя и пароль, свои файлы и собственные программы. Сетевой трафик направляется через сеть Tor.
Компьютер не может напрямую загрузиться во второй раздел, и в меню загрузки его нет даже в качестве опции. Второй раздел с нашими зашифрованными контейнерами не загрузочный. Чтобы получить доступ к контейнерам, мы подключаем USB-накопитель со Split Linux. Компьютер загружается с флэш-накопителя, и, если мы введем правильное имя пользователя и пароль, нам будет предоставлен доступ к одному из зашифрованных контейнеров.
Идея здесь, кажется, состоит в том, чтобы предоставить несколько слоев. Если нас остановят на границе и попросят включить наш ноутбук, система загрузится в ложную операционную систему, где ничего важного не будет видно. Даже если мы загружаем компьютер с флэш-накопителя Split и вынуждены вводить пароль, мы можем выбрать, в какую учетную запись войти. Поскольку у каждой учетной записи есть свой собственный контейнер (который изолирован от остальных), это означает, что у нас может быть одна невинно выглядящая учетная запись, другая - для работы, одна - для дома, другая - для банковских операций и т. д. Любой, кто проверяет компьютер, не в состоянии определить, какой контейнер содержит важную информацию или даже количество контейнеров, поскольку все они находятся в одном большом зашифрованном разделе.
Как упоминалось выше, Split Linux основан на Void и использует облегченную библиотеку musl C. Это означает, что мы, по сути, запускаем Void, когда загружаемся с флэш-накопителя Split, а контейнеры, которые мы создаем в зашифрованном томе, по умолчанию запускают минимальную версию Void.
Начало работы
Загрузка с флэш-накопителя Split вызывает меню, предлагающее запустить дистрибутив с USB-накопителя или загрузить операционную систему в оперативную память перед запуском. В процессе загрузки выводится много информации, в основном о запуске служб, некоторые сетевые данные, а также есть рекламное объявление об учетных данных по умолчанию, которое проходит слишком быстро, чтобы я мог его прочитать.
Когда я впервые загрузил Split, казалось, что процесс загрузки заблокирован. Однако, когда я нажал клавишу Enter, вывод прокрутился вверх по терминалу, и мне было показано приглашение для входа в систему. После того, как мне не удалось угадать пароль три раза, появилось сообщение, чтобы выдать мне учетные данные для входа и снова показать приглашение для входа. Мы можем войти в систему, используя «root» в качестве имени пользователя и «voidlinux» в качестве пароля.
При первой загрузке Split Linux мы должны следовать руководству по настройке локальных разделов и зашифрованного тома. В основном оно включает в себя создание нового раздела, настройку шифрования и создание логического тома в разделе. Помимо исходного имени устройства для раздела, процесс установки можно завершить, просто скопировав несколько команд из документации в терминал. Это похоже на серию шагов, которые можно легко прописать в сценарии, чтобы избежать опечаток или вывести инструкции из строя. Все, что нужно сделать сценарию, - это получить имя нашего раздела, например /dev/sda1, а затем выполнить инструкции, перечисленные в документации.
После того, как шаги по созданию зашифрованного тома и его форматированию будут завершены, мы должны перезагрузить компьютер, оставив флэш-накопитель в машине. На этот раз при загрузке системы Split обнаруживает только что созданный зашифрованный том. Он установлен, и мы можем продолжить, следуя вышеупомянутому руководству, по настройке одного или нескольких контейнеров. При желании мы можем добавить в контейнер дополнительное программное обеспечение, например оконный менеджер. В руководстве рекомендуется установить графическую среду Beast, и я попробовал ее. Нам нужно скопировать длинную команду в терминал, чтобы установить оконный менеджер Beast, и, опять же, это похоже на шаг, который можно представить как дополнительный скрипт для запуска с живого носителя.
Созданный нами контейнер по умолчанию будет запускать минимальную копию дистрибутива Void, хотя я полагаю, что мы могли бы установить в контейнер все, что захотим, если предпочтем другой дистрибутив.
Первые впечатления
После настройки одного или нескольких контейнеров мы можем выйти из учетной записи root на живом носителе и войти в контейнер. Мы можем использовать имя контейнера в качестве имени пользователя и его пароль (назначенный во время установки) для входа в минимальную операционную систему контейнера. По умолчанию мы получаем простой дистрибутив командной строки. По сути, Void запускает некоторые программы командной строки с менеджером пакетов XBPS. Предполагая, что мы устанавливаем Beast, графическая среда загружается по умолчанию.
Рабочий стол Beast очень минимален и, что необычно, предлагает очень простой тайловый оконный менеджер, навигация по которому почти полностью осуществляется с помощью сочетаний клавиш. Мне было немного сложно привыкнуть к Beast, но он кажется работоспособным, как только вы познакомитесь с соответствующими горячими клавишами.
Дополнительные мысли
Хотя в руководстве по документации это не упоминается подробно, раздел-ловушка (тот, который не зашифрован) должен быть настроен и использоваться отдельно. То есть мы устанавливаем любой дистрибутив, который нам нравится, на раздел-приманку, как обычно. Предполагается, что он будет иметь минимальную операционную систему с собственными приложениями и учетной записью пользователя, настраиваемыми полностью отдельно.
По сути, идея состоит в том, что когда мы загружаем компьютер, мы обычно регистрируемся в незашифрованной операционной системе, какой бы она ни была. В системе-приманке есть рабочий стол, некоторые приложения, может быть, несколько файлов, но ничего важного или интересного. Когда мы загружаемся с живого носителя Split Linux, он обнаруживает зашифрованный том и монтирует его. Каждая учетная запись пользователя получает свой собственный контейнер на зашифрованном томе. Таким образом, мы можем сделать несколько пользователей (один для работы, один для дома, один для банковского дела), и они будут изолированы от других учетных записей и контейнеров. Все данные зашифрованы, и Split Linux не загружается без живого носителя, поэтому люди, бегло осматривающие ноутбук, видят только ложную операционную систему.
Другими словами, для доступа к нашим важным файлам человеку потребуются три вещи: наш пароль шифрования, имя и пароль нашего контейнера, а также способ просмотра (и доступа) зашифрованных разделов, то есть флэш-накопитель Split Linux. Кроме того, им нужно будет игнорировать автоматическую загрузку ложной операционной системы.
Потребление ресурсов
Изучая Split, я обнаружил, что система довольно легкая. Запуск одного контейнера с интерфейсом Beast потреблял 325 МБ ОЗУ. Сам live-дистрибутив довольно невелик, менее 700 МБ, поэтому его можно запускать с компакт-диска, флэш-накопителя USB или DVD.
Каждый контейнер с установленным оконным менеджером занимал около 2 ГБ моего зашифрованного тома до добавления каких-либо программ или файлов данных. Я подозреваю, что для базовой установки со средой рабочего стола и веб-браузером каждому контейнеру, вероятно, потребуется около 8 ГБ места. Это означает, что если бы мы хотели три изолированных контейнера, нам потребовалось бы как минимум 24 ГБ дискового пространства, а также пространство для данных и пространство подкачки.
Дистрибутив довольно легкий и быстрый, оставаясь верным своим корням Void. Я обнаружил, что он не интегрируется автоматически с VirtualBox, но, опять же, он не предназначен для виртуальных машин. Его цель - помочь нам защитить физические устройства, особенно те, которые мы можем везти за границу, поэтому поддержка виртуальных машин не является приоритетом.
Заключение
Сначала я не был уверен в Split Linux. Веб-сайт проекта сочетает в себе хорошую техническую информацию с некоторыми философскими принципами и советами по конфиденциальности. У меня было приблизительное представление о том, что Split пытался сделать (изолировать и скрыть файлы), но не знал, как это будет выглядеть и сколько усилий потребуется для его настройки.
Подход Split, заключающийся в наличии ложного дистрибутива на одном разделе и зашифрованного раздела, полного скрытых контейнеров, каждый со своими собственными файлами и учетными данными для входа, является действительно отличной идеей. Это немного похоже на Qubes OS в том, что оба дистрибутива сосредоточены на безопасности за счет изоляции, но с гораздо меньшими накладными расходами ресурсов и более коротким временем настройки. Однако там, где Qubes защищает нас в основном от внешних (удаленных) атак, Split предназначен для защиты от злоумышленников, имеющих прямой физический доступ к компьютеру. Концепция Split кажется прочной, и установка прошла в точном соответствии с документацией.
Я вижу два недостатка для потенциальных пользователей Split Linux. Во-первых, проект еще не очень удобен для пользователя. Для его настройки требуется хорошее знание командной строки Linux, а пользовательский интерфейс Beast будет совершенно чуждым большинству пользователей компьютеров. Этот проект может значительно выиграть от сценария установки, некоторых необязательных сценариев «установки надстроек» и более распространенного, но легкого рабочего стола, такого как Xfce или LXQt.
Другая потенциальная проблема, которую я вижу, связана с техническим обслуживанием. Настроить Split не так уж легко, для этого требуются технические знания командной строки и имен устройств, но это не долгий процесс. Проблема в том, что нам нужно постоянно поддерживать каждый контейнер и систему ловушек, если мы планируем использовать его время от времени. Иногда людям сложно успевать за исправлениями для одной или двух операционных систем. Со Split мы можем получить операционную систему-приманку, а также контейнер «невиновный/обманный», рабочий контейнер и домашний контейнер. Это четыре изолированные системы, которые нужно обновлять только для одного ноутбука.
Короче говоря, я думаю, что у Split большой потенциал. Я бы хотел, чтобы была уточнена документация, добавлены некоторые установочные скрипты и более удобный графический оконный менеджер. Я не уверен, что рекомендовал бы его больше, чем что-то вроде Qubes, особенно не для повседневного использования. Я думаю, что Split лучше всего подходит для коротких поездок, например, для того, чтобы пересечь границу по делам, но затем вернуться к другому дистрибутиву после того, как мы вернемся домой. Я думаю, что манипулирование несколькими контейнерами и постоянный запуск минимальной операционной системы потребуют больше усилий, чем оно того стоит, но я вижу выгоду для людей, которым это нужно для одноразовых поездок в ситуациях, когда они не хотят, чтобы содержимое их жесткого диска просматривали.
Оригинал: Review: Split Linux
Познавательная статья.
ОтветитьУдалить