chroot
é inútil para segurança (por outras razões, como executar programas que precisam dele) se o usuário for root, porque a alteração do chroot atual requer privilégios de root. Então, um usuário root chroot
'ed simplesmente tem que fazer um chroot /
para escapar.
No Linux, o LXC aproveita o namespacing para criar efetivamente uma máquina virtual leve. Eu experimentei isso há alguns anos e acredito que era possível que o root saísse de um LXC acessando o sistema de arquivos /proc
, que fornece uma interface para criar e gerenciar contêineres existentes. Isso pode ser melhor agora.
Por segurança, a melhor coisa que eu sei fazer atualmente é criar uma VM usando algum tipo de software de VM, seja VMWare, QEMU ou outro. O QEMU, em particular, suporta a eliminação de direitos depois que a VM é iniciada, portanto, toda a VM não terá privilégios de root no sistema - isso não afeta nada que esteja acontecendo na VM, é claro.
Você terá que recriar o ambiente que deseja na VM, e como a VM é praticamente um sistema físico separado, você terá que atualizá-lo separadamente, fornecer espaço em disco suficiente para um SO completo, etc. não é possível que programas em execução na VM escapem, impedindo quaisquer vulnerabilidades no software da VM.