...

воскресенье, 19 января 2014 г.

Зачем вам вводить пароль в sudo?

Если





  • Речь идёт о личном рабочем окружении. 1

  • Вы недостаточно параноик, чтобы довести дело до конца.


    • Все программы работают от вашего пользователя. 2

    • /home монтируется без noexec. Хотя это почти не помогает и очень не удобно в большинстве случаев, но если у вас так — у вас, как у неплохого параноика, есть перспектива далеко зайти этим путём.



  • Вы регулярно администрируете систему из-под своего пользователя (с помощью того же sudo). 3




Рабочее окружение



Рабочее окружение — это тот потенциальный источник заразы, который мы хотим изолировать от остальной системы. Помимо защиты от целенаправленного злодейства, понижение привилегий в нём (то что называется «не работайте от root») спасает от жестоких ошибок и плохо написанных программ, которых может не простить root.

Собственно, не спрашивающий пароля sudo не мешает защите от опечаток (если, конечно, вы не имеете неприятного рефлекса сразу перепечатать эту несработавшую конструкцию с sudo), софт также обычно не приучен самостоятельно использовать sudo, так что единственное, от чего «уточнение» пароля помогает — злостные вирусы и злоумышленники, ставящие своей целью установить всю вашу систему на колени.



Ещё раз об изоляции



Изолировать пользовательский шелл (то место, где вы вводите sudo, а потом в него свой пароль) от самого пользователя — места, где обитает зараза, — задача нетривиальная и, более того, не самая простая в том виде, в котором она поставлена. Гораздо более простой путь — это запуск потенциально ненадёжных программ, такие как браузер, а для особо параноиков — торрент клиент и даже офисный пакет — любых программ, работающих с внешними данными — в отдельном окружении (под отдельным пользователем и/или даже в chroot). Но большинство из читателей, наверное, не интересовалось такими довольно затратными конструкциями.
Если идти трудным путём
Можно отделить конфигурацию и запуск шелла от пользователя: выставить запретительные права на .bashrc и на конфиг того приложения, из которого вы запускаете bash и далее линейно рекурсивно до оконного менеджера (невключительно).

Собственно, сложная, но неисчерпывающая система. Хотя, пожалуй, и оттолкнёт не очень настойчивого злоумышленника :)







А что, без изоляции нельзя?



Достаточно злоумышленнику написать в .bashrc alias на sudo и вы будете слепо вводить свой ht7Qxfc8 чуть ли не прямо в irc некоторого недружественного товарища, хотя о случаях автоматизированного использования подобных средств я не слышал, но автоматизация такого подхода имеет даже бо́льшие перспективы, чем попытки использования sudo без пароля, так как она подойдёт под пользователя самого популярного дистрибутива.

Пора перестать вводить пароль




В общем, пора либо перейти на новый уровень паранойи (за рамками данной статьи), либо перестать бояться рабочего окружения и согласится с тем, что получение привилегий в нём равносильно получению root привилегий в системе. И поменять конфиг.

Конфиг с пояснениями

где-то в глубине конфига



Напомню, что sudo проверяет только лишь аутентичность исходного пользователя, т.е., вне зависимости от наличия NOPASSWD:, пользователи из спецификации имеют безусловное право на описываемое повышение привилегий.

было

%wheel ALL=(ALL) ALL


стало

%wheel ALL=(ALL) NOPASSWD: ALL


%wheel — группа пользователей, которым даровано настоящее право.


Вид записи может сильно различаться, самое главное — место для NOPASSWD: находится перед последним ALL на интересующей нас строке. (либо так, либо вы и так скорее всего уже знаете, где оно находится :)


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






Важное исключение из правил





  • У вас за спиной стоит человек, который хочет проверить вот этот скрипт на perl.

  • Этот человек знает шутку про sudo make sandwich.

  • Не смотря на предыдущие два пункта, вы покидаете рабочее место не оставляя лок-скрина.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий