LINUX.ORG.RU

Запретить неизвестным процессам доступ к ресурсам

 ,


0

3

Прочитал сегодня про AppArmor. Хорошая штука, а оно умеет защищать только от известных приложений? А по дефолту запрещать приложениям, для которых нет профиля, доступ к ресурсам (файлы, доступ в сеть и пр.) есть возможность?

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

А как тогда можно защитить пользователя от вредоносного ПО (например вирус-шифровальщик), если бы оно было под Линукс и пользователь дурак, запускает что попало, скачанное из сети? Про noexec знаю, но вроде это можно обойти, например так: /lib/ld-linux.so.2 ~/runme.bin.

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

А чоето ты решил, что должен быть простой пример конфига? Ставь policy=enforcing и вперёд к чтению мануалов.

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

А чоето ты решил, что должен быть простой пример конфига? Ставь policy=enforcing и вперёд к чтению мануалов.

Жизнь коротка, а я и так уже прожил половину. А вдруг я прочитаю зря тонну текста, а окажется что зря? Пока мне хочется убедиться стоит ли с этим разбираться.

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

Если не хочешь сдохнуть, пуская слюни под дом2, стоит. А школопафос про половину — не аргумент.

anonymous
()

Я тебе открою страшную тайну. Никому твой домашний комп не нужен, это во-первых. Во-вторых, «защита от запуска неизвестных процессов» это даже не полумера, т.к. вредоносный код совсем не обязательно запускать отдельно, ага. Учесть что ты изначально ленив и глуп для чтения мануалов, советую осилить chroot.

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

Никому твой домашний комп не нужен

А речь и не о домашних компьютерах и тем более не о моём (мне такая защита вовсе ни к чему, я отдаю отчёт своим действиям). Парк офисных компьютеров, например, за которыми будут работать далёкие от IT люди.

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

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

советую осилить chroot.

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

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

простого примера конфига

Мандатный доступ и простой пример конфига — понятия взаимоисключающие.

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

Мандатный доступ и простой пример конфига — понятия взаимоисключающие.

Почему? Профили Apparmor вполне себе простые, да и под оффтопиком есть несколько несложных решений.

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

по дефолту запрещать приложениям, для которых нет профиля, доступ к ресурсам (файлы, доступ в сеть и пр.) есть возможность?

тащем-то для этого твои теги не нужны. Достаточно обычных прав.

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

но вроде это можно обойти, например так: /lib/ld-linux.so.2 ~/runme.bin.

такой большой, а в сказки веришь...

tmpfs on /tmp type tmpfs (rw,noexec,nosuid,nodev,size=300M)
$ /lib/ld-linux.so.2 /tmp/ls
/tmp/ls: error while loading shared libraries: /tmp/ls: failed to map segment from shared object: Operation not permitted

А как тогда можно защитить пользователя от вредоносного ПО (например вирус-шифровальщик), если бы оно было под Линукс и пользователь дура

NoWay Дураку нет смысла что-то запрещать делать в ЕГО каталоге. Однострок на перле всё равно всё сотрёт. У него. Ну и хрен с ним.

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

А речь и не о домашних компьютерах и тем более не о моём (мне такая защита вовсе ни к чему, я отдаю отчёт своим действиям). Парк офисных компьютеров, например, за которыми будут работать далёкие от IT люди.

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

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

нет. Они нужны совсем для другого. Что-бы одни юзеры не лезли и не вредили другим юзерам.

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

только школьник-дурак мог сказать такую глупость, какую ты только-что сказал...

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

Почему? Профили Apparmor вполне себе простые, да и под оффтопиком есть несколько несложных решений.

проблема этих решений в том, что такого же эффекта можно с лёгкостью добиться обычными unix-правами. Что там с оффтопиком я не в курсе, а в онтопике тебе мешает это понять обычное невежество.

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

проблема этих решений в том, что такого же эффекта можно с лёгкостью добиться обычными unix-правами.

Запускать каждое приложение под отдельным пользователем? Ну-ну… Это глупо, неудобно и костыльно. Для демонов ещё годится, но не для пользовательских GUI приложений. Ты бы ещё концепцию CubesOS предложил (каждое приложение запускается в отдельной виртуалке, если не ошибаюсь), гг...

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

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

нет. Они нужны совсем для другого. Что-бы одни юзеры не лезли и не вредили другим юзерам.

А вот это как раз и без этих инструментов решается обычными правами доступа.

Короче, ты некомпетентен, уходи.

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

только школьник-дурак мог сказать такую глупость, какую ты только-что сказал...

Ты как всегда балаболишь без аргументов, батти…

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

NoWay Дураку нет смысла что-то запрещать делать в ЕГО каталоге. Однострок на перле всё равно всё сотрёт. У него. Ну и хрен с ним.

Ты предлагаешь вместо тупых пёзд нанимать айтишников выполнять тупую работу и платить им большую зарплату?

Короче, Линукс не готов ещё для ентерпрайза, я вас понял.

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

Запускать каждое приложение под отдельным пользователем? Ну-ну… Это глупо, неудобно и костыльно.

УМВР, ЧЯДНТ? А ну да, ты же тупее моего сына, которому 5.5 лет... Не, не тупее? А почему у него ВР, а у тебя «глупо»?

Для демонов ещё годится, но не для пользовательских GUI приложений.

ага. А мужики-то не знали...

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

нет. Они нужны совсем для другого. Что-бы одни юзеры не лезли и не вредили другим юзерам.

А вот это как раз и без этих инструментов решается обычными правами доступа.

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

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

(и насколько я знаю, если процесс оттуда вылезет, он получит рут доступ ко всему).

только школьник-дурак мог сказать такую глупость, какую ты только-что сказал...

Ты как всегда балаболишь без аргументов, батти…

ну продемонстрируй, как ты «вылезаешь из простой учётки и chroot'а и получаешь доступ ко всему». Жду с нетерпением.

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

Короче, Линукс не готов ещё для ентерпрайза, я вас понял.

Линукс ещё не готов для тебя. И до этого радостного события как до китая раком. Извини.

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

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

Две программы, program1 и program2, запущены под одним пользователем. Первая должна иметь доступ только к каталогу ~/.program1, а вторая только к каталогу ~/.program2. Давай, рассказывай как твой пятилетний сын решает эту задачу :D

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

ну продемонстрируй, как ты «вылезаешь из простой учётки и chroot'а и получаешь доступ ко всему». Жду с нетерпением.

Тут уже демонстрировали, ищи. Если мне не изменяет память, как-то через забинженый /proc.

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

УМВР, ЧЯДНТ? А ну да, ты же тупее моего сына, которому 5.5 лет... Не, не тупее? А почему у него ВР, а у тебя «глупо»?

Ты долбоёб, раз не понимаешь разныци между «не работает» и «глупо».

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

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

Если мне не изменяет память, как-то через забинженый /proc.

Уверенность просто зашкаливает.

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

ну продемонстрируй, как ты «вылезаешь из простой учётки и chroot'а и получаешь доступ ко всему»

Через иксы или d-bus как вариант.

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

Две программы, program1 и program2, запущены под одним пользователем. Первая должна иметь доступ только к каталогу ~/.program1, а вторая только к каталогу ~/.program2.

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

Давай, рассказывай как твой пятилетний сын решает эту задачу :D

мой сын ещё не решает административные задачи. Ты говорил «глупо, неудобно и костыльно». Отвечай за свои слова.

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

Тут уже демонстрировали, ищи. Если мне не изменяет память, как-то через забинженый /proc.

слив засчитан, лолка.

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

ну продемонстрируй, как ты «вылезаешь из простой учётки и chroot'а и получаешь доступ ко всему»

Через иксы или d-bus как вариант.

PoC будет, или тебя тоже туда же?

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

google: X window system keylogger

Это только один из вариантов. Короче хочешь полноценного чрута — запускай каждое приложение в отдельных иксах.

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

X window system keylogger

Не ври. Ещё раз: продемонстрируй, как ты «вылезаешь из простой учётки и chroot'а и получаешь доступ ко всему»

Имеется ввиду рутовый доступ к ФС, а не чтение клавиатуры. Клаву да — любой юзер залогиненый в сессии иксов читать может.

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

Ещё раз: продемонстрируй, как ты «вылезаешь из простой учётки и chroot'а и получаешь доступ ко всему»

А этого тебе никто и не обещал.

crowbar
()

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

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

Две программы, program1 и program2, запущены под одним пользователем. Первая должна иметь доступ только к каталогу ~/.program1, а вторая только к каталогу ~/.program2.

эта задача решается запуском под разными пользователями.

Да нахуй иди с таким решением. Это костыль

Ты говорил «глупо, неудобно и костыльно». Отвечай за свои слова.

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

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

слив засчитан, лолка.

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

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

это глупо, неудобно и костыльно запускать каждую программу под отдельной учётной записью

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

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

скрипт создаст пользователя

да иди ты нахер с такой безопасностью и поцтеринга с торвальдсом с собой забери

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

запустит под ним иксы,

Неэффективный расход ресурсов.

нужную программу и дропнет привилегии. Все это прозрачно, быстро и без красноглазия.

Это костыль. К тому же, не очень секюрно. Скрипт запускать придётся от рута, не? Вообще-то предполагается что за компьютером будет работать человек, у которого не должно быть рутового доступа, соответственно пароль рута вводить он не может. Использовать suid? Это не очень хорошо и не приветствуется.

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

Ещё раз: продемонстрируй, как ты «вылезаешь из простой учётки и chroot'а и получаешь доступ ко всему»

А этого тебе никто и не обещал.

именно об этом и спор

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

Неэффективный расход ресурсов.

А что делать? Какой mac запретит процессу лезть к другим процессам. запущенных в тех же иксах?

Использовать suid?

Еще есть sudo. Но в общем конечно чтобы такое написать нужны прямые руки и знание матчасти.

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

Кстати надо эту идею Поцтерингу подкинуть. В systemd явно не хватает своего mandatory access control.

не нужно. У него уже в TODO.

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

в общем-то эта херомантия может происходить при установке пакета с правами рута, ставящего пакет. запускать suid-обёрткой, да

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

Да кому он нужен твой рут на локалхосте? У пользователя есть все что нужно вредоносной программе: крон, браузер, через который он ходит на ebay, важные документы, которые можно зашифровать, биткойн кошельки и много чего еще.

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