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

    
por Mike B 24.12.2009 / 00:24

4 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 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 juntamente com scponly para restringir os comandos aos quais os usuários têm acesso. Este é um sistema de prisões muito limitado, pois eles ainda têm acesso à rede, por exemplo.
  • restringindo o acesso ao sistema para programas. Em geral, você pode querer fazer isso para daemons principalmente, 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. Isso ajuda a aumentar a segurança, mas não é uma garantia de que seu sistema é seguro.
por 24.12.2009 / 10:55
12

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

When it was suggested that chroot is frequently used as a security tool, Adrian Bunk retorted, "incompetent people implementing security solutions are a real problem." Alan added, "chroot is not and never has been a security tool. People have built things based upon the properties of chroot but extended (BSD jails, Linux vserver) but they are quite different."

    
por 24.12.2009 / 01:35
6

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

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

    
por 24.12.2009 / 03:18
-2

Tudo depende de como você é paranóico. Para a maioria das intenções e propósitos, cada serviço deve ser chrooted por motivos 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 ser considerada para fins de isolamento é o uso de máquinas virtuais leves como o OpenVZ / VServer, que são essencialmente como o chroot, só que mais.

    
por 24.12.2009 / 01:21