chroot для виконання незахищених програм


3

Я ніколи раніше не влаштовував оточення з ув’язненням з хротованими тюрмами і боюся, що мені потрібна допомога, щоб зробити це добре.

Щоб коротко пояснити, що це таке: у мене є веб-сервер, на який користувачі надсилають сценарії python для обробки різних файлів, які зберігаються на сервері (система призначена для досліджень). Щодня завдання cron починає виконання завантажених скриптів за допомогою такої команди:

/usr/bin/python script_file.py

Все це дійсно небезпечно, і я хотів би створити в'язницю, в яку я б скопіював потрібні файли (завантажені сценарії, файли для обробки, бінарні пітони та залежності).

Я вже розглядав різні утиліти для створення в'язниць, але жодна з них не здавалася оновленою або бракує ґрунтовної документації (наприклад, посилання, запропоновані в розділі Як можна запустити ненадійний сценарій пітона )

Чи міг би хтось спрямувати мене на життєздатне рішення моєї проблеми? як робочий приклад сценарію, який створює в'язницю, вкладає в нього деякі файли і виконує сценарій python?

Велике спасибі.

Відповіді:



0

Вам знадобиться досить багато бібліотек у вашому chroot, і це не завадить комусь встановити сервер сокетів. Оскільки вам потрібно дозволити запускати сценарії python, це означає повний доступ до стандартних модулів python, таких як socket і т.д.

Якщо користувач може створити сервер сокетів, він зможе підключитися до цього chroot та отримати доступ / змінити будь-що.

Навіть такий простий сценарій, як, наприклад, os.system('rm -rf /')не можна запобігти, і зробить вашу в'язницю непридатною.

Можливим рішенням буде використання модуля типу TOMOYO , який можна налаштувати для запобігання доступу на основі примітивів з ядра (відкрити, записати тощо).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.