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
#
# 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!
Oi Marcus,
ResponderExcluirBom 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