.)
сматриваю несколько вариантов песочницы процесса Linux. С помощьюclone()
сCLONE_NEWNET
(и т. д.) является одним из вариантов.CLONE_NEWNET
гарантирует, что процесс песочницы не может устанавливать или принимать реальные сетевые подключения. Но я бы хотел полностью отключить сокеты для этого процесса, дажеbind()
в любой порт на0.0.0.0
и привязка к сокету Doman Unix (даже анонимному). Я хотел бы сделать это, чтобы процесс не использовал слишком много ресурсов ядра, связываясь с тысячами портов. Как я могу это сделать?
В общем, меня интересуют многие подходы песочницы (то есть те, которые предоставляются ядром Linux, и те, которые применяютсяptrace()
), но в этом вопросе меня интересует только аспект создания сокетов в подходах с песочницей (поэтому, если вы предлагаете подход с песочницей, пожалуйста, объясните, как предотвратить создание сокетов с ним), и меня не интересуют подходы, которые требуется исправление ядра или загрузка модуля ядра, который не является частью бинарного пакета ядра Ubuntu Lucid по умолчанию или который может повлиять на все процессы в системе.