Как отключить создание сокетов для процесса Linux для песочницы?

Я рассматриваю несколько вариантов изолированного процесса Linux. Использование clone () с CLONE_NEWNET (и т. Д.) Является одним из вариантов. CLONE_NEWNET гарантирует, что изолированный процесс не может устанавливать или принимать реальные сетевые подключения. Но я бы хотел полностью отключить сокеты для этого процесса, даже bind () , подключенный к любому порту на 0.0.0.0 , и привязку к доменному сокету Unix (даже анонимному). Я' Я бы хотел сделать это, чтобы предотвратить использование процессом слишком большого количества ресурсов ядра путем привязки к тысячам портов. Как мне это сделать?

В общем, меня интересуют многие подходы к песочнице (то есть те, которые предоставляются ядром Linux, и те, которые применяются ptrace () ), но в этом вопросе я интересует только аспект создания сокета в подходах к песочнице (поэтому, если вы предлагаете подход с песочницей, пожалуйста, также объясните, как предотвратить создание сокета с его помощью), и меня не интересуют подходы, которые требуют исправления ядра или которые включают загрузку ядра модуль, который не является частью бинарного пакета ядра Ubuntu Lucid по умолчанию или который влияет на все процессы в системе.

9
задан pts 10 December 2010 в 15:36
поделиться