chroot para execução de programas não seguros

3

Eu nunca configurei um ambiente preso antes e tenho medo de precisar de ajuda para fazê-lo bem.

Para explicar brevemente o que é isso: Eu tenho um servidor para o qual os usuários enviam scripts python para processar vários arquivos que estão armazenados no servidor (o sistema é para propósitos de pesquisa). Todos os dias um cron job inicia a execução dos scripts enviados por meio de um comando desse tipo:

/usr/bin/python script_file.py

Tudo isso é realmente inseguro e eu gostaria de criar uma cadeia na qual eu iria copiar os arquivos necessários (scripts enviados, arquivos para processar, binário python e dependências).

Já procurei vários utilitários para criar cadeias, mas nenhum deles parecia atualizado ou faltava documentação sólida (ou seja, os links propostos em Como posso executar um script python não confiável )

Alguém poderia me guiar para uma solução viável para o meu problema? como um exemplo funcional de um script que cria uma cadeia, coloca alguns arquivos nele e executa um script python?

Muito obrigado.

    
por attwad 13.05.2010 / 10:03

2 respostas

0

Você precisa do debootstrapchroot, verifique as instruções sobre como configurar o seu chroot: link

    
por 15.05.2010 / 09:45
0

Você precisaria de muitas bibliotecas no seu chroot, e isso não impediria que alguém instalasse um servidor de soquete. Como você precisa permitir que scripts python sejam executados, isso significa acesso total a módulos python padrão, como socket, etc. Eu realmente não vejo o que você será capaz de proteger com esse chroot?

Se um usuário puder criar um servidor de soquete, ele poderá se conectar nesse chroot e acessar / modificar qualquer coisa.

Nem mesmo um script simples como os.system('rm -rf /') pode ser impedido e tornaria seu jail inutilizável.

Uma possível solução seria usar um módulo como TOMOYO , que pode ser configurado para impedir o acesso com base em primitivos do kernel (abrir, escrever, etc.).

    
por 16.08.2010 / 03:30