terça-feira, 27 de março de 2012

Boas Práticas de Segurança - Apache

Seguem algumas boas práticas de Segurança para protejer um servidor apache.
Fiz todos os testes com uma distro CentOS Linux.

Remover página de teste (Welcome)

1 - Edite o arquivo /etc/httpd/conf.d/welcome.conf.
2 - Comente todas as linhas desse arquivo.
#
#    Options -Indexes
#    ErrorDocument 403 /error/noindex.html
#
3 - Recarregue a configuração do apache: /etc/init.d/httpd reload

Personalizar página default para endereço não publicado

1 - Acesse o diretório /etc/httpd/conf.d e crie um arquivo de configuração seguindo o exemplo abaixo:

# vim security.conf

    Options -Indexes
    ErrorDocument 403 /error/security.html

    Options -Indexes
    ErrorDocument 403 /error/security.html

2 - Depois é só criar e personalizar a página security.html

Desabilitar versão do Apache

1 - Edite o arquivo httpd.conf
2 - Modifique a linha ServerTokens para:
ServerTokens Prod
3 - Recarregue as configurações do apache.

http://httpd.apache.org/docs/current/mod/core.html#servertokens

Desabilitar assinatura do servidor

Quando uma página que não existe é acessada, por exemplo, o apache mostra uma página de erro default com informações do servidor, porta, etc.
Não há nenhuma necessidade disso ser mostrado.

1 - Edite o arquivo httpd.conf.
2 - Modifique a linha ServerSignature para:
ServerSignature Off
3 - Recarregue a configuração do apache.

http://httpd.apache.org/docs/current/mod/core.html#serversignature

Desabilitar Trace

1 - Edite o arquivo httpd.conf.
2 - Adicione a linha abaixo no final do arquivo:
TraceEnable Off
3 - Recarregue a configuração do apache.

http://httpd.apache.org/docs/current/mod/core.html#traceenable

Negar acesso ao /

1 - Edite o arquivo httpd.conf.

    Options FollowSymLinks
    AllowOverride None
    Order Deny,Allow
    Deny from all

OBS.: Se tiver mais algum diretório que não precise ser publicado, bloqueie também.

Bom, conforme eu for me lembrando de mais dicas, vou colocando aqui.
Caso alguém tenha mais dicas, por favor, fique a vontade para comentar.

Abraço!

Um comentário:

  1. Oi Marcus,

    Bom dia!

    Como mais uma dica, eu alteraria o arquivo fonte do Apache "vim /server/include/ap_release.h", alterando o nome do webserver e recompilando o mesmo.

    Isso evita que aplicativos como NMAP consigam detectar qual web server está sendo executado no servidor.

    Obrigado!

    Fabiano

    ResponderExcluir