Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Esse ficou legal
Por mautvleal
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Ambiente seguro com chroot
Linux user
Publicado por Rik em 08/08/2012

Login: rik_99, 173741 pontos | Blog: http://guiadoti.blogspot.com.br/
[ Hits: 3170 ]

Ambiente seguro com chroot

Pessoal, esta dica é para mostrar como é fácil trabalhar com chroot, um sistema enjaulado é muito útil, em determinados casos.

Instalando e configurando

Vamos entender o que é um ambiente chroot e ver como ele funciona na prática.

Bem, o chroot nada mais é do que um ambiente isolado (enjaulado) dentro da sua máquina real, é um sistema dentro de outro que compartilham processos. É um ambiente recomendável para sistemas de acesso público.

A norma ABNT NBR ISO/IEC 27002:2005 diz, no item 11.6.2, que sistemas sensíveis devem ter um ambiente computacional dedicado (isolado), isto impede que, se um possível atacante tiver acesso ao servidor, ele ficará preso dentro do chroot, ele não terá acesso ao servidor real.

Para configurar um sistema chroot em nosso servidor, vamos precisar instalar um pacote chamado debootstrap. Em distribuições baseadas no Debian, utilize:

# aptitude install debootstrap

Depois que o pacote 'debootstrap' foi instalado, é preciso criar o diretório onde nosso sistema irá ficar.

# mkdir /var/khal-chroot

Obs.: Aqui irei chamar meu sistema de 'khal', mas pode colocar o nome que preferir.

Agora, nós iremos instalar o sistema em si, aqui optei por instalar o Debian Squeeze, mas vocês podem instalar qualquer outra, Debian Lenny, por exemplo.

O comando debootstrap irá baixar todos os pacotes necessários do sistema operacional direto dos repositórios do Debian para o diretório /var/khal-chroot.

Isto levará alguns minutos, tempo o suficiente para beber uma água, ir ao banheiro, enfim....

# debootstrap squeeze /var/khal-chroot

Pessoal, depois de instalar o nosso sistema, precisamos montar o diretório proc do nosso sistema enjaulado, para fazer vínculo com os processos do nosso sistema real:

# mount --bind /proc/ /var/khal-chroot/proc

Agora execute o comando abaixo, para acessar o sistema instalado:

# chroot /var/khal-chroot

Aparentemente, nada irá acontecer, mas após este comando, já estamos dentro do chroot, sendo que o nome do host não mudou, e isso pode nos confundir. Mais adiante, iremos mudar o nome da variável do prompt para diferenciá-lo do sistema original.

# pico /root/.bashrc

Na quinta linha deste arquivo, iremos alterar seu conteúdo para:

PS1=' khal-chroot:\w\$ '


Feito isso, salve e saia do arquivo. Depois execute exit, para sair do chroot. Após, volte para o chroot com o comando: chroot /var/khal-chroot e prestem atenção no prompt, veja que ele irá mudar toda vez que você entrar no chroot.

Depois disso, atualize a base de dados do sistema com o comando:

# aptitude update

Depois altere a senha do root:

# passwd root

Agora, no fstab do chroot, crie os pontos de montagem dos dispositivos dos terminais virtuais, assim, depois que instalarmos o SSH, por exemplo, iremos conseguir acessar nosso chroot, caso contrário, não iremos conseguir.

# pico /etc/fstab

Adicione a seguinte linha no arquivo:

devpts    /dev/pts  devpts  defaults  0 0


Salve e saia do arquivo, depois dê o comando:

# mount -a

Para montar, e depois dê:

# mount

Para verificar se ponto foi montado. Deverá aparecer o seguinte conteúdo:
devpts on /dev/pts type devpts (rw)


Se você possui um servidor SSH no seu sistema original, é preciso dar um stop nele, pois como os processos são vinculados, não pode ter dois servidores do mesmo serviço rodando. Antes de instalarmos o SSH em nosso chroot, saia do mesmo e pare o SSH no sistema original:

# /etc/init.d/ssh stop

Depois entre no chroot novamente.

Vamos instalar o pacote SSH em nosso chroot, para que ele possa ser acessado remotamente:

# aptitude install ssh

Depois que o SSH estiver instalado, dê o comando abaixo e verifique se o SSH está rodando:

# ps aux | grep ssh

Se estiver tudo certo, é só acessar seu sistema enjaulado de qualquer lugar.

Bem pessoal, espero que este tutorial ajude a todos. :)

Dica previamente publicada em:


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Fazendo backup na nuvem com: 4shared + webdav + rsync
   Dica Linux recomendada É dando que se recebe
   Dica Linux recomendada Sites para baixar libs e pacotes para sua distribuição
   Dica Linux recomendada Instalando impressora Canon PIXMA iP1700
   Dica Linux recomendada Montando imagens criadas pelo dd de um dispositivo RAID

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.