LINUX.ORG.RU
ФорумTalks

о руте


0

2

Ключевая идея рута, что он типа может делать операции над важными данными, а другие пользователи не могут, так?

Сейчас все программы стараются не требовать прав рута. Кое-кто даже ставится в хомячок. То есть все важные данные доступны без прав рута. И негодная программа может беспрепятственно их пофигачить как хочет.

Почему еще жива это отмазка, что на линуксе типа рутовое ограничение всех спасет?

★★★★☆

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

Ты про что? Тот факт, что браузер может писать в файлы инициализации баша или x-сессии, является брешью в безопасности, убивающей любой профит от noexec для ~. А всякие SELinux и TOMOYO идут к безопасности по совершенно другому пути: они управляют тем, что МОЖЕТ делать КАЖДАЯ программа. Если программа пытается делать что-то, что ей ЯВНО (т.е. администратором системы или ментейнером дистрибутива) не разрешено, то она обламывается. И я буду утверждать, что по сравнению с этим всё пионерство с рутом/ограниченным пользователем, парой лишних групп, песочницей для трёх программ и noexec бесполезно, особенно на десктопах.

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

тогда пользователь начнет постоянно работать из-под рута и получится винда

Кто тебе такую чушь сказал?

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

Ну значит ТС ту программу, которую он «Кое-кто даже ставится в хомячок.», поставит не в хомячок, а куда-нибудь в /media/somadata, куда сам себе ранее рутом и дал права. И ситуация повторится. В данном случае проблема в голове.

Это проблемы пользователя-идиота, а не, опять же, системы. В таком случае нужна совершенная защита от дурака.

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

Тот факт, что браузер может писать в файлы инициализации баша или x-сессии, является брешью в безопасности, убивающей любой профит от noexec для ~.

Ну и каким образом он будет туда писать? Снова «внезапно» ТС установит плагин для бесплатного просмотра платного видео(для линупса, ага)? ПОЛЬЗОВАТЕЛЕПРОБЛЕМЫ. А SELinux, к слову, уже давно в ядре, ставь да пользуйся, только вот, на однопользовательском десктопе это явный оверкил, я считаю, как и ACL.

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

Ну и как ты его будешь взламывать? Говори use case, и либо я скажу, почему ты не прав, либо будем думать, можно ли мою идею доработать, если она уязвима.

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

1. Создаем обертку для su или sudo, которая, помимо нужной пользователю команды, выполняет от соотв. пользователя еще и нужную тебе комакнду/скрипт (в качестве команды/скрипта - то, что тебе нужно сделать от других пользователей). Пример такой обертки для su (proof of concept, наколеночная реализация за 5 минут с захардкоденной коммандой): http://pastebin.com/A8yuRp91

2. При взломе забрасываем этот su куда-нибудь вглубь скрытых директорий с конфигами в хомяке так, чтобы пользователь не мог случайно найти.

3. Дописываем в .bashrc нужную директорию в PATH, либо прописываем alias su=/home/someuser/.someconfig/dir1/dir2/dir3/dir4/su

4. Профит: пользователь делает su someuser.subuser и homeuser.subuser взломан.

Замечание: пункт 1 лучше делать не на C, а на чем-либо интерпретируемом, т.к. это позволит обойти noexec.

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

Обход readonly добавит ещё немного забот, но не слишком затруднит задачу. Я не верю в то, что современный линукс-десктоп с иксами можно защитить от подобного (т.е. сохранения вредоносного кода между перезагрузками и повышения прав через некоторое время) при возможности хоть раз выполнить произвольный код (хотя бы через дыру в flash/java). По крайней мере без настроенного MAC.

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

Создаем обертку для su или sudo, которая

Ну и как ты сделаешь обёртку, если писать в конфиги username-а из-под полученного тобой username.restricted ты не можешь? Да и вообще ничего делать не можешь, кроме работы с файлами в крайне ограниченном наборе каталогов. А если к этому добавить в систему ACL-ов еще и такую фичу, как принудительный noexec на каталог, то всё будет совсем печально для взломщика. (Не знаю, может уже и есть такая фича.)

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

При чем, заметь, можно пойти еще дальше: для учеток, под которыми исполняется недоверенный код, вообще закрыть возможность повышать права доступа. Просто перекрыть на уровне правил PAM-а такую возможность. Так что взломщик даже брутфорсом не сможет подобрать пароль ни к чему, чтобы повысить свои права. Или даже если он уже знает пароль username-а, то его эксплоит, будучи запущен от username.restricted, не сможет ничего сделать.

geekless ★★
()

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

Лично я раньше запускал разные проги из-под разных юзеров, щас apparmor юзаю, например, для skype.

Ну и это дело привычки. Те кто говорят что нельзя «работать» из-под рута или нельзя разрешать удалённый вход по ssh руту просто некомпетентные ламеры.

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

Вот в том-то и суть, что достаточно доступа к конфигам баша либо других шелов (или просто программ) username.restricted (а он должен иметь свои конфиги, иначе идея подпользователей бессмысленна). От этого юзера я и смогу модифицировать его конфиги. А потом он сделает su username - и всё, мой коварный план осуществится. ACL в данном случае ничего не даст. noexec бесполезен, если использовать вместо бинарника скрипт в качестве фейкового su/sudo.

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

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

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

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

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

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

Гиклесс предлагает хоть пока слабо продуманную, но весьма неплохую и легко реализуемую идею. Почему сразу Леннарт?

Deleted
()

особенность рута в том, что эта учетная запись по умолчанию имеет uid=0 </thread>

// а особенность euid=0 в том, что при выполнении любой операции которая должна привести к проверки привилегий, эта проверка не выполняется.

val-amart ★★★★★
()
Ответ на: комментарий от Deleted

Я и спросил о KDE. Если не пользоваться KWallet,(в браузере я не запоминаю пароли), то где и как лежат?

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

Рут нужен для _администрирования_

Я именно это и имел виду. Пардон, надо было пояснить. Щас просто тенденция делать всё через sudo. Это правильно, неправильно говорить что все кто админят напрямую от рута лохи.

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

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

я скорее про ситуацию, когда пользователь сам руками закачал и запустил программку «на посмотреть», или имеет какой-нибудь забагованный плагин для браузера. Неважно, есть ли механизм рута или нет, его кредитка и файл MyDocuments/Passwords.txt окажется в расово-угодных руках

Можно банально огородить программу при помощи всяких селинуксов и аппарморов.

Deleted
()

И негодная программа может беспрепятственно их пофигачить как хочет.

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

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

Покажи эксплойт, которым я смогу получить права рута на своей системе с актуальным ядром (deb testing, linux 3.1) - тогда и будет о чем говорить. Дыры фиксят достаточно быстро.

Deleted
()

Сам придумал и сам спросил. Смешно.

Quasar ★★★★★
()

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

Когда на оффтопе сидел (с юзерского аккаунта ес-но), запускал всякие потенциально дырявые и взаимодействующие с сетью программы (браузер, IM) под отдельными аккаунтами с урезанными правами. Твой топик заставил задуматься не сделать ли нечто подобное и в линуксе.

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

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

Как арчеры живут со своей помой AUR, я вообще представить боюсь. :) Интереснее процедура принятия в мейнтейнеры тех репозиториев, куда не может писать рядовой анонимус, но в то же время не главных. Т.е. main/core понятно что охраняются и защищаются хорошо. А вот насчет universe не уверен.

Антиоффтоп: Что из тройки SELinux, AppArmor, TOMOYO лучше для домашнего десктопа? Кто-нибудь использует?

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

Вот в том-то и суть, что достаточно доступа к конфигам баша либо других шелов (или просто программ) username.restricted (а он должен иметь свои конфиги, иначе идея подпользователей бессмысленна). От этого юзера я и смогу модифицировать его конфиги. А потом он сделает su username - и всё, мой коварный план осуществится.

Я не знаю, как тебе еще объяснять, чтоб ты понял. У них общий хомяк. У них общие конфиги. Нет никакого отдельного .profile для подучетки, есть только общий для всех. В .profile писать может только username.

И даже более того, никто в здравом уме не будет выполнять su из песочницы — ибо зачем?

Ну получишь ты управление, скажем, плагином флеш-плеера. Ну окажешься в системе с uid типа username.restricted.flashplayer. Ну и сиди кукуй. Что ты сможешь сделать-то оттуда?

ACL в данном случае ничего не даст. noexec бесполезен, если использовать вместо бинарника скрипт в качестве фейкового su/sudo.

У тебя совершенно нет воображения. Ну представь, что есть бит на директории, который принудительно снимает x-бит на всех regular files, открытие которых происходит через эту директорию. Это можно реализовать? Можно. Еще вопросы?

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

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

Ты невероятно трудный. Если ты не заметил, я говорил о запрещении повышания прав для части подаккаунтов, а не для всех.

geekless ★★
()
Ответ на: комментарий от val-amart

а особенность euid=0 в том, что при выполнении любой операции которая должна привести к проверки привилегий, эта проверка не выполняется.

Это не так. man capabilities

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

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

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

Наверное, тебе нужно что-то непопулярное? Крутота в том, что в отличие от убунт и прочих дебианов, сделать арчепакет может обычный пользователь. Если лень читать вики, можно скопипастать любой существующий пакет и поменять в нем парочку очевидных вещей. Если ты подозреваешь пакет firefox-nightly в неблаговидности, ты всегда можешь прочитать, что там понаписано внутри. А если лень читать — в самое кратчайшее время (минуты) копипастой наколбасить собственный пакет, и выложить в аур под названием my-Ъ-firefox-nightly

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

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

Это убогость дебианоформата, а не крутота арча.

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

Наверное, тебе нужно что-то непопулярное?

Почти ничего непопулярного не использую. Взять, к примеру, тот же блоб от nVidia: он есть только в aur. А таких обыденных пакетов завались!

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

Мне лень.

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

Взять, к примеру, тот же блоб от nVidia: он есть только в aur.

драйвера-блобы в AUR — это нормально, сам понимаешь почему. Туда же прочая свалка: wine'овские порты, говнокод, итп.

из нормальных программ есть чего-то, чего тебе очень хочется перенести в community?

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

из нормальных программ есть чего-то, чего тебе очень хочется перенести в community?

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

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

Ну не помню я, посмотреть надо. (кстати, этот блоб мне не подходит, т.к. с недавнего времени у меня kernel-pf).

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

nvidia-pf — в aur-е, да. Что логично. Впрочем, она же в уже упакованном виде есть и в вот этом репе pf:

$ grep -A4 pf /etc/pacman.conf
[pfkernel]
# Kernel packages: generic i686 and x86_64, optimized P3, P4, K7, Atom, Pentium-M, K8, Core2
# nvidia-pf, squid3, arora-git, nvidia-utils-beta
Server = http://dl.dropbox.com/u/11734958/$arch
geekless ★★
()
Ответ на: комментарий от Eddy_Em

Попробуй дома поставить aurvote. В ауре демократия работает куда лучше, чем в рашке — если никто не будет голосовать, ничего и не изменится.

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

И чего он делает?

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

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

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

Да ничего, если dkms работать не будет, могу и вручную обновлять.

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

Как арчеры живут со своей помой AUR, я вообще представить боюсь

Вот как раз с AUR'ом все прозрачно — перед сборкой пакета можно своими глазами прочитать PKGBUILD на наличие подозрительных моментов. Мне больше боязно за community-репозиторий. Вдруг злоумышленник настолько хитёр, что собрал достаточное количество голосов, чтоб пролезть в community, а потом взял и всунул троянчик? (:

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

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

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

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