Ты дурак или прикидываешься? Есть целые дистрибутивы заточенные на песочницы где все запускается изолированных контейнерах. Есть виртуализация внутриядерная. Есть эффективность утилизации процессорных мощностей на 30% выше. Есть возможность собрать всю систему с максимальной оптимизацией и т.д. и т.п.
Угу, есть, а где возможность форкнуть текущую систему, поиграться и выкинуть её cow форк? Допустим по части сохранности данных - можно конечно же использовать overlayfs и ему подобные. Как быть с ui, и прочими d-bus’ами?
Деды не решили эту проблему в fork’e, нынчёныши не решат и сейчас?
Но, про дистрибутивы, где всё запускается в изолированных контейнерах - тут поподробнее пожалуйста, я вот как-будто помню что что-то такое было, прям вспомнить не могу сходу.
Хочется иметь возможность форкнуть текущее окружение, проделать в нём какую нить дрянь не связанную с конфигурацией железа, и потом удалить за ненадобностью вне зависимости от результатов.
Хотя сейчас сообразил, что виртуалка в принципе покрывает этот сценарий, с той лишь разницей, что в виртуалке не очень удобно сидеть постоянно. Либо нужно как-то туда прокидывать всё железо.
Краткая история: первой реализацией защищенного пространства выполенния можно считать chroot, как соответствующий построенной на файлах системе, то есть, ограничение доступа к файлам и является ограничением всех доступов; по мере того, как всё больше выяснялось, что модель «всё есть файл» уже ни в какие ворота не лезет, и в первую очередь это не работает для сети — возникало больше ядерных механизмов IPC, для которых chroot не работал; тогда была создана jail во FreeBSD где-то так в 1999 году, которая стала дополнением к chroot для обрубки доступа к глобальным объектам IPC; позже подобную технологию реализовал гугель в лине (cgroups) для организации работы своих бесчисленных серверов.
И вот ты приходишь и спрашиваешь «есть ли в онтопике альтернативы windows sandbox»? Ты опоздал лет так на 10-15.
Это нужно перечислять, альтернативой чего конкретно является windows sandbox. Альтернативой десятка существующих механизмов в линаксе, если не двух десятков. С вариациями на все цвета и вкусы, от банального докера (в котором внезапно тоже можно запускать GUI-приложения), до банального chroot + Xephyr, от банального cgroups (и механизмах на его основе - systemd-nspawn, bubblewrap, firejail, appimage, snap, etc) до банального qemu с kvm (и судя по тому, что там написано, весь этот windows sandbox - это банальная виртуалка). Такие дела.
То есть ты вообще ничего не читал, но написал «судя по тому, что там написано». Умно…
Uses hardware-based virtualization for kernel isolation. It relies on the Microsoft hypervisor to run a separate kernel that isolates Windows Sandbox from the host.
/0
Там как раз все картинки
Да, вендовозам нужно на картинках, текст читать не нужно
Traditional VMs apportion statically sized allocations of host memory
kvm+qemu это умеют
Memory sharing
kvm+qemu это умеют
UPD: сначала подумал про другое, оказывается, они переизобрели kernel same-page merging
Короче, microsoft переизобрел kvm с virtio-штуками для шинды. Опять же, альтернатива того, что уже давно есть в опенсорсе. Опять же, банальная виртуалка.
Спасибо за резюме. Я всё жду, когда в Windows можно будет легко запускать произвольные приложения, особенно игры, в изолированном окружении типа CGroups, чтобы без ущерба производительности. Похоже, пока не готово!
Короче, microsoft переизобрел kvm с virtio-штуками для шинды. Опять же, альтернатива того, что уже давно есть в опенсорсе. Опять же, банальная виртуалка.
Нет. MS сделали из этого фичу. Набор разрозненных инструментов, раскиданных по разными частям системы – не альтернатива. В лялексе можно ткнуть правой кнопкой мышки (ну или ок, одну команду в консоли дёрнуть), чтобы запустить приложение вот в такой изолированной песочнице? То-то же!
В линуксе этого не сделали только потому, что это нахрен не нужно. Если это нужно один раз за жизнь, то ты просто делаешь виртуалку и юзаешь снапшоты.
В лялексе можно ткнуть правой кнопкой мышки (ну или ок, одну команду в консоли дёрнуть), чтобы запустить приложение вот в такой изолированной песочнице?
Да: snap, appimage, flatpack, etc, etc, etc. Альтернативно - firejail, docker, bubblewrap, etc, etc, etc.
firejail как один из самых простых вариантов (то есть не требующих настроек и командной строки на пол экрана).
firejail – это из другой оперы. Он не запускает виртуалку и не создаёт изолированного окружения, в котором можно плодить файлы и творить треш и холокост.
В линуксе этого не сделали только потому, что это нахрен не нужно.
Кому не нужно? В венде этим пользуются. Выходит, нужно?
Если это нужно один раз за жизнь, то ты просто делаешь виртуалку и юзаешь снапшоты.
А если это нужно два раза? Или три?
Да: snap, appimage, flatpack, etc, etc, etc. Альтернативно - firejail, docker, bubblewrap, etc, etc, etc.
appimage
docker
Дядя, ты кретин. Appimage не изолирует вообще ничего, это тупо архив с зависимостями. А docker для безопасности используют только полные долбозавры. И всё перечисленное никак не защищает, например, от дыры в ядре. Виртуалка тут хоть как-то может спасти.
Тащемта, Qubes + Nix для лёгкого клонирования системы могли бы спасти. Но ты про них не вспомнил.
Ну ничего, еще через 20 лет они таки переизобретут нормальные контейнеры и начнут ими пользоваться. И вантузятники будут радостно искать отсутствующие альтернативы в линаксе, ага.
А если это нужно два раза? Или три?
То вместо одного клика ты будешь делать два в условном виртуалбоксе, лол.
А docker для безопасности используют только полные долбозавры.
Все что стоит знать о твоем умственном развитии.
И всё перечисленное никак не защищает, например, от дыры в ядр
Если нужно это, то я уже весь тред распинаюсь о том, что все эти «новые» фичи виртуализации в линаксе уже давно есть и microsoft тут в догоняющем положении.
Дополнительно интересно, что если они пробрасывают directx-вызовы (как в WSL2), то это дополнительный вектор атаки на хостовое ядро, и значительный такой.
Тащемта, Qubes + Nix для лёгкого клонирования системы могли бы спасти.
Чтобы достись уровня qubes или nix, майкрософту еще 100 лет нужно будет копировать из них фичи.
Ну ничего, еще через 20 лет они таки переизобретут нормальные контейнеры и начнут ими пользоваться.
Нормальные – это какие? Потому что я не могу сказать, что они в лянуксе-то нормальные. Идеалом было бы, конечно, сделать что-то типа usermode kernel из dragonfly bsd. Причём в линуксе поддержка usermode kernel даже есть, только для контейнеров никто это не использует.
То вместо одного клика ты будешь делать два в условном виртуалбоксе, лол.
Да нет, не буду. Проще венду поставить.
Если нужно это, то я уже весь тред распинаюсь о том, что все эти «новые» фичи виртуализации в линаксе уже давно есть и microsoft тут в догоняющем положении.
Есть низкоуровневые инструменты и примитивы. Фич нету. Фичи надо ещё собрать.
Чтобы достись уровня qubes или nix, майкрософту еще 100 лет нужно будет копировать из них фичи.
Да нет, Qubes можно на венде и HyperV в принципе уже сейчас организовать. Насчёт Nix не скажу. С другой стороны, как пользователя NixOS меня от проблем Nix уже порядочно тошнит.
И вот ты приходишь и спрашиваешь «есть ли в онтопике альтернативы windows sandbox»? Ты опоздал лет так на 10-15.
Чего ты хочешь от человека, сюда периодически приходят пассажиры, считающие, что браузеры под линукс выпускаются через несколько лет после Windows. (Хотя один такой браузер я знаю, да, покойная Opera Presto.)
Не совсем понятен sandbox в оффтопике. Точнее его функционал, когда при каждом новом запуске девственно-чистая система. Нет сохранения состояния. Т.е. полигон на один раз, разворачивать заново нужную конфигурацию, как подозреваю, еще «та» задача.