Четвёртый тестовый выпуск ОС Subgraph
25 сентября 2017 года
Спустя 10 месяцев с момента прошлого обновления сформирован четвёртый альфа-выпуск проекта Subgraph OS, в рамках которого развивается платформа, обеспечивающая запуск десктоп-приложений в отдельных изолированных контейнерах. По сравнению с системой Qubes, использующей средства виртуализации для изоляции приложений, применение контейнеров позволило значительно снизить потребление ресурсов и сделать систему более дружественной для пользователей. Для работы Subgraph требуется 64-разрядный CPU, 2 Гб ОЗУ (рекомендуется 4 Гб) и 20 Гб дискового пространства. Для загрузки доступен iso-образ размером 1.3 Гб.
Проект Subgraph изначально нацелен на предоставление максимальной безопасности и стойкости к атакам, для чего кроме контейнеров применяются наработки проекта Grsecurity/PaX и жесткая верификация устанавливаемых компонентов. Взаимодействие с внешним миром осуществляется только через сеть Tor. Базовое графическое окружение основано на GNOME 3. В качестве браузера применяется Tor Browser, в качестве почтового клиента Icedove/Thunderbird, а для мгновенного обмена сообщениями предлагается CoyIM c поддержкой "end-to-end"-шифрования при помощи OTR (Off-the-Record).
В качестве основы используется пакетная база Debian GNU/Linux с ядром Linux, собранным с патчами Grsecurity/PaX. Содержимое файловых систем хранится в зашифрованном виде (dm-crypt/LUKS). Специфичные для дистрибутива сервисы и инструменты написаны на языке Go, который предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти. При формировании дистрибутива применяется контроль целостности бинарных пакетов и специальный верифицированный процесс сборки, обеспечивающий полную повторяемость сборок (пересборка пользователем приведёт к формированию полностью совпадающих исполняемых файлов).
Все сетевые запросы приложений по умолчанию перехватываютя компонентом Metaproxy и принудительно отправляются только через сеть Tor, за исключением случаев подключения к порталу аутентификации беспроводной сети (captive portal). Доступ к сети предоставляется только приложениям, занесённым в белый список. При этом трафик разных приложений отправляется через разные цепочки узлов Tor (для каждого приложения создаётся отдельный сеанс подключения к Tor). При попытке инициирования исходящего сетевого соединения, не предусмотренного разрешёнными правилами, пользователю выводится диалог с предложением подтвердить или отклонить операцию.
Каждое приложение запускается в отдельных изолированных контейнерах Oz, в которых применяются пространства имён, Seccomp filter, Capabilities и прослойка Xpra, изолирующая приложение от X-сервера (подобие screen для X11). Для приложений ограничивается доступ к пользовательским файлам, устройствам, другим процессам, системным вызовам, полностью контролируются обращения по сети и возможен вывод только в привязанное к приложению окно на рабочем столе.
Основные изменения в четвёртом альфа-выпуске:
- В системе контейнерной изоляции Oz обеспечена возможность создания произвольного числа именованных сетевых мостов и привязки их к различным изолированным окружениям. По умолчанию данная возможность пока включена только в окружении с браузером Chromium (доступен из репозитория и не входит в базовый состав ISO-образа), что позволяет использовать его для прямой навигации по ресурсам сети в режиме Clearnet (не через Tor);
- Переработано изолированное окружение для почтового клиента
Thunderbird. Закрытые ключи теперь недоступны из контейнера, а операции расшифровки и работы с цифровыми подписями выполняются через обращение к gpg-agent, используя привязанный к GPG сокет;
- Экспериментальная возможность запуска одноразовых контейнеров, содержимое которых не сохраняется между перезапусками. Для включения поддержки в /etc/oz/oz.conf следует указать "enable_ephemerals": true, после чего при запуске будет выводиться диалог с предложением запустить приложение в одноразовом или обычном контейнере (после завершения тестирования навязчивый диалог будет заменён);
- Переработана организация доступа к совместно используемым директориям, через которые можно получить доступ к файлам вне контейнера. Настройки XDG_DIRS теперь автоматически привязываются к совместным директориям вне контейнера, например, для Chromium автоматически создаётся проброс в общую директорию для сохранения загруженных файлов, не требуя от пользователя каких-либо действий.
Новшества, которые которые находятся в разработке и пока не готовы для тестирования:
- Значительная модернизация динамического межсетевого экрана: поддержка регулирования доступа приложений, использующих SOCKS5 (фильтрация сетевых запросов через Tor); интеграция TLSGuard; поддержка UDP и ICMP; учёт особенностей контейнеров и возможность задания политик доступа;
- Возможность запуска консольных приложений в контейнерах Oz с ограничением на основе белого списка на основе seccomp-bpf, в том числе добавлен контейнер с gnome-terminal;
- Применение системных фильтров трафика к сетевым соединениям через Tor - вместо прямого обращения к SOCKS5 порту Tor соединения от всех непривилегированных приложений будут транслироваться через динамический межсетевой экран Subgraph Firewall, на котором будут пропускаться только шифрованные TLS-соединения;
- Возможность динамического проброса USB-устройств в контейнеры. Например, для Chromium предоставлена возможность обращаться к брелокам Yubikeys, а Electrum к аппаратным кошелькам (Ledger Nano S);
- Поддержка работы с шиной i2p из контейнеров (например, HexChat и Chromium);
- Подготовлен "Chronion", профиль контейнера для Chromium, который работает только через Tor, защищает от утечки сведений об IP через
WebRTC и не сохраняет данные между перезапусками. Chronion обеспечивает высокую производительность и стойкость к эксплуатации уязвимостей, но пока слабо противостоит техникам идентификации системы (fingerprinting) по параметрам браузера;
- Поддержка WireGuard и VPN на базе IPSec в контейнерах Oz;
- Расширенные возможности настройки Tor, такие как управление шлюзами и установкой новых сеансов;
- Режим работы без Tor: возможность выбора использования Tor для всей системы или только для отдельных контейнеров.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.