Encapsulando BIND 9 e Apache 2 para obter maior segurança

Utilizar encapsulamento (uma técnica de chroot) aumenta a segurança do servidor, pois, caso um invasor consiga explorar alguma vulnerabilidade do programa, o meliante não conseguirá ter controle total sobre o sistema.

[ Hits: 17.750 ]

Por: Buckminster em 13/01/2014


Introdução



Chroot - executa comandos, ou shell interativo, com diretório root especial. Ele muda o diretório root do processo corrente (pai) e seus processos filhos. Um programa que está rodando em modo chroot, em outro diretório, não pode acessar arquivos fora daquele diretório.

Utilizar o modo chroot aumenta a segurança do servidor, pois, caso um invasor consiga explorar alguma vulnerabilidade do programa, o meliante não conseguirá ter controle total sobre o sistema.

Lembrando que é altamente recomendável ter uma máquina somente para ser o servidor DNS e uma máquina somente para servidor WEB.

Somam-se a isso, que os servidores DNS e WEB são os mais atacados na Internet, então se faz necessário, além de um bom Firewall (IPtables), lançar mão de todo e qualquer recurso que traga maior segurança contra ataques.

Na prática, se um "amigo do alheio" invadir o servidor, não terá acesso como root, mesmo que os serviços tenham alguma falha ou vulnerabilidade. Caso ele consiga ter acesso à máquina, não poderá navegar na estrutura de diretórios acima do diretório no qual o serviço foi "enjaulado".

Aqui, não estão as configurações dos serviços em si, mas, somente as configurações para o encapsulamento. Caso você já tenha o BIND 9 e o Apache 2 devidamente instalados e configurados, poderá enjaular com os comandos aqui presentes. Mas o ideal é "encapsular" logo após a instalação.

As configurações foram testadas no Debian Wheezy, porém, podem ser adaptadas para outras distribuições, uma vez que somente alguns poucos comandos pertencem às distribuições Debian e derivadas (os comandos apt-get, aptitude e os comandos com start e stop).

Tecnicamente, os procedimentos mostrados aqui não podem ser considerados chroot, pois não fazem uso do comando em si, mas poderiam fazer. Depende de como se "encapsula".

Primeiro, veremos como fazer separadamente para o BIND 9 e depois para o Apache 2 e, ao final, está um link onde tem como configurar o modo chroot para todo o sistema no Debian.

* Recomenda-se ler todo o artigo antes de sair executando comandos.

    Próxima página

Páginas do artigo
   1. Introdução
   2. BIND 9
   3. Apache 2
   4. Conclusão
Outros artigos deste autor

Manual traduzido do Squid - Parte 2

Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha

Compilação do Kernel

Instalar e configurar o Nftables com exemplos básicos de configurações

DHCP com controle de IP e compartilhamento no Debian Squeeze

Leitura recomendada

VPN entre servidores CentOS 6 e Windows 7

Arquivo de configuração do mod_security

Navegador Blindado FeniX Linux

Impedindo o compartilhamento de conexão

Enviando e recebendo e-mails criptografados através do Thunderbird

  
Comentários
[1] Comentário enviado por xjc em 15/01/2014 - 20:46h

artigo incompleto . faltou instalar o tal jaula ou explicar . e explicar os comandos .

[2] Comentário enviado por Buckminster em 15/01/2014 - 21:55h


[1] Comentário enviado por xjc em 15/01/2014 - 20:46h:

artigo incompleto . faltou instalar o tal jaula ou explicar . e explicar os comandos .


Por gentileza, leia o artigo inteiro.

[3] Comentário enviado por cromado em 17/01/2014 - 21:46h

Instalar o tal "jaula" é de foder heinn ahueuuuhaehaue.
Mas de fato, eu achei a explicação confusa em relação ao encapsulamento, jaula, chroot, whatever.
Nada que um google não resolva, mas cara iniciante vai se perder sobre o funcionamento da coisa.

[4] Comentário enviado por Buckminster em 18/01/2014 - 05:51h


[3] Comentário enviado por cromado em 17/01/2014 - 21:46h:

Instalar o tal "jaula" é de foder heinn ahueuuuhaehaue.
Mas de fato, eu achei a explicação confusa em relação ao encapsulamento, jaula, chroot, whatever.
Nada que um google não resolva, mas cara iniciante vai se perder sobre o funcionamento da coisa.


Concordo. Mas subentende-se que para ""encapsular" qualquer programa através dessa técnica, o cara já tenha algum conhecimento de GNU/Linux. Ou seja, o cara já saiba instalar e configurar o programa desejado. E, para tanto, ele já deve possuir algum conhecimento, não tanto de comandos, mas de entendimento sobre o funcionamento do Linux.

Eu não quis me estender, pois daí o artigo se tornaria muito extenso. O ponto é justamente o funcionamento da coisa, e isso não tem como ensinar em um único artigo.
E, como você disse, mesmo um iniciante, com alguma boa vontade, nada que um Google não resolva.


[5] Comentário enviado por px em 19/01/2014 - 04:49h

O ideal seria encapsular todo o computador! rsrs

Tem um "programa" chamado SELinux que faz um ótimo acréscimo á segurança no linux, talvez um tema para um futuro artigo! - mas como foi "criado" pela NSA e devido aos últimos acontecimentos... + minha preguiça fatídica ao escrever! KKKK

Ótimo artigo novamente, nota 10!



PS: To esperando aquele artigo voltado no Assembly, sem pressa brow... mas se apresse! rsrs

[6] Comentário enviado por Buckminster em 19/01/2014 - 20:30h


[5] Comentário enviado por px em 19/01/2014 - 04:49h:

O ideal seria encapsular todo o computador! rsrs

Tem um "programa" chamado SELinux que faz um ótimo acréscimo á segurança no linux, talvez um tema para um futuro artigo! - mas como foi "criado" pela NSA e devido aos últimos acontecimentos... + minha preguiça fatídica ao escrever! KKKK

Ótimo artigo novamente, nota 10!



PS: To esperando aquele artigo voltado no Assembly, sem pressa brow... mas se apresse! rsrs


Estou elaborando ele. Não me esqueci não.

[7] Comentário enviado por JJSantos em 15/11/2014 - 22:53h

Tal jaula! Sujeito sumido kkkk


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts