Sim, você pode usar cgroups e SELinux / AppArmor exclusivamente para monitorar e controlar o código arbitrário que você irá executar.
Com cgroups, você pode fazer o seguinte:
- Limitar o uso do núcleo da CPU a 1 CPU com o
cpuset
subsistema - Defina limites de uso de memória com o subsistema
memory
, acompanhando até mesmo os garfos. Veja o link para um exemplo. - Impedir o acesso da rede a qualquer coisa que não esteja em
lo
comnet_prio
subsistema.
E com o SELinux / AppArmor, você pode limitar o acesso de leitura / gravação do processo.
Nota: Eu não estou familiarizado com o AppArmor, mas é um sistema de Controle de Acesso Obrigatório (MAC), o que significa que proteger a escrita e a leitura é o seu trabalho.
O uso desses sistemas é uma questão de escrever as configurações adequadas. Claro, tudo isso é muito mais fácil falar do que fazer. Então, aqui estão alguns links de referência para você começar:
Boa sorte!