LINUX.ORG.RU

Ответ на: комментарий от Dementy

А от другого пользователя чего?

Системы. Чтобы ограничить доступ запущенного Firefox к домашним каталогам. Как я понял многие делают под Firefox отдельного пользователя, чтобы из под него выходить.

Про профили читал, но насколько они в плане безопасности надежны? Т.е., как я понимаю, запуск из-под отдельного пользователя не причинит вреда (кражи) данным, находящимся в папках другого пользователя.

My555 ()

gksu – вариант, но он устарел, вместо него можно юзать qsudo. Нужно это, чтобы без проблем разрулить права в иксах. С консольными прогами можно просто sudo или su юзать.

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

Нужно тем, кто заботится приватностью личного пространства.

Нужно затем, зачем запускают сетевые сервисы и некоторые демоны от отдельного пользователя, — это добавляет безопасности в виде разграничения доступа к файлам обычными unix-style правами доступа.

ТС я бы посоветовал дополнительно запускать в какой-то песочнице, например, AppArmor, а также посмотреть в сторону firejail или запуска в отдельном X-сервере/Wayland.

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

сетевые сервисы и некоторые демоны от отдельного пользователя

Тут как раз все понятно.

Не совсем понятно зачем это для браузера на декстопе. Если все же всему виной забота о

приватности личного пространства

то не проще

запускать в какой-то песочнице, например, AppArmor, а также посмотреть в сторону firejail или запуска в отдельном X-сервере/Wayland.

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

это добавляет безопасности в виде разграничения доступа к файлам

Так-то оно да...

Но есть ~/.mozilla/firefox/, а там еще каталоги профилей. Вот там Файрфокс и куролесит. Туда и скрипты пишет, если что. По ощущениям, Файрфокс достаточно тщательно делает, чтобы профили друг про друга вообще не знали. А если он это обеспечивает, то сделать, чтобы выше ~/.mozilla/firefox/ не лезло, он тем более может. Интересно, как оно там на самом деле...

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

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

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

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

Достаточно посмотреть историю CVE для браузеров (в т.ч. Firefox) за последние несколько лет, чтобы убедиться, что уязвимости были, есть и будут. Вопрос только, когда очередная уязвимость будет использована против %username%.

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

Надо спросить у ТС.

Если не хватает знаний или времени разбираться с полноценными песочницами, то запустить из-под другого пользователя — намного быстрее. Главное, не забыть проверить права доступа в /home.

А с остальным можно разобраться позже.

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

А если к примеру настроить AppArmor и огородить FF, чтобы он мог копошиться только в указанных местах?

Про AppArmor слышал, но т.к. с Linux только знакомлюсь, интересует насколько он действительно «ограждает» и были ли какие-нибудь критические уязвимости?

Кстати, есть ли вариант ограничить не FF (или другое потенциально опасное приложение), а папку/диск с важными данными. Например, хранить данные на флешке и чтобы доступ на чтение/запись имела одна-две программы?

My555 ()
Ответ на: комментарий от Pravorskyi

Когда уже появится дистрибутив в котором из коробке все будет запускаться в песочницах, ведь уже давно есть cgroups/netns/selinux(apparmor) и оно работает! Вот только недружелюбно в настройке для конечного пользователя.

anonymous ()
Ответ на: комментарий от Pravorskyi

В Debian из коробки AppArmor применяется к некоторому софту. Список пополняется

Я как раз на AppArmor и остановился. Поначалу хотел собственный профиль сгенерировать, но потом посмотрел, что есть под Mozilla готовый в репозитории (аналогичный как и в Ubuntu) посмотрел и поставил его.

My555 ()
Ответ на: комментарий от Pravorskyi

Проковырялся я с AppArmor, делал свои профили (примитивные) для программ, а когда всё установил и настроил наконец решил создать свой образ c этой системы на LiveCD/Flash и оказалось, что AppArmor в LiveCD работает некорректно, по-крайней мере в Debian. Попытки решить не увенчались успехом. В связи с чем приходится вновь возвращаться к проблеме ограничения программ с выходом в интернет.

С SELinux придётся долго ковыряться, с Firejail как-то по отзывам не всё однозначно, т.к. попадались новости/сообщения, из которых следовало, что он сам по себе достаточно уязвим.

Решил пойти по пути создания 2-х пользователей/группы, например: online, offline. Постоянно сидеть, например, из-под пользователя offline (доступ в интернет ограничен в iptables), а программы которым нужен интернет запускать из-под пользователя online. Для этого придётся разрешить любому пользователю подключаться к запущенной текущим пользователем графической оболочке (X-серверу). Но насколько это безопасно?

Попадались сообщения, где о X-сервере нелестно отзывались, мол по сути имеется доступ ко всему, например, что набирается с клавиатуры. А в таком случае не смогут ли через программу запущенную из-под пользователя online похитить данные вводимые в программу из-под пользователя offline?

Например, я зашёл в учётную запись offline, работаю с документами, кликнул по ярлыку и запустил Firefox от пользователя online (при этом продолжаю находится в учётной записи offline). Не произойдёт ли так, что через Firefox запущенный из под online, данные которые ввожу с клавиатуры при работе с документами в offline будут похищены? Firefox приведён для примера.

Извиняюсь за дилетантство и возможно кашу, но с Linux пока только знакомлюсь.

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

Firejail как-то по отзывам не всё однозначно, т.к. попадались новости/сообщения, из которых следовало, что он сам по себе достаточно уязвим.

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

Попадались сообщения, где о X-сервере нелестно отзывались, мол по сути имеется доступ ко всему, например, что набирается с клавиатуры. А в таком случае не смогут ли через программу запущенную из-под пользователя online похитить данные вводимые в программу из-под пользователя offline?

Например, я зашёл в учётную запись offline, работаю с документами, кликнул по ярлыку и запустил Firefox от пользователя online (при этом продолжаю находится в учётной записи offline). Не произойдёт ли так, что через Firefox запущенный из под online, данные которые ввожу с клавиатуры при работе с документами в offline будут похищены? Firefox приведён для примера.

Данные могут быть похищены, теоретически. Для этого стоит запускаемые программы под юзером online запускать в отдельном X-сервере (Xnest, Xephyr). Ты можешь запускать X11-сервер внутри X-сервера. Это позволит изолировать клавиатуру и другие устройства ввода. Также есть расширение XSECURITY для Xorg, но с ним есть нюансы, ЕМНИП, все приложения, запущенные с XSECURITY, «видят» друг друга, а не полноценно изолированы.

Тот же Firejail умеет X11 sandbox различными методами. С Wayland я не работал, так как он ещё не готов для моего софта.

Whonix и Qubes, которые упоминали выше, — качественно лучше обеспечивают безопасность. Следующий уровнь — отдельные ПК для критичных задач, изолированный сегмент сети (VLAN).

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

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

Согласен, но всё-таки сторонние программы (Firejail, Bubblewrap) запускаемые с правами root (через suid) настораживают. Хотелось бы организовать эффективное ограничение встроенными средствами такими как права доступа в Linux. Полагаю, возможно и ошибочно, если и будет уязвимость на уровне прав доступа, то и все вышестоящие программы не спасут. Поэтому и смотрю в сторону 2-х пользователей с ограничением прав.

Whonix и Qubes, которые упоминали выше, — качественно лучше обеспечивают безопасность.

Возможно, но тогда придётся осваивать заново новый дистрибутив, а честно говоря уже «хочется ехать, а не шашечки». Плюс не исключена вероятность, что в этом дистрибутиве что-то не устроит и будет оттяжка по-времени. Кстати, в Whonix помойму как раз Firejail используется.

My555 ()
Ответ на: комментарий от Pravorskyi

запускать в отдельном X-сервере (Xnest, Xephyr)

Подскажите, пожалуйста, классическая команда для запуска Xephyr:

Xephyr -br -ac -noreset -screen 800x600 :1

насколько я понял ключ -ac это аналог xhost +, т.е. уязвимость, т.к. предоставляет всем доступ к дисплею, клавиатуре, мышке. Для «xhost +» предлагают: ssh-туннелирование, cookie X. Но аналогичного примера для Xephyr не нашёл. В основном просто используют ключ -ac и всё.

My555 ()