LINUX.ORG.RU

Ограничение прав доступа к некоторым каталогам.

 , , ,


2

5

Как сделать так что бы chrome, skype и то что я запускаю из домашнего каталога не могло иметь доступа к профилям браузера, почтового клиента и прочим интересным каталогам которые я укажу?

$ ls -la file

-rw-r--r-- 1 user users 0 май 7 01:33 file


user@arch ~ $ chmod -rw file
user@arch ~ $ ls -la file

---------- 1 user users 0 май 7 01:33 file


user@arch ~ $ cat file

cat: file: Отказано в доступе


???
а вообще, awesomenickname дал правильный совет, точнее линк.

Marlboro
()

Как сделать так что бы chrome, skype и то что я запускаю из домашнего каталога не могло иметь доступа к профилям браузера, почтового клиента и прочим интересным каталогам которые я укажу?

Запускай в контейнерах lxc и обязательно на отдельных иксах (можно xephyr).

Cоздание и поддержка профилей AppArmor тебе быстро надоест и ты забьёшь. Отдельные иксы потому, что любое иксовое приложение может делать вообще что ему вздумается и снифить тоже может все.

Ну а вообще виртуалка будет более надёжна ибо не требуют настройки и поддержки, а значит шанс что ты получишь решето несколько ниже.

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

Cоздание и поддержка профилей AppArmor тебе быстро надоест и ты забьёшь.

А чего там поддерживать? Вроде не бином ньютона, всё довольно-таки тривиально. Правда не уверен что можно применить некое правило ко всем исполняемым файлам некоторой ветки файловой системы.

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

user@arch ~ $ chmod -rw file
user@arch ~ $ cat file

Дядя, ты дурак, или просто так тонко троллишь?

anonymous
()

Как сделать так что бы chrome
не могло иметь доступа к профилям браузера

Тонко.

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

А чего там поддерживать?

Если AppArmor нужен не ради почесывания ЧСВ, а для повышения безопасности то правильный подход «запрещено всё, что не разрешено», а потребности гуглохрома не редко меняются особенно с учётом того, что у него своя собственная песочница и ещё он хочет доступ к видеокарте и звуку. Ну или ТС захочет там вебкамеру/микрофон подключить/отключить и вот тут начнется веселуха.

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

С виртуалкой всё намного проще: eсли ты ей сетевуху не создал она в инет никак не полезет и т.п. В каком нибудь QEMU конечно могут быть дыры, но это хотя бы не обфусцированный троян типа скайпа.

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

AppArmor вроде умеет работать с регекспами в профейлах, можно один профиль юзать на несколько бинарей. Я так делал когда органичивал Firefox у которого бинарник лежал в разных директориях в зависимости от версии.

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

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

ТСу вроде надо запретить чтение конкретных директорий, так-что гемор с поддержкой минимальный. С «запрещено всё что не разрешено» гемора больше, но не сказать что намного, в конце концов можно ведь разрешать по первому требованию всё что не жалко резрешать, это сильно проще чем разбираться что приложению действительно нужно, а без чего можно и обойтись (как правило достаточно просто понять к чему приложение пускать не стоит).

Виртуалка или контейнер это конечно надёжнее, но толще и не так удобно.
Если ТС не из Алькаиды например то можно особо не загоняться по паранойи и обойтись «полумерами».

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

Виртуалка или контейнер это конечно надёжнее, но толще и не так удобно.

Не могу согласится, виртуалка всегда удобнее.

Если ТС не из Алькаиды например то можно особо не загоняться по паранойи и обойтись «полумерами».

Ну это я и называю «чесать ЧСВ» ибо без изоляции сабжей хотя бы от иксов только от таких защит 0.

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

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

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

Ну это я и называю «чесать ЧСВ» ибо без изоляции сабжей хотя бы от иксов только от таких защит 0.

Я конечно понимаю что через X можно сделать многое, но думаю достаточен запуск на других иксах подозрительных программ.

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

запускай от отдельного юзера.

Хорошая мысль. Только создавать отдельного пользователя не хочу. Какой UID использовать что бы создать отдельного псевдо-пользователя?

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

Какой UID использовать

следующий.

-u, --uid UID Числовое значение идентификатора пользователя (ID). Оно должно быть уникальным, если не используется параметр -o. Значение должно быть неотрицательным. По умолчанию используется наименьшее значение ID большее или равное UID_MIN и большее чем у остальных пользователей.

Смотрите также описание -r и UID_MAX.

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

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

Ну это тебе решать конечно, но в условиях современного десктопного линукса это бесполезно ибо сито. Если какая-то проприетарщина таки полезет что-то сливать, то наверняка будет делать это грамотно. Хотя другие иксы+другой юзер это уже более-менее надёжно.

Я конечно понимаю что через X можно сделать многое, но думаю достаточен запуск на других иксах подозрительных программ.

Если тебе не надо запускать игры, то Xephyr отлично для этой задачу и работает он без рута.

Мне лично контейнеры показались намного удобнее ибо софту в контейнере можно создать любое окружение через debootstrap, прямо как чрут только без гемороя. Плюс можно ограничить доступ к сети с помощью namespaces. Т.е например ты можешь сделать так чтобы контейнер имел доступ к твоему основному соединению, но не к VPN или наоборот. Или можно вообще создать для каждого контейнера свой собственный бридж и в локалки у них будут другие IP. Это очень удобно когда пускаешь проприетарщину которая хоть тресни лезет через какой-то один интерфейс.

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

Ещё один замечательный способ «чесать ЧСВ» это защищать свою историю похождения по порносайтам как планы противоракетной обороны.

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

Ещё один замечательный способ «чесать ЧСВ» это защищать свою историю похождения по порносайтам как планы противоракетной обороны.

Простое ораничение по каталогам это +0 к безопасности по куче причин. Зачем это тогда вообще делать?

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

Простое ораничение по каталогам это +0 к безопасности по куче причин. Зачем это тогда вообще делать?

Почему?

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

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

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

Если тебе не надо запускать игры, то Xephyr отлично для этой задачу и работает он без рута.

Как раз таки иногда надо.

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

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

Кстати, какие методы обхода защиты в пользовательском пространстве существуют?

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

За тем что есть ощущение что условный скайп, просматривающий историю браузера что-бы таргетировать рекламу например

Вопрос в том, что я не припомню проприетарного софта на онтопике который не спрашивая пользователя так делает. А если оно начнёт делать так без предупреждения, то имеет смысл разать права куда сильнее.

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

А как вообще в пространстве пользователя обходят защиту?

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

Почему?

Ну например потому, что приложение подключённое к твоим иксам может что угодно снифить и какой угодно ввод отправлять. Тоже самое про доступ к pulseaudio (любой софт может слушать микрофон) и вероятно с другими сервисами линуксового десктопа. Скажем всякие DE любят сохранять массу истории о твоих действиях где нибудь в SQLite/MySQL и к последнему локально подрубиться может кто угодно.

Помню проскакивал здесь топик о том, что один эмулятор терминала любит гадить своими логами в /tmp c правами на чтения для кого угодно. У опенсорсных видеодрайверов есть ещё прикольная фишечка, что они не подчищают за тобой память из-за чего после включенного браузера с аппаратным ускорением у тебя в какой-нибудь игре может появиться порнобанер на пол экрана пока она обновляет свой фреймбуфер.

Т.е на линуксовом десктопе понятия «недоверенное приложение» нет в принципе, а SELinux / AppArmor созданы не для ограничения десктопных приложений.

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

Т.е на линуксовом десктопе понятия «недоверенное приложение» нет в принципе, а SELinux / AppArmor созданы не для ограничения десктопных приложений.

Ясно.

Если не брать в расчёт хромоног и скайп которые вызывают понятные подозрения. Мне часто дают какие нибудь ссылки на игры, я их скачиваю и устанавливаю в домашний каталог. Проблема в том что когда нибудь мне наверняка так подсунут троян. Какой бы не была моя переписка, она не для посторонних. Да и не охото что бы мои печеньки своровали.

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

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

qiomi
()

Если только от отдельного пользователя (можно через su). И установит права на файлы к которым доступ нежелателен.

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