Hello! On Saturday 29 August 2009 15:06:56 Иван Лох wrote: > Просто подумай о том, что никакой chroot не отменяет вызовы ядра, которыми > можно > сделать все. В отличии от виртуалки. Поэтому chroot в котором работают под > root > и не имеет смысла. И chroot в котором достаточно полная система, чтобы > обеспечить > эскалацию привилегий тоже смысла не имеет. Для целей безопасности, разумеется.
1) selinux и подобные решения могут запретить "сделать все". Это конкретно к вопросу о запуске init 0 в чруте - даже если пользователю удалось повысить свои привелегии, что может произойти и на основной системе. Однако в чруте, вероятно, можно и какие-то другие техники применить, вот и вопрос - какие? 2) Запуск от рута одного init-процесса в чруте еще не дает возможности пользователям и приложениям получить права рута. И "работать от рута" абсолютно не то же самое, что иметь запущенные в системе процессы от рута (которые, кстати, есть во всех линуксах, но это не отменяет возможность и необходимость защиты системы). 3) "Обеспечить эскалацию привелегий" - это не проблема чрута как технологии, хотя бы потому, что многие гипервизоры это тоже позволяют. Так что виртуалка на практике не надежнее чрута, а скорее, наоборот, т.к. добавляется много лишнего кода, работающего с высшими привелегиями. В чруте, например, можно не монтировать /proc, что, насколько я понимаю, сделает невозможным вызов init 0. На виртуалке же вы и такой возможности не имеете. А вот что нужно "отрезать" в чруте, чтобы блокировать означенную угрозу, как раз и представляет интерес. Best regards, Alexey Pechnikov. http://pechnikov.tel/

