Назад | Перейти на главную страницу

Безопасность двоичных файлов chroot и linux

Я хотел бы проверить безопасность программ chroot и программ по умолчанию в дистрибутиве Linux (скажем, Ubuntu).

Пример: я установил каталог тюрьмы «А». Каждый двоичный файл linux из дистрибутива помещается в 'A' с одинаковыми ACL.

например / Usr / bin содержит все исполняемые файлы / usr / bin, в A / bin есть исполняемые файлы из / bin и т. Д.

Предположим, что другие файлы не записаны.

Затем ненадежный пользователь помещается в chroot jail «A» и действует как некоторый случайный uid.

Вопрос: так же ли безопасна эта среда, как и невиновная? Неужели ему невозможно ни получить рут-доступ, ни вырваться из тюрьмы? (запрет на использование root-прав Linux)

Например, меня сначала беспокоило, что теперь пользователь может писать свой собственный файл sudoers. Но, к счастью, sudo проверяет, что sudoers принадлежит пользователю root. Все ли стандартные программы setuid'd так осторожны?

Я не могу конкретно ответить на ваш вопрос, поэтому, если хотите, измените меня. Однако многие люди до меня и многие после меня подтвердят вам очевидное: chroot jail не является механизмом безопасности (вы говорили о Linux; BSD-тюрьмы достаточно разные, я не говорю о них). Цитировать очень известный хакер ядра, Алан Кокс, они не являются механизмом безопасности. Если честно, я вижу / слышу / читаю только об успешном использовании chroot для упаковки сборки и тестовой среды. Вот где он сияет. Это не самая лучшая платформа безопасности, особенно если только изолированно.

В наши дни люди говорят о контейнерах Linux с контрольными группами и других более мощных решениях для виртуализации, таких как OpenVZ или Linux VServer. Я не говорю, что это окончательный ответ, но влияние снижения производительности заключается в том, что между хостом и гостевыми виртуальными машинами существует хорошая изоляция. Надеюсь, это было полезно.

Рекомендую взглянуть на общие ограничения процесса chroot и какие проекты нравятся OpenVZ do, чтобы ограничить использование ресурсов в chroot jail или среде виртуализации, чтобы ответить на ваш вопрос "невозможно ли вырваться".

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