O chroot é a escolha certa para o meu caso de uso?

3

História de fundo:

Estou trabalhando na configuração de um servidor MineCraft e desejo permitir que os administradores tenham acesso ssh ao console do servidor MineCraft e aos arquivos apropriados do servidor mc, mas não ao sistema inteiro. O console fornecido pelo servidor de minecraft está disponível apenas para o usuário que iniciou o processo. Além disso, os administradores precisarão de acesso terminal a algumas ferramentas cli básicas, como wget, cp, mv, rm e um editor de texto.

Plano:

  • Eu já configurei o aspecto ssh das coisas, exigindo pré-compartilhada chaves e outros enfeites.
  • Configurar um ambiente preso no qual toda a atividade do usuário será contida.
  • Configurar contas de usuário.
    - A primeira conta de usuário será o usuário de minecraft. O usuário de minecraft iniciará o servidor MC em uma sessão de tela multiusuário e permitirá que o outros administradores para anexar a ele.
    - Os usuários subseqüentes devem ter seu próprio diretório / home para uso normal.
  • Configure o acl para os arquivos apropriados para permitir que cada usuário edite os arquivos do servidor mc.

Ninguém fará atualizações do sistema, nem instalará nenhum programa, por isso serei o único usuário com sudo.

Os problemas:

Eu não quero que os usuários do ssh tenham acesso a todo o sistema. Os usuários ainda precisarão usar wget ou curl para atualizar os arquivos do servidor mc. Eu não tenho experiência em configurar um ambiente chroot e encontrei várias ferramentas para ajudar neste processo. O Jailkit parece ser o mais robusto, mas não está nos repositórios padrão.

As perguntas:

  1. O chroot é a ferramenta certa para esse caso de uso ou existe algo mais apropriado para o trabalho?
  2. Deve haver um ambiente chroot para cada usuário ou um chroot ambiente para todos os usuários?
  3. O chroot deve ser configurado manualmente ou devo usar uma das ferramentas disponível?
  4. Como as atualizações do sistema afetarão um ambiente chroot?
  5. Qual ferramenta chroot é a mais nova amigável? Qual ferramenta chroot é a mais robusta?
  6. Uma VM seria uma solução melhor no geral?
por Anthony 21.10.2012 / 00:39

2 respostas

1

Não vou responder ponto por ponto, pois não sei todas as respostas, mas vou dar-lhe estas dicas:

  • Um chroot não é muito difícil de se livrar. Uma VM é um pouco mais difícil.
  • Uma VM é muito mais fácil de configurar e gerenciar, pois é um sistema operacional completo.
  • Um chroot pode ter uma pegada menor, já que não é necessariamente um sistema operacional completo.
  • Em ambos os casos, o ambiente convidado não será atualizado quando você executar atualizações no host. Você terá que digitar o chroot ou a VM e atualizá-lo manualmente.
  • Uma VM tem um recurso que pode ser bom ou ruim para você: você normalmente precisa provisionar uma quantidade fixa de memória para ela. O Minecraft pode ter muita fome de memória, então você pode ficar sem uma VM. Por outro lado, uma VM seria uma maneira fácil de colocar um limite rígido nos recursos que ela pode usar.
  • Nem uma VM nem um chroot colocarão limites intrínsecos ao que os usuários podem fazer pela rede. Apenas um firewall pode fazer isso.
por Alistair Buxton 21.10.2012 / 02:52
1

Usar uma cadeia chroot é uma falsa sensação de segurança em sua maior parte. Mantém os usuários honestos honestos. Se você não confia que os usuários façam login na máquina, você deve fornecer a eles uma máquina diferente, uma VM.

Para segurança de rede, conecte a máquina Minecraft a uma zona diferente em seu firewall com regras muito restritivas. Se o Minecraft estiver sendo executado na máquina do firewall, a única solução segura é usar VMs em execução nessa máquina.

    
por Bailey S 24.10.2012 / 01:32