URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 131734
[ Назад ]

Исходное сообщение
"Ubuntu ограничит доступ к user namespace"

Отправлено opennews , 09-Окт-23 23:50 
Компания Canonical объявила о внесении в   Ubuntu 23.10 изменений, ограничивающих доступ пользователей к пространствам имён идентификаторов пользователя (user namespace), что позволит повысить защищённость систем, использующих контейнерную изоляцию, от уязвимостей, для эксплуатации которых необходимы манипуляции с user namespace. По данным Google,  44% эксплоитов, участвующих в программе по выплате денежных вознаграждений за выявление уязвимостей в ядре Linux, требуют наличия возможности создания пространств имён идентификаторов пользователя...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59897


Содержание

Сообщения в этом обсуждении
"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 09-Окт-23 23:53 
Может они когда-нибудь исправят ужасный suid?

"Ubuntu ограничит доступ к user namespace"
Отправлено swarus , 10-Окт-23 00:13 
зачем, не используй его и всё

"Ubuntu ограничит доступ к user namespace"
Отправлено noc101 , 11-Окт-23 04:32 
а ныть как?

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 05:46 
Исправил, не благодари: https://www.opennet.dev/openforum/vsluhforumID3/131681.html#157

"Ubuntu ограничит доступ к user namespace"
Отправлено scriptkiddis , 10-Окт-23 00:53 
Вааау бубунта закрыла это, типо вы сами не могли. Целую новлсть из ничего, профи.

"Ubuntu ограничит доступ к user namespace"
Отправлено DeerFriend , 10-Окт-23 01:06 
Напомните, зачем гуглу этот доступ нужно оставлять?

"Ubuntu ограничит доступ к user namespace"
Отправлено Bob , 10-Окт-23 03:14 
Other applications, such as Google Chrome make use of namespaces to isolate its own processes which are at risk from attack on the internet.
--
rtfm, короче

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 05:56 
Вкладки браузера изолируются через user namespaces.

Не только Хрому, но ещё Электрону, Вебкиту и всем поделиям на них, а также программы на готовых тулкитах (Gtk, Qt), использующие веб-процессы. Короче, почти все программы на современном десктопе.

Осталось только по статистике убедиться, что 100% уязвимостей эксплуатируют через JS-программы в веб-клиентах, и вся эта недоизоляция становится бесполезной. Ну, может, /bin/true станет немного безопаснее..


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 11-Окт-23 01:51 
В чём я не прав? Хоть бы аргументировали минусы, что ли. Мне всё равно, а окружающих в заблуждение вводите, господа эксперты.

https://chromium.googlesource.com/chromium/src/+/HEAD/docs/l...
> The namespace sandbox aims to replace the setuid sandbox. It has the advantage of not requiring a setuid binary. It's based on (unprivileged) user namespaces in the Linux kernel. It generally requires a kernel >= 3.10, although it may work with 3.8 if certain patches are backported.

https://chromium.googlesource.com/chromium/src/+/HEAD/docs/l...
> Linux distributions and Chrome OS (kernel >= 3.8)
> Enabled by default (modern kernels) and actively developed

https://www.electronjs.org/docs/latest/tutorial/sandbox
> In Chromium, sandboxing is applied to most processes other than the main process. This includes renderer processes, as well as utility processes such as the audio service, the GPU service and the network service.
> Sandboxed processes in Electron behave mostly in the same way as Chromium's do, but Electron has a few additional concepts to consider because it interfaces with Node.js.

https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIP...
> BUBBLEWRAP_SANDBOX


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 09:27 
> Напомните, зачем гуглу этот доступ нужно оставлять?

Дли шизоляции. Чтобы Хромоног творил в системе, что хотел, just au planned.


"Ubuntu ограничит доступ к user namespace"
Отправлено Всем Анонимам Аноним , 10-Окт-23 12:04 
Если вам не нравится изоляция одной вкладки от другой, то выключите это просто

"Ubuntu ограничит доступ к user namespace"
Отправлено yet another anonymous , 10-Окт-23 22:45 
А дело не "нравится/не нравится". А в пропихивании всеми доступными и не очень способами принципиально ущербных подходов с последующей выборочной "изоляцией". Почти все довольны: выпуск очень нужных обновлений от истинных вендоров, сложность сопровождения --- сертфицированные дорогие обслуживатели, нужные люди про технологические отверстия в курсе, ну и т.д., все при деле.

"Ubuntu ограничит доступ к user namespace"
Отправлено КО , 10-Окт-23 12:35 
Кто платит - того и ботинки

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 05:06 
> возможность создавать user namespace при наличии профиля AppArmor

Нерабочая схема, как работает эта хрень понятно двум с половиной анонам (и всем админам локалхоста на опеннете, конечно же)


"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 09:02 
Так тебе понимать ничего и не надо. Она просто будет через пару промежуточных итераций - работать.
Без твоего участия.

Схема не очень рабочая по другой причине - именно у того г... которое как раз и может послужить предварительной точкой для атаки на userns, namely хромоног, жабоскрипты и прочая дырявая by design мерзость - как раз и будут права эти userns создавать. А через bin/true много не понаатакуешь.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 09:25 
> Так тебе понимать ничего и не надо. Она просто будет через пару
> промежуточных итераций - работать.
> Без твоего участия.
> Схема не очень рабочая по другой причине - именно у того г...
> которое как раз и может послужить предварительной точкой для атаки на
> userns, namely хромоног, жабоскрипты и прочая дырявая by design мерзость -
> как раз и будут права эти userns создавать. А через bin/true
> много не понаатакуешь.

Короче, закуплю попкорна к релизу бубунты.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 13:15 
Да забей на AppArmor. Просто используй SELinux.

"Ubuntu ограничит доступ к user namespace"
Отправлено academiq , 10-Окт-23 06:08 
Есть ли нечто подобное для SELinux? Или это чисто решение (выборочное ограничение user namespace) для AppArmor?

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 06:17 
Ну, CAP_SYS_ADMIN должно быть можно выборочно заблокировать.

"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 22:43 
> Ну, CAP_SYS_ADMIN должно быть можно выборочно заблокировать.

Поздравляю, после перехода в user ns - он снова разблокирован.



"Ubuntu ограничит доступ к user namespace"
Отправлено OpenEcho , 10-Окт-23 11:34 
РТФМ setcap и

https://man7.org/linux/man-pages/man7/capabilities.7.html


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 11:43 
> Есть ли нечто подобное для SELinux?

SELinux нужно перманентно отключать сразу после установки.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 12:23 
нужно просто перекомпилить ядро с отключенной опцией MULTIUSER. Тогда в линуксе кроме рута ничего не будет, совсем как в MS-DOS!

"Ubuntu ограничит доступ к user namespace"
Отправлено Пряник , 17-Окт-23 11:39 
Анонимус научился выполнять menuconfig. Как мило!

"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 13:45 
> Есть ли нечто подобное для SELinux?

напишешь - будет. (правда в targeted mode та еще затея - впрочем, убунта вон справилась)

> Или это чисто решение (выборочное ограничение user namespace) для AppArmor?

убунта написала политику - для apparmor (кстати, возможно в первый раз оказалось что хоть что-то для этой системы сделать проще чем для selinux)

тебе никто конечно не мешает сделать для selinux, но ты не сумеешь.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 09:02 
К чему эти нежности? Нужно просто запретить пользователю включать компьютер.

"Ubuntu ограничит доступ к user namespace"
Отправлено OpenEcho , 10-Окт-23 11:36 
> К чему эти нежности? Нужно просто запретить пользователю включать компьютер.

Здрасти...

А как же управлять тогда толпой?
Так долго боролись чтоб мыши сами оплачивали свою клетку и вдруг - запретить...


"Ubuntu ограничит доступ к user namespace"
Отправлено onanim , 10-Окт-23 09:18 
думаю, речь идёт об kernel.unprivileged_userns_clone, который во всех нормальных дистрибутивах по умолчанию выключен, и только в убунте включён, и для которого уже штук 20 local privilege escalation эксплоитов написано.
переключение убунтой kernel.unprivileged_userns_clone из 1 в 0 заслужило целую новость и миллиард репостов на всех околоайти сайтах.

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 10:13 
Как раз, наоборот. Включен по умолчанию. Отключен только на hardened-ядрах и в некоторых дистрибутивах, которые никто как десктоп использовать не планировал.
А в Убунту, как я понимаю, предлагают ограничивать использование userns белым списком через модуль AppArmor.



"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 10:39 
Ну всё понятно, Убунту под предлогом "безопасности" упрощает жизнь малвари. Видно, кто оплатил услуги, и для чего.

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 11:19 
> речь идёт об kernel.unprivileged_userns_clone, который во всех нормальных дистрибутивах по умолчанию выключен

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


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 13:46 
> Во-первых, это устаревший sysctl

Нет.

> Во-вторых, его никогда не было в ядре. Это васяновский sysctl, для появления которого нужно было применить васянопатчи от васянодебиана. В-третьих, он не получил распространения в других дистрах.

Особого значения не имеет, так как речь идет об убунте, которая практически всё тащит из дебиана.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 14:08 
> > Во-первых, это устаревший sysctl
> Нет.

Читай доки своего любимого дебьяна например:

    If you prefer to keep this feature restricted, set the sysctl:

        user.max_user_namespaces = 0

    The Debian-specific sysctl kernel.unprivileged_userns_clone=0 has
    a similar effect, but is deprecated.

> речь идет об убунте

То есть под "всеми нормальными дистрами" ты понимаешь только дебьян с васянопатчами.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 09:44 
Короче, линукс идёт дорогой андроида - всё больше огораживаний. Лет через пять отберут рут - небезопасно же...

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 10:17 
> Лет через пять отберут рут - небезопасно же...

На десктопах уже давно:
sudo usermod -aG admin,wheel $USER
sudo passwd -l root
;)


"Ubuntu ограничит доступ к user namespace"
Отправлено Anonim , 10-Окт-23 10:22 
И как в этой ситуации обходите "нажмите Ctrl-D или введите пароль root"?? Или у профи таких ситуаций не бывает?

"Ubuntu ограничит доступ к user namespace"
Отправлено И это очень хороший вопрос , 10-Окт-23 17:41 
а действительно, как?

"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 19:07 
Да просто - переустановил винд...э...линoops и живет дальше.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 11-Окт-23 02:19 
За 15 лет свой Арч только один раз переустанавливал, когда сносил дуалбут с Виндой и объединял разделы в один (LUKS+Btrfs).

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 11-Окт-23 02:15 
Забыл ещё в /etc/sudoers{,.d/*} проверить наличие "%wheel ALL=(ALL:ALL) ALL".

Если отвалилась графическая сессия, то профи могут загрузиться с kernel_cmdline+="systemd.unit=multi-user.target", залогиниться обычным пользователем, добавленным в группу wheel, и повысить привилегии через sudo со своим паролем.

Если совсем всё сломали, то грузимся с LiveCD, монтируем корень, чиним из-под "живого" рута или chroot-имся обычным пользователем...


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 11:42 
Скоро закроют всё кроме /home/username и sudo запретят.

"Ubuntu ограничит доступ к user namespace"
Отправлено pic , 10-Окт-23 11:55 
Уже. Fedora Silverblue, Vanilla OS, Endless OS, и Ubuntu (GNOME) через 4 релиза.

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 11:40 
Какого шлака только не понапридумывали лишь бы не использовать стандартные права на запись,чтение,исполнение файлов.

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 11:53 
Какого шлака только не понапридумывали лишь бы не использовать MS-DOS где можно было не задумываться по поводу прав

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 11:57 
Я бы с удовольствием использовал MS-DOS если бы это было уместно в нынешних реалиях.

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 11:58 
Я бы с удовольствием использовал стандартные права на запись,чтение,исполнение файлов если бы это было уместно в нынешних реалиях.

"Ubuntu ограничит доступ к user namespace"
Отправлено 12yoexpert , 10-Окт-23 12:05 
повысить безопасность позволит выпиливание к хренам контейнеров

"Ubuntu ограничит доступ к user namespace"
Отправлено Kuromi , 10-Окт-23 16:06 
"Вместо полной блокировки доступа к user namespace в Ubuntu применена гибридная схема, выборочно оставляющая некоторым программам возможность создавать user namespace"

Да не могут они заблокировать, вся защита в Firefox и Chrome на этом основана.

Ладно, с сборками из дистрибутива проблем не будет, а с тарболлами придется возиться.


"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 20:07 
> "Вместо полной блокировки доступа к user namespace в Ubuntu применена гибридная схема,
> выборочно оставляющая некоторым программам возможность создавать user namespace"

эти некоторые программы и есть - фуфлофокс, хромоног, нода и весь остальной васянский цирк.
> Да не могут они заблокировать, вся защита в Firefox и Chrome на
> этом основана.

хорошая заssshitа.

> Ладно, с сборками из дистрибутива проблем не будет, а с тарболлами придется
> возиться.

наоборот - нечего возиться, им можно. А /bin/true и раньше не пользовалась.


"Ubuntu ограничит доступ к user namespace"
Отправлено Kuromi , 10-Окт-23 20:22 
>> "Вместо полной блокировки доступа к user namespace в Ubuntu применена гибридная схема,
>> выборочно оставляющая некоторым программам возможность создавать user namespace"
> эти некоторые программы и есть - фуфлофокс, хромоног, нода и весь остальной
> васянский цирк.
>> Да не могут они заблокировать, вся защита в Firefox и Chrome на
>> этом основана.
> хорошая заssshitа.

И что? Разработчики браузера используют максимум фич им доступных, почему бы и нет? Думаешь из-за истерички Шаттлврота ФФ перестанет использовать неймспейсы? Вряд ли.
Хотите тру защиты - запускайте ФФ в виртуалке в которой ничего больше нет.


"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 20:27 
> Разработчики браузера используют максимум фич им доступных, почему бы и нет?

ну вот потому что конкретно эта фича - чревата внезапно-рутом.

Который через нее получали уже десяток раз. Почему бы и не использовать, действительно.


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 20:41 
Конкретно эта не особо, механизм изоляции работает таким образом, что получить дополнительные права не получится. Рут несколько раз был у приложений, которые используют права виртуального рута в неймспейсе.

"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 20:56 
так весь фокус в том что в неймспейсе у тебя сброшены (в смысле - в исходное состояние, даже если были посброшены до clone) capabilities, и рут там тоже вполне себе может быть - причем для создания такого рута не надо иметь прав рута в системе.

Ты не можешь конечно отмапить его в настоящего рута - но тут нам на помощь приходит очередная недоделанная проверка "а не в неймспейсе ли мы и если да то..."


"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 10-Окт-23 21:25 
Так это значит, что уже есть возможность исполнять произвольный код и создавать свои неймспейсы. Но например доступа в сеть в изолированном неймспейсе не появится, придётся для начала сбежать и получить права вне изоляции. При этом, песочницы изолируют gpu-процесс, исполняющий рандомные шейдеры, у которых в противном случае будет слишком много прав (привет майнеры). И обычно контентный тоже (привет libvpx). Что является более актуальным.

"Ubuntu ограничит доступ к user namespace"
Отправлено пох. , 10-Окт-23 22:41 
> Так это значит, что уже есть возможность исполнять произвольный код и создавать
> свои неймспейсы.

ну да. А от кого же мы еще защищаемся-то в браузере?

> этом, песочницы изолируют gpu-процесс, исполняющий рандомные шейдеры, у которых в противном
> случае будет слишком много прав (привет майнеры). И обычно контентный тоже

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

> (привет libvpx). Что является более актуальным.

ну да - libvpx теперь не из соседней вкладки данные стырит (от чего как-то могут защищать userns), и даже не из твоего хомяка (а вот от этого нет), а попутно рутом станет, поди плохо-то ;-)


"Ubuntu ограничит доступ к user namespace"
Отправлено yet another anonymous , 10-Окт-23 22:58 
Действительно, настойчивое проталкивание wayland-only --- с доступом к GPU и около --- начинает играть новыми красками ;)

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 11-Окт-23 00:16 
Так у кода в браузере есть только возможность исполнять жс/вебассембли, это не то же самое, что дёргать произвольный код в произвольных либах. Эксплуатация уязвимостей значительно усложняется. Альтернатива неймспейсам это суидный рутовый бинарь. Ну, либо вообще, твори, что желаешь.

"Ubuntu ограничит доступ к user namespace"
Отправлено Аноним , 11-Окт-23 01:58 
https://github.com/containers/bubblewrap/blob/main/bubblewrap.c
> if (prctl (PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) < 0) die_with_error ("prctl(PR_SET_NO_NEW_PRIVS) failed");