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.690 ]

Por: Buckminster em 13/01/2014


Apache 2



Com o comando chown, alteramos o proprietário ou grupo do diretório, ou arquivo. No BIND 9, o usuário é o bind e no Apache 2 é o "www-data". Caso queira, pode mudar o usuário. No Apache 2, se for mudar o usuário, deve-se ter o cuidado de alterar o arquivo /etc/apache2/envvars e, onde estiver www-data, trocar pelo usuário desejado. Mas não recomendo.

Os demais comandos são corriqueiros e não tem por que explicá-los.

Atualizando o Apache 2:

# aptitude safe-upgrade
# apt-get update


Instalando pacotes necessários:

# aptitude install binutils debootstrap # Opcional

Instalando o Apache 2:

# aptitude install apache2

Para verificar se a instalação correu bem, abra o navegador e digite localhost (ou: 127.0.0.1). Deverá aparecer "It works!", ou algo semelhante.

Pare o Apache 2:

# /etc/init.d/apache2 stop
Ou:
# service apache2 stop

Edite o arquivo /etc/default/apache2, adicionando a linha abaixo ao final do arquivo:

OPTIONS="-u apache2 -t /var/lib/apache2 -t /var/lib/jaula"

A sequência de comandos para o Apache 2 é a mesma do BIND 9, mudando apenas alguns arquivos, seus respectivos caminhos e acrescentando-se outros.

# mkdir -p /var/lib/jaula/etc
# mkdir /var/lib/jaula/dev
# mkdir -p /var/lib/jaula/usr/lib
# mkdir -p /var/lib/jaula/usr/sbin
# mkdir -p /var/lib/jaula/var/cache/apache2
# mkdir -p /var/lib/jaula/var/run/apache2/run
# mv /etc/apache2 /var/lib/jaula/etc
# ln -s /var/lib/jaula/etc/apache2 /etc/apache2
# mv /usr/lib/apache2 /var/lib/jaula/usr/lib
# ln -s /var/lib/jaula/usr/lib/apache2 /usr/lib/apache2
# mv /var/www /var/lib/jaula/var
# ln -s /var/lib/jaula/var/www /var/www
# mv /usr/sbin/apache2 /var/lib/jaula/usr/sbin
# ln -s /var/lib/jaula/usr/sbin/apache2 /usr/sbin/apache2
# mv /etc/init.d/apache2 /var/lib/jaula
# ln -s /var/lib/jaula/apache2 /etc/init.d/apache2
# mknod -m 666 /var/lib/jaula/dev/null c 1 3
# mknod -m 666 /var/lib/jaula/dev/zero c 1 5
# mknod -m 666 /var/lib/jaula/dev/random c 1 8
# chown -R www-data:www-data /var/lib/jaula/var/*
# chown -R www-data:www-data /var/lib/jaula/etc/apache2
# chown -R www-data:www-data /var/lib/jaula/usr/lib/apache2
# chown -R www-data:www-data /var/lib/jaula/usr/sbin/apache2


Reinicie o Apache 2:

# /etc/init.d/apache2 start
Ou:
# service apache2 start

E teste, acessando o navegador e colocando: localhost

No Apache 2, para acessar os arquivos de configurações, é o mesmo caso do BIND 9, tem-se os dois caminhos, o "enjaulado" e o padrão.

Página anterior     Próxima página

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

Como ter o ChatGPT no seu site em PHP

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

Compilando o Squid3

Instalação do PAP (PostgreSL, Apache2 e PHP7) no Debian Jessie

Instalação do Ventoy, programa para criar pendrives inicializáveis

Leitura recomendada

Filtro de conteúdo e vírus: Slackware 10.2 + Squid + Dansguardian + Clamav

Monitorando redes utilizando Ntop

Segurança da Informação no Brasil, qual é nossa realidade?

OUTGUESS: Oculte mensagens em fotos

Ferramentas de segurança - uma pequena compilação

  
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