Вам нужен debootstrapchroot, проверьте инструкции по настройке chroot: https://wiki.kubuntu.org/DebootstrapChroot
chroot для небезопасного выполнения программ
Я никогда раньше не настраивал среду, в которой находились в тюрьме, и боюсь, что мне нужна помощь, чтобы сделать это хорошо.
Чтобы кратко объяснить, что все это значит: у меня есть веб-сервер, на который пользователи отправляют скрипты Python для обработки различных файлов, хранящихся на сервере (система предназначена для исследовательских целей). Каждый день задание cron запускает выполнение загруженных скриптов с помощью команды такого типа:
/usr/bin/python script_file.py
Все это действительно небезопасно, и я хотел бы создать тюрьму, в которую я бы скопировал необходимые файлы (загруженные скрипты, файлы для обработки, двоичные файлы Python и зависимости).
Я уже посмотрел на различные утилиты для создания джейлов, но ни одна из них не выглядела современной или не имела надежной документации (т.е. ссылки, предложенные в разделе Как запустить скрипт на ненадежном питоне )
Может ли кто-нибудь направить меня к жизнеспособному решению моей проблемы? как рабочий пример скрипта, который создает джейл, помещает в него несколько файлов и выполняет скрипт на python?
Большое спасибо.
2 ответа на вопрос
Вам понадобится довольно много библиотек в вашем chroot, и это не помешает кому-то установить сокет-сервер. Поскольку вам нужно разрешить запуск сценариев Python, это означает полный доступ к стандартным модулям Python, таким как сокеты и т. Д. Я не понимаю, что вы сможете защитить с помощью этого chroot?
Если пользователь может создать сервер сокетов, он сможет подключиться к этому chroot и получить доступ / изменить что угодно.
Даже такой простой сценарий, как os.system('rm -rf /')
не может быть предотвращен и сделает вашу тюрьму непригодной для использования.
Возможное решение - использовать такой модуль, как TOMOYO, который можно настроить для предотвращения доступа на основе примитивов из ядра (открытие, запись и т. Д.).
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
8
Ожидание ноутбука в Linux / Ubuntu
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
3
Могу ли я запустить Microsoft Office 2007 под Ubuntu?