LINUX.ORG.RU
ФорумTalks

Оказывается, sudo и расширенный $PATH юзера - потенциальные уязвимости

 , ,


0

3

В продолжение недавней темы Урезаешь ли ты $PATH для обычного юзера, $USER? .

В той теме почему-то никто не угадал почему не стоит расширять $PATH обычного юзера. И я тоже не угадал. И это двойка по информационной безопасности всем нам.

Так вот, из $PATH обычного юзера вырезают /sbin, /usr/sbin и /usr/local/sbin чтобы сильно усложнить жизнь потенциальному взломщику. Если он взломает обычного юзера и повысит привилегии... у него может быть даже обзор системы сильно ограничен при таких настройках. Не говоря уже о том, что ему будет сложнее выполнять бинарники из sbin'ов с уже повышенными им привилегиями.

А чем вредно для секурности sudo? Например, этим:

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

Поэтому su лучше чем sudo, а отсутствие /sbin, /usr/sbin и /usr/local/sbin в $PATH обычного юзера лучше чем их наличие там. Такова серьёзная секурность.

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

но, по ходу, не всё так просто как кажется на первый взгляд.

Всё именно так просто. Меньше читай фриков с большими заслугами в прошлом. Оные не делают их меньшими фриками. Если нобелевский лауреат говорит, что простуда лечится ударными дозами витамина C, то никакая премия не делает его слова меньшим бредом. Равно как и заслуги Фоменко с Носовским в математике не делают их полнейшими шизами и фриками с их «новой хренологией». То же самое и тут. Говорить, что дефолтный $PATH имеет хоть какое-то отношение к безопасности — это расписываться в своей некомпетентности. Даже если когда-то там давно заслужил какое-то там уважение.

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

этот самый стул root’а ему ещё потребуется добыть.

Да, полные пути никто не отменял

молодец

но, по ходу, не всё так просто как кажется на первый взгляд.

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

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

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

Но более опытные и образованные люди говорят, что она есть.

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

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

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

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

Очень даже полезно, помогает перейти в контролируемую из неконтролируемой 🙂

alex1101
()

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

nuffsaid

$PATH – для слабаков! Настоящие секурные мужики всегда пишут полные пути до бинарников!

cocucka ★★★★☆
()

Запуск мутной проприетарщины (по крайней мере, не в песочнице строгого режима) — вот настоящая уязвимость.

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

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

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

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

mount в /sbin лежит

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

mount в /sbin лежит

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

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

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

Так выключи эту фичу. PATH юзеру резать тоже бесполезно, потому что юзер этот самый PATH может сделать вообще любым.

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

юзер этот самый PATH может сделать вообще любым

Может сделать, а может и не сделать. Юзеру самому так безопаснее, урезать себе $PATH и не юзать sudo. А то можно взять и в спешке выполнить по ошибке какое-нибудь

sudo mkfs.ext4 /dev/nvme0n1p2
В сеанс su юзер всё-таки вводит команды вдумчивее. Потому, что понимает, что у root'а много прав. А когда юзер юзает sudo, то он перестаёт разделять задачи и для него что запустить Телеграм, что отформатировать раздел становится примерно одинаково.

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

Юзеру самому так безопаснее, урезать себе $PATH и не юзать sudo.

Это никак не следует из предыдущего. Нет, не безопаснее.

В сеанс su юзер всё-таки вводит команды вдумчивее. Потому, что понимает, что у root’а много прав. А когда юзер юзает sudo, то он перестаёт разделять задачи и для него что запустить Телеграм, что отформатировать раздел становится примерно одинаково.

Юзеры разные. Как по мне, всё ровно наоборот. Вводя sudo перед командой, я всегда больше сосредотачиваюсь, нежели не вводя sudo. О том, что сеанс рутовский, как раз легче забыть (а # и даже вообще другой PS1 может и примелькаться), нежели набирая дополнительную команду. Но я вполне могу предположить, что у кого-то и наоборот — как там что у кого в голове устроено — потёмки.

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

В сеанс su юзер всё-таки вводит команды вдумчивее.

в сеанс su в первую очередь вводится чужой (как правило рута) пароль и далее следует бесконтрольная полноправная сессия. Есть шанс скомпрометировать ещё один пароль, помимо собственного.

а что и как может исполняться через sudo контролируется через sudoers и sudo.conf; хоть какая-то степень контроля, уже лучше чем su

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

юзер этот самый PATH может сделать вообще любым

Короче, учитесь пока я жив:

$ export PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
bash: PATH: readonly variable
$ grep readonly ~/.bashrc
readonly PATH
$

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

Дистр, который я делал сам.

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

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

И опять какое-то натягивание совы на глобус…

Dimez ★★★★★
()

su лучше чем sudo

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

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

Из под юзера - да. Для zsh'а есть

typeset +r PATH
, но в bash'е и typeset более бедный, и с readonly переменными он не работает.

В Гугле находятся обходные пути разве что через sudo.

Юзайте bash!

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

Надо держать эмулятор терминала с su на конкретном рабочем столе.

В случае того же screen'а su можно запускать в окне с конкретным ID. Например, 0.

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

Можно и так. Однако, даже после редактирования придётся запускать новую сессию. Что может быть не так просто для взломщика.

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

Так вот, из $PATH обычного юзера вырезают /sbin, /usr/sbin и /usr/local/sbin чтобы сильно усложнить жизнь потенциальному взломщику.

кстати, ты так и не объяснил в чём сильность усложнения

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

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

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

Если sbin'ов нет в $PATH, то только по полному пути. А полные пути могут различаться в разных дистрибутивах. Плюс, как я уже упомянул, ему при таких настройках может быть ограничен обзор и тогда он не увидит что и где лежит.

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

Если sbin’ов нет в $PATH, то только по полному пути.

то есть может, в чем тогда сложность, тем более - сильная?

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

и что означает вот это?

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

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

Я не до конца понял, но так говорят IT-специалисты. Я не настолько специалист в информационной безопасности. Возможно, речь о том, что на /sbin, /usr/sbin и /usr/local/sbin могут быть дополнительно выставлены права чтения только для root'а, но это не точно.

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

Возможно, речь о том, что на /sbin, /usr/sbin и /usr/local/sbin могут быть дополнительно выставлены права чтения только для root’а, но это не точно.

а при чём тут PATH тогда?

kott ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)