Quando é apropriado / prudente usar o chroot?

9

Eu ouço sobre a necessidade de chroot BIND o tempo todo. Justo. Mas e os outros programas? Quais são as "regras" (pessoais ou amplamente aceitas / estabelecidas) para decidir quais programas devem ser presos?

-M

Mike B
fonte

Respostas:

5

Em geral, você pode querer usar o chroot por vários motivos:

  • precisa de outra versão de distribuição / arquitetura / distribuição sem querer usar o OpenVZ ou uma máquina virtual. Por exemplo, eu uso chroots para ter os ambientes de compilação i386 e amd64 em uma máquina amd64.
  • restringindo o acesso ao sistema aos usuários. Por exemplo, você pode usar chroot junto com scponly para restringir os comandos aos quais os usuários têm acesso. Este é um sistema de prisão muito limitado, pois eles ainda têm acesso à rede, por exemplo.
  • restringindo o acesso ao sistema a programas. Em geral, convém fazer isso principalmente para os daemons, como bind ou apache. Dessa forma, esses programas não terão acesso direto ao sistema; portanto, se um invasor puder usar uma violação de segurança do programa, ele não acessará diretamente o sistema, mas se encontrará dentro do chroot. Ajuda a melhorar a segurança, mas não garante que seu sistema esteja seguro.
ℝaphink
fonte
12

Quando a resposta não é "por motivos de segurança". Consulte Abusando chroot .

Quando foi sugerido que o chroot é freqüentemente usado como uma ferramenta de segurança, Adrian Bunk respondeu: "pessoas incompetentes implementando soluções de segurança são um problema real". Alan acrescentou: "O chroot não é e nunca foi uma ferramenta de segurança. As pessoas criaram coisas baseadas nas propriedades do chroot, mas estendidas (cadeias BSD, Linux vserver), mas são bem diferentes".

vagão
fonte
Isso é novidade para mim ... muito interessante.
31411 Joseph Kern
6

Se você possui um programa que requer um conjunto / versões de bibliotecas diferente do que está instalado no seu sistema, isso seria um bom candidato para uma instalação "chrootada".

O chroot também é útil para instalar versões diferentes da distribuição Linux dentro de seu próprio ambiente, sem usar uma VM ou emulador ( Configurando um chroot Debian no Red Hat ).

Laurent Parenteau
fonte
-2

Tudo depende de quão paranóico você é. Para a maioria das intenções e propósitos, cada serviço deve ser chrooted por razões de segurança. No entanto, pode não ser possível fazer isso para tudo, pois pode ser um pouco tedioso tentar replicar tudo. Outra possibilidade a considerar para fins de isolamento é o uso de máquinas virtuais leves como o OpenVZ / VServer, que são essencialmente como chroot, só que mais.

sybreon
fonte