LINUX.ORG.RU
ФорумAdmin

Кто-нибудь настроивал XSELinux для ограничения приложения от перехвата экрана, клавы и буфера обмена?

 ,


1

2

Кто-нибудь настроивал XSELinux для ограничения приложения от перехвата экрана, клавы и буфера обмена?

Прокси и ssh -X не предлагать. Приложение не должно тормозить (например, это браузер).


XSELinux

Что это? Оно еще живо? Оно когда-нибудь кем-нибудь поддерживалось?

policycoreutils-sandbox вам в помощь.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)

Если приложение уже авторизовано (xauth) в X11 у него полный доступ, и никакой selinux не поможет, т.к. библиотеки xlib/xcb ни вчем не ограничивают приложение.

anonymous2 ★★★★★
()
Последнее исправление: anonymous2 (всего исправлений: 1)
Ответ на: комментарий от anonymous2

xlib/xcb и не могут никого ограничивать, они клиентские

Ограничения могут быть в сервере (xorg) но кажется там их нет. Хотя кто знает, может они там есть но про них никто из современных разработчиков не в курсе.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Ограничения называются XACE, и похожe XSELinux это единственный интерфейс к ним на данный момент.

L29Ah
() автор топика

Фразы «Wayland не предлагать» в ОП не нашёл, поэтому не могу пройти мимо и не предложить Wayland 😉

sudopacman ★★★★★
()
Ответ на: комментарий от L29Ah

Базовый протокол не предусматривает доступ к захвату экрана и ввода. Буфер обмена доступен, только если приложение находится в фокусе.

Для получения доступа к захвату экрана приложение должно попросить разрешение через xdg-desktop-portal. Для эмуляции/захвата ввода пока готовых к использованию механизмов нет, там только через uinput (т. е. уровнем выше).

Насколько я знаю, в Wlroots (про другие не читал) можно запустить несколько экземпляров Xwayland (с разными DISPLAY) и таким способом изолировать X11-приложения друг от друга.

sudopacman ★★★★★
()
Последнее исправление: sudopacman (всего исправлений: 2)
Ответ на: комментарий от sudopacman

Лор решил пойти по пути сраного реддита и запретить комментировать старые треды, пришлось создать новый.

L29Ah
() автор топика
Ответ на: комментарий от sudopacman

Прикольно. Когда допилят waymonad, то обязательно обмажусь! Правда, похоже допилят нескоро: сейчас проект видимо заброшен, остаётся сидеть на xmonad и затыкать дыры в иксах.

L29Ah
() автор топика
Ответ на: комментарий от i586

Уточни, пожалуйста, откуда такая информация? Я вижу что там зовётся Xephyr, который, как я понимаю, в аппаратное ускорение не может.

L29Ah
() автор топика
Ответ на: комментарий от L29Ah

Не может. Но OpenGL организовать с помощью VirtualGL уже можно. dri3, наверное, не получится: это я поторопился с ответом.

А так – я бы поместил приложение в pod, тем более, что огораживать контейнеры с помощью SELinux совсем просто. Графику – через Wayland сокет. Или руками запустить еще один Xwayland сервер, mutter позволяет это делать.

В x11 с gpu слишком много дорабатывать руками в sandbox policy придется.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)

Обнаружил что Weston может быть иксовым клиентом. С первого взгляда кажется, что это то что надо: запускаем по вестону на каждую софтину, софтинам выдаём по личному неймспейсу с сокетом вестона.

L29Ah
() автор топика
Ответ на: комментарий от L29Ah

Обнаружил что Weston может быть иксовым клиентом.

Когда weston иксовый клиент клавой/мышью управляют иксы.
Т.е. если ты запустишь в weston-е (в weston-terminal) команду xinput --test <номер мыши> ты увидишь все события мыши даже за пределами окна weston-а.

Другое дело, что иксы (Xwayland) могут быть клиентом weston-а, да еще сам weston может быть клиентом weston-а.
Вот тогда можно будет воспользоваться возможностями wayland-а (если они есть, я не проверял).

Короче, как-то так ;)

arson ★★★★★
()
Ответ на: комментарий от arson

Тест с xinput из предущего сообщения неправильный, он везде работает ;)

А вот если наоборот, xinput --test <номер мыши> запускать в иксах (Xorg или weston+Xwayland), а мышью возить во вложенном weston-е, то разница есть.

В случае (weston(drm)+Xwayland)+weston-окно(wayland-backend.so, не x11-backend.so (такой тоже можно запустить)) когда я вожу мышкой в окне вложенного weston-а иксы событий не получают! Запускал все от одного пользователя, никаких прав не менял.

arson ★★★★★
()
Ответ на: комментарий от arson

Когда weston иксовый клиент клавой/мышью управляют иксы.

Не, тормознул.
Если в weston-е войти другим пользователем и не дать ему авторизоватся в X-сервере, дав только доступ к вяленому сокету, то событий в корневом X-сервере он не увидит.

arson ★★★★★
()
Ответ на: комментарий от L29Ah

Когда допилят waymonad, то обязательно обмажусь! Правда, похоже допилят нескоро: сейчас проект видимо заброшен, остаётся сидеть на xmonad

Можно попробовать vivarium или river.

sudopacman ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.