LINUX.ORG.RU

/etc/sudoers и безопасность


0

1

Добавил в /etc/sudoers строчку, освобождающую пользователей из группы 'sudo' (по факту - себя) от вбития пароля (я лентяй):

%sudo   ALL=(ALL:ALL)NOPASSWD: ALL

Вопрос: Насколько сильно я ослабил (если ослабил) свою безопасность?

Левел: битый чайник.

Спасибо за внимание.

★★★★

Любая программа запущенная от пользователя, может сделать все что угодно, вплоть до удаления всего, если обратится к sudo.

anonymous_sama ★★★★★
()

Если у тебя нет ssh-аккаунтов левых людей и иксы запущены ~постоянно, то нинасколько.

x3al ★★★★★
()

от вбития пароля

пароль нужен для того, что-бы твой друг не смог набрать sudo rm -rf /* пока ты ушёл поссать. Насколько это важно для тебя — решать тебе.

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

нет ssh-аккаунтов левых людей

...или они не в %sudo.

...и нет каких-то других входов в shell.

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

«Если у тебя нет ssh-аккаунтов левых людей и иксы запущены ~постоянно»

так оно и есть

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

не, не сможет, друзей не имею.

если никого нет рядом, и нет удалённого входа(в %sudo), то без разницы. Ну разве что некоторая защита от дурака теряется.

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

И как я этот однострочник смогу поймать, скажем, через браузер?

через дыру в браузере можешь. Если браузер умеет код выполнять например через переполнение буфера.

Для этого тебе нужно иметь врага, у которого есть немного денег, что-бы нанять грамотного криптоаналитега. Я думаю, меньше, чем за $100 никто за такое не возьмётся. Ну и вряд-ли с твоего компьютера можно $100 прибыли получить, т.ч. спи спокойно, никто не полезет в твой комп.

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

пароль нужен для того, что-бы твой друг…

Или любая твоя программа в которую вдруг вселятся злые духи.

ТС, не ленись.

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

Например скопипастив из хаутушечки команду (вполне безобидную) за которой будет невидимый <span> с содержимым вроде ;sudo rm -rf /
http://www.opennet.ru/opennews/art.shtml?num=36619

Такое можно сделать забесплатно и просто по приколу.

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

Или любая твоя программа в которую вдруг вселятся злые духи.

программа далеко не любая, а только дырявая.

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

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

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

В недырявые программы злые духи не вселяются.
Впрочем недырявых программ сильно сложнее хеловорда не существует.

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

Например скопипастив из хаутушечки команду (вполне безобидную) за которой будет невидимый <span> с содержимым вроде ;sudo rm -rf /

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

И да, в хаутушках очень часто команды и так для root'а, т.ч. sudo не нужно.

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

Криптоанализ-то тут причём?

при том, что надо ещё догадаться какая программа, и какая в ней дыра. Потому что просто так ТС запускать ничего не станет. Т.е. он не будет скачивать непонятный скрипт, и потом не глядя его запускать.

Ну и вообще, эти ваши права рута не слишком-то и важны. CP из коллекции ТСа скрипт может без всяких прав рута затереть. А если ТС задумал запустить что-то опасное (непонятный скрипт, или там windows-программу), то я думаю у него ума хватит запустить её в песочнице, от другого юзера(не в %sudo). А если не хватит — он ССЗБ.

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

В недырявые программы злые духи не вселяются.

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

Впрочем недырявых программ сильно сложнее хеловорда не существует.

не существует чисто теоретически. На практике дыры найти не очень просто, ибо опубликованные ваще-то закрывают(в OpenSource во всяком случае). Т.ч. нужны время/деньги и много везения.

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

Если в конце скопипасченого текста буедт символ перевода строки то незадачливому копипастеру не придётся утруждать себя нажатием энтера, да и читать что там вставилось будет уже поздно.

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

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

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

Хотя конечно выполнив код от обычного юзера можно положить ему в хомяк обёртку для sudo и прописать директорую с ней в path (~/.bashrc), соответственно получить пароль и делать уже что угодно.
И думаю в данном случае глупо говорить по noexec и ССЗБ.

А ещё есть терморектальный криптоанализ.
Но всё-же зачем до такой степени упрощать жизнь предполагаемому противнику?
Опять-же необходимость ввода пароля способствует чуть сильнее задумываться над тем что делаешь.

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

Если в конце скопипасченого текста буедт символ перевода строки

если руки из жопы, то надо к маме идти. Что-бы обратно родила.

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

ещё раз: даже если ты всякое дерьмо в своём рабочем шелле запускаешь, это УЖЕ плохо. И обычно, в этом случае права рута мало чего дают. Права рута дают профит если ты всякое говно в песочнице запускаешь, ибо вредоносный код может выйти из песочницы куда угодно. А так ему и выходить некуда — ВСЕ данные доступны. Ну кроме системы, а толку-то с неё?

Тут случай такой: ты привёл врага к себе домой в квартиру, и размышляешь — доверить ему ключи от чердака и подвала?

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

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

Это само собой, но ведь это не интересно (в смысле достаточно бесполезно). Имеется в виду удалённо. Точнее откуда-то извне. Например специально оформленный текстовый файл при открытии которого vim сходит с ума (КРАЙНЕ маловероятно), или специально оформленный html/js документ приобработке которого с ума сходит браузер (вполне вероятно), или, прости господи, flash/java плагин (и этим уже всё сказано).

не существует чисто теоретически. На практике дыры найти не очень просто, ибо опубликованные ваще-то закрывают(в OpenSource во всяком случае). Т.ч. нужны время/деньги и много везения.

Публикуются не сразу, закрываются не сразу, обновления ставятся не сразу…
Кстати искать багу самому удел узких специалистов или просто любителей подобного времяпрепровождения. Сейчас свежие эксплоиты (в том числе 0-day) тупо покупаются у тех самых узких специалистов. Спрочем это актуально для массовой малвари (или матёрой паранойи: «ФСБ/АНБ/рептилоиды охотятся за мной!!!1111»)

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

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

криптоанализ — намного более широкое понятие. На самом деле, чистая математика никем не используется, используются конкретные дыры в конкретном ПО.

Хотя конечно выполнив код от обычного юзера можно положить ему в хомяк обёртку для sudo и прописать директорую с ней в path (~/.bashrc), соответственно получить пароль и делать уже что угодно. И думаю в данном случае глупо говорить по noexec и ССЗБ.

а что noexec? Оно на скрипты никак НЕ действует.

А ещё есть терморектальный криптоанализ.

ну это наверное единственная разновидность, детали которой тебе известны.

Но всё-же зачем до такой степени упрощать жизнь предполагаемому противнику?

я-бы не сказал, что это сильное упрощение. Повторяю ещё раз: если у нас есть такой шелл, нам больше ничего и не нужно. У кого вообще песочницы здесь есть, кроме меня? А у меня вообще нет такой группы %sudo.

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

Это само собой, но ведь это не интересно (в смысле достаточно бесполезно). Имеется в виду удалённо. Точнее откуда-то извне. Например специально оформленный текстовый файл при открытии которого vim сходит с ума (КРАЙНЕ маловероятно)

не, ну почему маловероятно?

Публикуются не сразу, закрываются не сразу, обновления ставятся не сразу…

ну это смотря у кого «не сразу»...

Сейчас свежие эксплоиты (в том числе 0-day) тупо покупаются у тех самых узких специалистов

вопрос в цене. Дыра для популярного браузера, которая даёт шелл, ценна и без sudo. А с sudo это:

1. браузер работает в песочнице(как у меня)

2. песочница в группе беспарольного sudo.

Сочетание п1 и п2 — это идиотизм. Кому и зачем понадобится делать ТАКОЕ?

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

криптоанализ — намного более широкое понятие. На самом деле, чистая математика никем не используется, используются конкретные дыры в конкретном ПО.

Тут логическая ошибка.
«Криптоаналитики в процессе своей деятельности пишут программы, следовательно те кто в процессе своей деятельности пишут программы являются криптоаналитиками.» Так что-ли?
Мало-ли кто и что использует. Они ещё и мышку используют, и браузер.
Процесс поиска уязвимостей в ПО это работа в общем-то тестировщика. ХЗ есть-ли более узкий общеупотребимый термин для специалиста по поиску уязвимостей в ПО (разве что «хакер», но мы-то понимает что это не про то).

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

не, ну почему маловероятно?

vim, как и любой б-г угдный текстовый редактор, не склонен как-то хитро обрабатывать поступающие данные (самое сложно пожалуй это подсветка синтаксиса).
Чем проще алгоритм тем сложнее допустить ошибки в его реализации. Тот-же современный браузер обрабатывает входные данные на порядки сложнее чем vim, начать с того что часть из них он вообще выполняет как код. В общем нехоженое поле граблей.

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

Короче что-то мы с тобой заболтались. Спокойной ночи.

ТС, в общем делай что хочешь, хоть IE6 под вайном под рутом запускай, про то что в случае чего ты будешь ССЗБ я тебя предупредил.

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

Процесс поиска уязвимостей в ПО это работа в общем-то тестировщика.

ИМХО тестировщик == криптоаналитик. Это превентивная мера по защите — лучше, если дыру найдёт тестер. Но. Обычно тестеры ещё хуже программистов, потому ждать от них чудес не нужно...

ХЗ есть-ли более узкий общеупотребимый термин для специалиста по поиску уязвимостей в ПО (разве что «хакер», но мы-то понимает что это не про то).

короче — вопрос в терминах только-лишь.

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

vim, как и любой б-г угдный текстовый редактор, не склонен как-то хитро обрабатывать поступающие данные (самое сложно пожалуй это подсветка синтаксиса).

ага. Если-бы. Вот как «б-г угдный» оно чего только не умеет, причём само по себе. Там кроме тупо подсветки ещё много чего интересного есть... Просто ты это всё не юзаешь.

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

1. браузер работает в песочнице(как у меня)

В других иксах? Иначе он может, например, спокойно послать ввод «sudo rm -rf /*» в произвольное окно терминала (или слушать ввод при фокусе на терминал и ловить пароль).

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

разве внутри невидимого <span> не может быть переноса строки?

«перенос строки» это ваще-то <br> внутри html. Я что-то сомневаюсь, что терминал радостно будет переносить строку на <br>. Ну а на \n он и не должен, т.к. это вообще говоря пробел.

Короче — выкинь на помойку свой кривой терминал.

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

выкинь на помойку свой кривой терминал

у меня нормальный терминал

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

Эмм. Браузер и терминал договариваются по X11, что терминал не умеет в HTML и браузер переводит ему в plaintext в utf8 (обычно). Многострочный копипаст будет с переводами строк, которые терминал вполне прожуёт.

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

Иначе он может, например, спокойно послать ввод «sudo rm -rf /*» в произвольное окно терминала (или слушать ввод при фокусе на терминал и ловить пароль).

теоретически может, но на практике это маловероятно. Я думаю для КГБ будет проще перепрошить мне BIOS.

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

Запусти xspy от юзера твоей песочницы и подумай, сколько минут уйдёт на допиливание xspy до такого функционала. Оно в полтора экрана строк на C, если что. Тут любой кулхацкер справится, не то что КГБ.

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

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

Многострочный копипаст будет с переводами строк, которые терминал вполне прожуёт.

а как он будет многострочный, если он с виду однострочный? Нет, я понимаю с помощью <span> писать жёлтым по жёлтому, но как сделать из двух строк одну? Можно код?

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

Запусти xspy от юзера твоей песочницы

я в курсе. Говорю-же: маловероятно, хоть и возможно.

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

Многострочный копипаст будет с переводами строк, которые терминал вполне прожуёт.

Мой прожевал. Вон, МистерК(С)лон же ссылку дал на Опеннет - /etc/sudoers и безопасность (комментарий) попробуйте сами, все «прожевывает».

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

хм... Вот дерьмо — работает. Я, правда, никогда команды не копипастю, потому не в курсе (:

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

ах, через браузер! с этого и начинать надо было.

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

MyTrooName ★★★★★
()

если используешь вайн — запускай его от отдельного пользователя: вдруг посчастливится натолкнуться на вирус sudo rm -rf /

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

teod0r ★★★★★
()

Создай группу типа allusersofthisgroupgainroot
добавь туда своего юзера и сделай строчку в /etc/sudoers:
%allusersofthisgroupgainroot ALL=(ALL) NOPASSWD: ALL

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