Pular para o conteúdo

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.
Buckminster Buckminster
Hits: 19.592 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar

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.

   1. Introdução
   2. BIND 9
   3. Apache 2
   4. Conclusão

Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET

Instalação do PostgreSQL, Apache2 e PHP8 no Debian Buster 10 e no Stretch 9

Hardening NTP/Chrony no Linux

Como um monte de letras de um código fonte transforma-se em voltagens?

Instalação do PostgreSQL com Apache 2, PHP 5, OpenSSL no Debian Wheezy 7.7 64 bits com systemd e chroot

PaX: Solução eficiente para segurança em Linux

Instalação do Comodo Antivirus para Linux (CAVL) resolvendo o problema de dependências

Gerenciar e configurar inetd e serviços relacionados

Descobrir a senha de configuração pelo browser de um Access Point (AP)

Montando um completo servidor de backup usando Bacula

#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 [*****] 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 [*****] 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

Entre na sua conta para comentar.