LINUX.ORG.RU

Простой способ запретить пользователю делать вызовы аналогичные su, sudo

 


2

1

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

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

Пример:
Под пользователем app1 запускается приложение app1, оно каким то чудесным образом знает пароль другого пользователя user123, хотелось бы ограничить возможность приложения app1 смотреть файлы пользователя user123, несмотря на то, что приложение знает целевой пароль

★★

наверно, самое простое запускать подозрительные, но нужные проги в chroot с подключением к основному X сервер?

sanyock ★★
() автор топика

Скорее всего никак. Если пользователь user123 может залогиниться, то и другая программа сможет каким-либо образом залогиниться, сымитировав его действия (например через ssh).

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

а если app1 работает внутри chroot, а пользователь user123 и его ресурсы расположены снаружи, а ssh сервер снаружи конечно же выключен, да даже если бы и был включен, то доступ к нему по ключам, которые с клавы не передаются по ПЭМИ

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

Отобрать у них права на выполнение suid-ных su,sudo и т.п. Не гарантирую, что этого будет достаточно.

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

может в ядре еще что-то есть в т.ч. недокументированное

в кратце хотелось бы чтобы транснациональные троянцы типа chrome, skype не могли прочитать файлы на диске и отправить своим зарубежным операторам - партнерам :)

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

хотелось бы чтобы транснациональные троянцы типа chrome, skype не могли прочитать файлы на диске и отправить своим зарубежным операторам - партнерам

блин вот за этим?? вместо коррекции дурных привычек и adduser junk_user - искать недокументированные фичи ядра? извиняюсь.. дебил? (а вообще, математика хорошо выпаривает кашу из башки)

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

Да, излишний вопрос, всё и так ясно.

anonymous
()

sudo можно настроить, su можно положить в /sbin/su и ограничить доступ в /sbin только для root:root.

Сами файлы user123 должны быть chmod o-rwx.

За остальные suid бинарники на твоей системе — не отвечаю (обычно их не должно быть... разве что еще /sbin/runuser).

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

а разве такой способ не решает большую часть проблем?

если app1 работает внутри chroot, а пользователь user123 и его ресурсы расположены снаружи, а ssh сервер снаружи конечно же выключен, да даже если бы и был включен, то доступ к нему по ключам, которые с клавы не передаются по ПЭМИ

т.е. как может skype выползти за пределы chroot, кроме как через хаки, недокументированные вызовы или по сетке (SSH отключен)? по сетке через X ведь ему не пролезти до файлов?

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

про дебила зря спросил. извини, правда :(

таки какая разница дебил или нет? поцчему вы спгашиваете?

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

ну если только пытаться отрицать наличие зонда в этих прогах, то да, можно делать вид, что ТС неадекватен

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

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

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

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

ну так я и предлагаю chroot - это как бы почти не вместе

а как еще их можно вместе не держать?
виртуалка KVM, второй системник рядом?
кто проверял в VirtualBox отсутствие троянов или недокументированного API для skype, chrome и т.п. ?

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

кто проверял в VirtualBox отсутствие троянов или недокументированного API для skype, chrome и т.п. ?

То есть ты и открытому ПО тоже не доверяешь?

А как мы тебе посоветуем что бы то ни было? Ведь и в ядре Linux закладки теоретически могут быть. Или эксплуатируемые уязвимости.

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

То есть ты и открытому ПО тоже не доверяешь?

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

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

а про закладки в дровах кажется сетевых ведь уже упоминалось?

sanyock ★★
() автор топика

запретить ... поднимать свои полномочия через API

Не нужно - большинству программ это уже запрещено. Ты можешь запретить выполнять те, которым разрешено, стандартными или нестандартными способами раздачи прав, или уговорить программы ничего не делать при каких-то условиях, если они это поддерживают(например pam или какие-то личные /etc/*.{allow,deny}). И то и другое требует рассмотрения каждой из программ отдельно, потому не очень надёжно(всегда есть шанс забыть обконфигурить какую-то прогу). Можно пытаться надеяться на какие-то котнейнеры/виртуалки, в которых не окажется suid-ных и т.п. программ вообще - не уверен, что это проще и надёжнее — достаточно легко найти и закрыть «забытые» дыры, но придётся самому придумывать и обеспечивать всё окружение твоим программам.

Т.ч. я бы вложился в selinuxы.

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

Не нужно - большинству программ это уже запрещено.

где можно про это подробнее почитать?

что мешает, например, Firefox оставить лазейку для плагина, который будет ее эксплуатировать для предоставления плагину аналога вызова sudo/su через API, а логика трояна уже будет зашита в какой-нибудь популярный плагин , который бы подошел в качестве носителя трояна?

плагины часто обновляются - удобно для трояна

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

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

так в chroot ничего не надо (не)забывать, автоматически все закрыто становится кроме самостоятельно подмонтированных каталогов, ведь так ?

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

Я тебя вспомнил, ты тот ламер, которому я говорил что он тупой, а в ответ: «ты наймит АНБ, кровавой гебни, моссада и жидомассонского заговора»

А болезнь прогрессирует, однако!

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

Я тебя вспомнил, ты тот ламер, которому я говорил что он тупой, а в ответ: «ты наймит АНБ, кровавой гебни, моссада и жидомассонского заговора»>

а я все твои высеры в папочку подшиваю



ведь не згя же ты таг стагаешься, есть какой-то интегес?

судя по твой реакции, я оказался прав по поводу гос троянов в популярных браузерах?

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

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

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

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

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

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

Вкусняшку не принес санитар еще?

Я к твоим веткам давно не лип, но такого пОциента никто на ЛОРе не пропускает.

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

Вкусняшку не принес санитар еще?
Я к твоим веткам давно не лип, но такого пОциента никто на ЛОРе не пропускает.



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

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

chroot

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

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

suid-программы, обычно, расположены в тех же каталогах, что и «нормальные». Придётся извращаться.

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

подробнее почитать

Наверное, в документации. Коротко - в «нормальном» юниксе всё можно только тому, что уже запущено от uid=0. В продвинутых может быть сложнее, man capabilities. В обоих случаях «firefox» может выполнять только то, что ему разрешили при старте, обычно включая запуск некоторых программ с повышенными привилегиями - ибо так проще добиться, «чтобы работало». Т.е. если ты стартуешь его «обычным» пользователем/способом, на уровне API уже всё закрыто, остались только специально разработанные дыры в виде suid-ных программ.

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

Ты так забавно реагируешь, на говно весь исходишь ... что еще троллю надо ...

наслаждайся ...

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

В обоих случаях «firefox» может выполнять только то, что ему разрешили при старте

разве он не может как в венде вызвать фрагмент кода по смыслу похожий на:

using (Impersonation.LogonUser(domain, username, password, logonType))
{
// do whatever you want as this user.
}

или в Linux такого нет?

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

ls -al /usr/lib/chromium/chrome-sandbox

-rwsr-xr-x 1 root root 18528 Sep 28 2014 /usr/lib/chromium/chrome-sandbox

даже если корпорация бобра делает это в благих целях, то есть мнение, что этим могли воспользоваться другие:
https://bugs.chromium.org/p/chromium/issues/detail?id=76542

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

в Linux такого нет

а что мешает любой программе вызвать скрипт для expect с вызовом su?

https://stackoverflow.com/questions/6023982/expect-script-to-su-to-root-and-p...


ну может быть, кроме правил: /etc/pam.d/su
?

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

что мешает любой программе вызвать скрипт

Ничего. Но это нет смысла обсуждать, оно работает через «exec*», и ты не хочешь его запрещать.

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

скайп
второй системник рядом?

Зачем системник? Поставь рядом Nokia N900 или дешевенький смарт на андроиде.

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

ты не хочешь его запрещать.

почему это? я хочу запретить ВСЕ, что только может быть использовано для запуска каких либо левых программ или скриптов из популярных интернет программ

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

Зачем системник? Поставь рядом Nokia N900 или дешевенький смарт на андроиде.

на смартах некомфортно смотреть сайты в интернет и еще буфер обмена городить с основным компом по Ethernet, совсем некомфортная городуха получается

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

может быть OpenVZ? какие еще варианты, чтобы не запускать отдельное ядро в виртуалке?

вроде нет популярных способов вытаскивания файлов из файловой системы с X сервера (по протоколу X11)?

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

chroot — не мера безопасности

эта устаревшая инфа, попробуй продемонстрировать escape from chroot на современном ядре, навряд ли существуют публично известные способы

даже гугол использует chroot якобы для безопасности
https://superuser.com/questions/1029302/why-does-chromium-google-chrome-sandb...

либо в качестве повода для использования setuid в т.ч. в других целях

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

переживешь без буфера, параноик.

без буфера очень неудобно, зачем мне интернет без буфера?

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

а кто-нибудь знает как по простому настроить lxc контейнер для уже существующего каталога для chroot?
гугление обычно приводит примеры с debootstrap

и/или как легко установить lxd на wheezy? постройка из сорцов требует либы lxc, а в wheezy почему то версия dev либы меньше самого lxc и apt предлагает снести lxc при попытке установки либы

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

параноик.

кстати в обсуждениях LXC видел, что и другие пользователи тоже изолюруют цитирую «шкайп» и другие проги

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

почему это? я хочу запретить ВСЕ

Шансы за то, что собрать приемлемой функциональности комплект программ, не использующий exec, тебе не хватит желания.

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

Шансы за то, что собрать приемлемой функциональности комплект программ, не использующий exec, тебе не хватит желания.

под exec понимается bit setuid у некоторых прог?
1) разве такие setuid процессы, запущенные внутри LXC могут воздействовать на внешние процессы?
2) можно find-ом найти все setuid внутри LXC/chroot каталога и отключить почти все их, мне надо только браузер запускать

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

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

хотелось бы разобраться с LXC, очень полезная штука на первый взгляд, как бы более функциональна, чем chroot и менее ресурсоемка чем полный гипервизор

в LXC виртуалках можно и с SELinux поэкспериментировать, а другие типа AppArmor хуже SELinux? они используются в RedHat или уж лучше почти стандарт использовать т.е. SELinux от NSA :)

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

docker вроде отдельными программулинами занимается и пишут про трудности апгрейдов этих программулин

а мне сподручнее целые виртуалки с каталогами универсально подходящими и для chroot и для LXC

пишут про docker мол удобен, чтобы что-то посмотреть по быстрому и не курочить свои настройки, т.е. скачал-увидел-удалил

к сожалению LXD пока нет даже в Debian stable,

хотя, может быть, и к счастью - изучу маны LXC

а без хаков и эксплойтов, я так понимаю, за пределы unprivileged LXC контейнера не вылезьти без использования сети?

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

но и программы про которые ты говоришь без сети не работают... да и есть вроде докер контейнер со скайпом. но один хрен, проще selinux.

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

но и программы про которые ты говоришь без сети не работают

это к тому, чтобы отсечь возможность несетевого проникновения

сеть то понятно придется настраивать, но с ней в вроде все просто

только не уверен нет ли в X11 каких-нибудь наворотов для пролезания в файловую систему?

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

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

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