Por que usar lxc em vez de chroot?

10

Um servidor ubuntu hospeda 3 aplicativos em domínios separados.
Cada aplicativo tem seus próprios desenvolvedores.
Os desenvolvedores de aplicativos pertencem ao grupo "sftp" do linux.
chroot permite acesso sftp por senha para cada desenvolvedor de aplicativos.

/home/app1/prod
/home/app2/prod
/home/app3/prod

Em sshd_config

Match Group sftp  
  PasswordAuthentication yes
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no

Nossa preocupação é uma vulnerabilidade de programação em um aplicativo que causa problemas nos outros dois aplicativos.

Devemos usar o contêiner lxc em vez de chroot? Por quê? A mudança para os contêineres lxc será transparente para os desenvolvedores de aplicativos?

    
por csi 03.10.2013 / 18:24

1 resposta

14

O Linux Containers (LXC) é um método de virtualização no nível do sistema operacional para executar várias instalações de servidor isoladas (contêineres) em um único host de controle. O LXC não fornece uma máquina virtual, mas fornece um ambiente virtual que possui seu próprio processo e espaço de rede. É semelhante a um chroot, mas oferece muito mais isolamento.

Os contêineres do Linux têm vários recursos / vantagens:

Vantagens:

Melhor isolamento em comparação com um chroot (chroot jail). Baixo overhead. O LXC usa recursos mínimos em termos de RAM e espaço no disco rígido sem a sobrecarga de instalar um sistema operacional convidado em uma máquina virtual (VMWare / VirtualBox / KVM).

Aplicativos e serviços (servidores) são executados na velocidade nativa.

Há suporte para contêineres Linux no libvirt.

Os contêineres Linux funcionam bem com o btrfs.

Mas também há um lado negativo:

Os contêineres Linux executam processos do Linux em um kernel Linux. Isso significa que você pode executar o Linux (container Fedora em um host Ubuntu), mas não outros sistemas operacionais (Não BSD / OSX / Windows).

Não há interfaces gráficas (GUI) para configurar ou gerenciar os contêineres.

Há uma escassez de documentação sobre como instalar e configurar um contêiner. Configurar um contêiner requer um conhecimento e uma habilidade técnica modestos (e muita paciência).

    
por 03.10.2013 / 19:12