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 ★★★★★
()
Ответ на: комментарий от t184256

Ничего интересного. Суета сует, томление духа, контролируемая глупость, пустотность.

alex1101 ☆
()
Последнее исправление: alex1101 (всего исправлений: 1)
Ответ на: комментарий от 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

помнить, что саахрикту под чем-то

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)
Ответ на: комментарий от 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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.