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/

Ответить