- PVSM.RU - https://www.pvsm.ru -
Рабочее окружение — это тот потенциальный источник заразы, который мы хотим изолировать от остальной системы. Помимо защиты от целенаправленного злодейства, понижение привилегий в нём (то что называется «не работайте от root») спасает от жестоких ошибок и плохо написанных программ, которых может не простить root.
Собственно, не спрашивающий пароля sudo не мешает защите от опечаток (если, конечно, вы не имеете неприятного рефлекса сразу перепечатать эту несработавшую конструкцию с sudo), софт также обычно не приучен самостоятельно использовать sudo, так что единственное, от чего «уточнение» пароля помогает — злостные вирусы и злоумышленники, ставящие своей целью установить всю вашу систему на колени.
Изолировать пользовательский шелл (то место, где вы вводите sudo, а потом в него свой пароль) от самого пользователя — места, где обитает зараза, — задача нетривиальная и, более того, не самая простая в том виде, в котором она поставлена. Гораздо более простой путь — это запуск потенциально ненадёжных программ, таких как браузер, а для особо параноиков — торрент клиента и даже офисного пакета — любых программ, работающих с внешними данными — в отдельном окружении (под отдельным пользователем и/или даже в chroot). Но большинство из читателей, наверное, не интересовалось такими довольно затратными конструкциями.
Собственно, сложная, но неисчерпывающая система. Хотя, пожалуй, и оттолкнёт не очень настойчивого злоумышленника :)
Достаточно злоумышленнику написать в .bashrc alias на sudo и вы будете слепо вводить свой ht7Qxfc8 чуть ли не прямо в irc некоторого недружественного товарища, хотя о случаях автоматизированного использования подобных средств я не слышал, но автоматизация такого подхода имеет даже бо́льшие перспективы, чем попытки использования sudo без пароля, так как она подойдёт под пользователя самого популярного дистрибутива.
В общем, пора либо перейти на новый уровень паранойи (за рамками данной статьи), либо перестать бояться рабочего окружения и согласиться с тем, что получение привилегий в нём равносильно получению root привилегий в системе. И поменять конфиг.
Напомню, что sudo проверяет только лишь аутентичность исходного пользователя, т.е., вне зависимости от наличия NOPASSWD:, пользователи из спецификации имеют безусловное право на описываемое повышение привилегий.
было
%wheel ALL=(ALL) ALL
стало
%wheel ALL=(ALL) NOPASSWD: ALL
%wheel — группа пользователей, которым даровано настоящее право.
Вид записи может сильно различаться, самое главное — место для NOPASSWD: находится перед последним ALL на интересующей нас строке. (либо так, либо вы и так скорее всего уже знаете, где оно находится :)
Также можно попробовать для редактирования этого конфига использовать рекомендуемый visudo
, который, помимо прочего, подвергент написанное предварительной синтаксической проверке.
Автор: TheRipper
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/53078
Ссылки в тексте:
[1] 1: http://habrahabr.ru/post/209540/#environment
[2] 2: http://habrahabr.ru/post/209540/#privilege
[3] 3: http://habrahabr.ru/post/209540/#exploit
[4] вот этот скрипт на perl: http://www.linux.org.ru/forum/development/392747
[5] sudo make sandwich: http://xkcd.com/149/
[6] Источник: http://habrahabr.ru/post/209540/
Нажмите здесь для печати.