Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
sysbox — «runc» следующего поколения с открытым исходным кодом, который позволяет rootless-контейнерам запускать рабочие нагрузки, такие как Systemd, Docker, Kubernetes, точно так же, как виртуальные машины. | Kitploit
Инструменты/GitHubGitHub/nestybox/sysbox
Безопасность облачной инфраструктурыБезопасность контейнеровВиртуализация для безопасностиDevSecOps
GitHubnestybox/sysbox

sysbox

«runc» следующего поколения с открытым исходным кодом, который позволяет rootless-контейнерам запускать рабочие нагрузки, такие как Systemd, Docker, Kubernetes, точно так же, как виртуальные машины.

Репозиторий
3.8k2267 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

sysbox

GitHub license build status

Введение

Sysbox — это открытый и бесплатный контейнерный рантайм (специализированный "runc"), изначально разработанный компанией Nestybox (приобретена Docker в 05/2022), который улучшает контейнеры двумя ключевыми способами:

  • Улучшает изоляцию контейнеров:

    • Пользовательское пространство имён Linux для всех контейнеров (т.е. пользователь root внутри контейнера имеет нулевые привилегии на хосте).

    • Виртуализирует части procfs и sysfs внутри контейнера.

    • Скрывает информацию о хосте внутри контейнера.

    • Блокирует начальные монтирования контейнера и многое другое.

  • Позволяет контейнерам выполнять те же рабочие нагрузки, что и виртуальным машинам:

    • С Sysbox контейнеры могут запускать системное ПО, такое как systemd, Docker, Kubernetes, K3s, buildx (включая сборки для нескольких архитектур), устаревшие приложения, мультиархитектурные приложения и многое другое — бесшовно и безопасно.

    • Это ПО может работать внутри контейнеров Sysbox без модификаций и без использования специальных версий (например, rootless-вариантов).

    • Никаких привилегированных контейнеров, сложных образов, хитрых entrypoint'ов, особых монтирований томов и т.д.

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

Sysbox делает это, максимально приближая контейнер к VM-подобному окружению, используя передовые техники виртуализации ОС.

В отличие от альтернативных рантаймов, таких как Kata и KubeVirt, он не использует виртуальные машины. Это упрощает его использование (особенно в облачных средах, поскольку не требуется вложенная виртуализация), хотя он не обеспечивает такого уровня изоляции, как VM-базированные рантаймы. См. здесь для сравнения.

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

Sysbox может сосуществовать с другими контейнерными рантаймами на одном хосте (например, с OCI runc по умолчанию, Kata и т.д.). Вы можете легко выбирать, какие контейнеры или поды запускать с каждым из них, в зависимости от ваших потребностей.

Демонстрационные видео

  • "VM-подобные" контейнеры с Docker + Sysbox

  • Rootless-подобные Kubernetes-поды с Sysbox

Содержание

  • Лицензия
  • Отношение к Nestybox и Docker
  • Мотивация
  • Как это работает
  • Сравнение с родственными технологиями
  • Целевая аудитория
  • Sysbox Enterprise Edition
  • Возможности Sysbox
  • Системные контейнеры
  • Установка
  • Использование Sysbox
  • Документация
  • Производительность
  • Внутреннее устройство
  • Участие в разработке
  • Безопасность
  • Устранение неполадок и поддержка
  • Удаление
  • План развития
  • Контакты
  • Благодарность

Лицензия

Sysbox — бесплатное и открытое ПО, лицензированное по лицензии Apache, версия 2.0. Подробнее см. в файле LICENSE.

Отношение к Nestybox и Docker

Sysbox изначально разработан компанией Nestybox. Поскольку Nestybox теперь является частью Docker, Docker выступает основным спонсором проекта Sysbox.

Тем не менее, Sysbox — это открытый проект сообщества, и он официально не поддерживается Docker (т.е. подписки Docker не включают поддержку Sysbox). Поддержка осуществляется наилучшим образом через этот репозиторий Github или через Slack-сообщество Sysbox.

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

Мотивация

Sysbox решает такие задачи, как:

  • Усиление изоляции контейнеризованных микросервисов (root в контейнере отображается на непривилегированного пользователя на хосте).

  • Предоставление высокофункционального root-пользователя внутри контейнера без ущерба безопасности хоста.

  • Обеспечение безопасности CI/CD-конвейеров за счёт поддержки Docker-in-Docker (DinD) или Kubernetes-in-Docker (KinD) без небезопасных привилегированных контейнеров или монтирования Docker-сокета хоста.

  • Использование контейнеров как "VM-подобных" сред для разработки, локального тестирования, обучения и т.д. с сильной изоляцией и возможностью запускать systemd, Docker, IDE и многое другое внутри контейнера.

  • Запуск устаревших приложений внутри контейнеров (вместо менее эффективных ВМ).

  • Замена виртуальных машин более простой, быстрой, эффективной и переносимой контейнерной альтернативой, которую можно легко разворачивать в облачных средах.

  • Разделение голых серверов (bare-metal) на несколько изолированных вычислительных сред с плотностью в 2 раза выше, чем у ВМ (т.е. развёртывание вдвое большего количества VM-подобных контейнеров, чем ВМ, на том же оборудовании с той же производительностью).

  • Разделение облачных инстансов (например, EC2, GCP и т.д.) на несколько изолированных вычислительных сред без обращения к дорогостоящей вложенной виртуализации.

Как это работает

sysbox

Sysbox легко устанавливается на хостах Linux (bare-metal, ВМ, on-prem, облако и т.д.). Он работает во всех основных облачных IaaS и Kubernetes-сервисах (например, EC2, GCP, GKE, EKS, AKS, Rancher и т.д.)

После установки Sysbox работает незаметно: вы используете Docker, Kubernetes и т.д. для развёртывания контейнеров с его помощью.

Например, эта простая команда Docker создаёт контейнер с Sysbox:

root@kitploit:~
$ docker run --runtime=sysbox-runc -it any_image

Вы получаете хорошо изолированный контейнер, способный беспрепятственно запускать как микросервисы, так и системное ПО, которое обычно работает на виртуальных машинах (например, systemd, Docker, Kubernetes и т.д).

Подробнее об использовании Sysbox здесь.

Сравнение с родственными технологиями

sysbox

Как показано, Sysbox позволяет непривилегированным контейнерам беспрепятственно запускать системные рабочие нагрузки, такие как systemd, Docker, Kubernetes и т.д., обеспечивая сбалансированный подход между изоляцией контейнеров, производительностью, эффективностью и переносимостью.

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

Обратите внимание, что хотя Sysbox усиливает изоляцию стандартных контейнеров и во многих сценариях устраняет необходимость в небезопасных привилегированных контейнерах, он (пока) не обеспечивает такой же уровень изоляции, как VM-альтернативы или пользовательские ОС, такие как gVisor. Поэтому для сценариев, где требуется максимальный уровень изоляции, такие альтернативы, как KubeVirt, могут быть предпочтительнее (за счёт более низкой производительности и эффективности, а также большей сложности и стоимости).

Подробнее см. в этом посте в блоге.

Целевая аудитория

Проект Sysbox предназначен для всех, кто хочет экспериментировать, изобретать, учиться и создавать системы с использованием системных контейнеров. Это передовая виртуализация ОС, и вклад приветствуется.

Sysbox Enterprise Edition [УСТАРЕЛО]

До приобретения компанией Docker в 05/2022 Nestybox предлагала Sysbox Enterprise как расширенную версию Sysbox (например, больше безопасности, больше рабочих нагрузок и официальную поддержку).

Однако после приобретения Sysbox Enterprise больше не предлагается как самостоятельный продукт, а вместо этого был включён в Docker Desktop (см. Docker Hardened Desktop).

ПРИМЕЧАНИЕ: Поскольку Sysbox Enterprise больше не предлагается как самостоятельный продукт, Docker планирует сделать некоторые функции Sysbox Enterprise доступными в Sysbox Community Edition. Функции пока не определены, и ваши отзывы по этому поводу приветствуются.

Возможности Sysbox

В таблице ниже представлены ключевые возможности контейнерного рантайма Sysbox.

В ней также приводится сравнение между Sysbox Community Edition (т.е. этим репозиторием) и ранее доступной Sysbox Enterprise Edition (сейчас устаревшей).

sysbox

Подробнее о возможностях Sysbox здесь.

Если у вас есть вопросы, вы можете связаться с нами здесь.

Системные контейнеры

Мы называем контейнеры, развёртываемые Sysbox, системными контейнерами, чтобы подчеркнуть тот факт, что они могут запускать не только микросервисы (как обычные контейнеры), но и системное ПО, такое как Docker, Kubernetes, Systemd, внутренние контейнеры и т.д.

Подробнее о системных контейнерах здесь.

Установка

Требования к хосту

Хост Sysbox должен соответствовать следующим требованиям:

  • На нём должен работать один из поддерживаемых дистрибутивов Linux, и это должна быть машина с поддерживаемой архитектурой (например, amd64, arm64).

  • Мы рекомендуем минимум 4 CPU (например, 2 ядра с 2 гиперпотоками) и 4 ГБ ОЗУ. Хотя это не жёсткое требование, конфигурации меньшего размера могут замедлить работу Sysbox.

Установка Sysbox

Способ установки зависит от окружения, в которое будет установлен Sysbox:

  • Чтобы установить Sysbox в кластер Kubernetes, используйте daemonset sysbox-deploy-k8s.

  • В противном случае используйте пакет Sysbox для вашего дистрибутива.

  • Альтернативно, если пакета для вашего дистрибутива ещё нет, или вы хотите получить последние изменения из апстрима, вы можете собрать и установить Sysbox из исходников.

Использование Sysbox

После установки Sysbox вы создаёте контейнер с помощью вашего менеджера контейнеров или оркестратора (например, Docker или Kubernetes) и любого образа.

Пример команды Docker:

root@kitploit:~
$ docker run --runtime=sysbox-runc --rm -it --hostname my_cont registry.nestybox.com/nestybox/ubuntu-bionic-systemd-docker
root@my_cont:/#

Пример спецификации пода Kubernetes:

root@kitploit:~
apiVersion: v1
kind: Pod
metadata:
  name: ubu-bio-systemd-docker
  annotations:
    io.kubernetes.cri-o.userns-mode: "auto:size=65536"
spec:
  runtimeClassName: sysbox-runc
  containers:
  - name: ubu-bio-systemd-docker
    image: registry.nestybox.com/nestybox/ubuntu-bionic-systemd-docker
    command: ["/sbin/init"]
  restartPolicy: Never

Вы можете выбрать любой образ контейнера; Sysbox не предъявляет никаких требований к образу.

Nestybox предоставляет несколько эталонных образов в своих репозиториях Dockerhub и GitHub Container Registry. Это образы, которые обычно включают systemd, Docker, Kubernetes и многое другое внутри контейнеров. Dockerfile'ы находятся здесь. Не стесняйтесь использовать и изменять их по своему усмотрению.

Документация

Мы стремимся предоставлять хорошую документацию; это ключевой компонент проекта Sysbox.

У нас есть несколько документов, которые помогут вам начать работу и получить максимальную отдачу от Sysbox.

  • Документ о совместимости дистрибутивов Sysbox

    • Требования к совместимости дистрибутивов. Проверьте это перед установкой Sysbox.
  • Руководство по быстрому старту Sysbox

    • Содержит множество примеров использования Sysbox. Новым пользователям следует начинать здесь.
  • Руководство пользователя Sysbox

    • Содержит более подробную информацию об установке Sysbox, конфигурации, возможностях и дизайне.
  • Блог Nestybox

    • Статьи об использовании Sysbox для решения реальных задач.

Производительность

Sysbox быстр и эффективен, как описано в этом посте в блоге Nestybox.

Контейнеры, созданные Sysbox, имеют производительность, аналогичную контейнерам, созданным OCI runc (рантайм по умолчанию для Docker и Kubernetes).

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

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

Внутреннее устройство

Sysbox был форкнут из отличного OCI runc в начале 2019 года и стоит на плечах работы разработчиков OCI runc.

Тем не менее, Sysbox добавляет значительную функциональность поверх. Он написан на Go и в настоящее время состоит из трёх компонентов: sysbox-runc, sysbox-fs и sysbox-mgr.

Sysbox использует многие функции виртуализации ОС из ядра Linux и дополняет их техниками виртуализации ОС, реализованными в пользовательском пространстве. Это включает использование всех пространств имён Linux (в частности, пользовательского пространства имён), частичную виртуализацию procfs и sysfs, выборочный перехват системных вызовов и многое другое.

Подробнее о дизайне Sysbox можно узнать в Руководстве пользователя Sysbox.

Sysbox не использует аппаратную виртуализацию

Хотя контейнеры, создаваемые Sysbox, в некоторой степени напоминают виртуальные машины (например, можно работать как root, запускать несколько сервисов и разворачивать Docker и K8s внутри), Sysbox не использует аппаратную виртуализацию.

Sysbox — это чистая технология виртуализации ОС, предназначенная для создания контейнеров, которые могут легко и безопасно запускать как приложения, так и системное ПО.

Это делает контейнеры, создаваемые Sysbox, быстрыми, эффективными и переносимыми (т.е. они не привязаны к гипервизору).

Что касается изоляции, справедливо сказать, что контейнеры Sysbox обеспечивают более сильную изоляцию, чем обычные контейнеры Docker (благодаря использованию пользовательского пространства имён Linux и лёгкой OS-прослойки), но более слабую изоляцию, чем виртуальные машины (из-за совместного использования ядра Linux между контейнерами).

Участие в разработке

Мы приветствуем вклад в Sysbox — будь то небольшие изменения в документации, исправления ошибок или добавление новых функций. Пожалуйста, ознакомьтесь с правилами внесения вклада и руководством разработчика для получения дополнительной информации.

Безопасность

См. главу о безопасности в Руководстве пользователя для получения информации о том, как Sysbox защищает контейнеры.

Если вы обнаружите ошибки или проблемы, которые могут раскрыть уязвимость Sysbox, пожалуйста, сообщите о них, отправив электронное письмо на [email protected]. Пожалуйста, не открывайте проблемы безопасности в этом репозитории. Спасибо!

Кроме того, недавно в ядре Linux был обнаружен ряд уязвимостей, которые в некоторых случаях снижают или сводят на нет усиленную изоляцию, обеспечиваемую контейнерами Sysbox. К счастью, все они исправлены в последних ядрах Linux. См. главу об уязвимостях и CVE в Руководстве пользователя Sysbox для получения дополнительной информации, а дальнейшие вопросы задавайте на Slack-канале Sysbox.

Устранение неполадок и поддержка

Поддержка в настоящее время осуществляется на основе best-effort.

Если у вас есть вопрос или комментарий, мы будем рады его услышать. Вы можете связаться с нами на нашем Slack-канале или создать issue в этом репозитории GitHub.

Если вы заметили проблему с Sysbox, пожалуйста, поищите в существующих issues — возможно, они описывают проблему и предлагают обходной путь.

Также ознакомьтесь с документом по устранению неполадок.

Удаление

Перед удалением Sysbox убедитесь, что все контейнеры, развёрнутые с его помощью, остановлены и удалены.

Способ удаления зависит от способа установки Sysbox:

  • Чтобы удалить Sysbox в кластере Kubernetes, следуйте этим инструкциям.

  • В противном случае, чтобы удалить пакет Sysbox, следуйте этим инструкциям.

  • Если Sysbox был собран и установлен из исходников, следуйте этим инструкциям.

План развития

Ниже приведён список функций в плане развития Sysbox.

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

Вот краткий список; в трекере issues Sysbox их гораздо больше.

  • Поддержка большего количества дистрибутивов Linux.

  • Дальнейшие улучшения виртуализации procfs и sysfs.

  • Постоянное улучшение изоляции контейнеров.

  • Предоставление доступа к устройствам хоста внутри системных контейнеров с соответствующими правами.

Контакты

Slack: Slack-сообщество Sysbox

Email: [email protected]

Мы доступны с понедельника по пятницу, с 9:00 до 17:00 по тихоокеанскому времени.

Благодарность

Мы очень благодарны вам за использование и/или вклад в Sysbox. Надеемся, что он покажется вам интересным и поможет использовать контейнеры новыми, более мощными способами.

Скачать инструмент