Я изучал, как создавать процессы в песочнице, и наткнулся на контрольные группы, которые выглядели многообещающими. Мне не очень интересно использовать для этого виртуализацию или strace, так как я хочу, чтобы программы выполнялись как можно быстрее. Я также знаю о SELinux / AppArmor, но я ищу что-то, что не требует исправления ядра, если это возможно.
Я знаю, что cgroups можно использовать для ограничения использования cpu / mem и доступа к файловой системе, но можно ли их использовать для предотвращения открытия сокетов процессом или привязки к портам? Или есть что-то, что я мог бы использовать вместе с cgroups для ограничения доступа к сети? Было бы здорово иметь возможность ограничить каждый из них по отдельности.
Еще раз спасибо!
Вы можете настроить iptables
правила, которые соответствуют UID / GID или диапазону UID / GID. Использовать --uid-owner
и --gid-owner
параметры, чтобы выбрать UID / GID для сопоставления, а затем запустить процесс под одной из этих учетных записей пользователей.
Такие правила должны быть в OUTPUT
или POSTROUTING
цепи.