sábado, 19 de janeiro de 2008

Dicas "pega-admin-descuidado" - Configuração Apache

As vezes eu chego a ficar revoltado com a forma como a segurança de determinadas aplicações e/ou servidores são jogadas no lixo simplesmente porque programadores ou administradores não tiveram o devido cuidado.

Não sou nenhum expert em segurança, estou até muito longe disso.
Mas vou começar a publicar pequenas dicas que revelam a qualidade do administrador...
Se o admin deixou passar essas coisas que estão aqui, então é melhor se preocupar, porque se ele deixou passar coisas macro como essas, imagine então....

A ideia dessa dica de hoje surgiu a partir da necessidade da documentação de mudanças feitas no servidor.

ServerTokens

Resumidamente, ServerTokens é o responsavel por exibir ou não informações sobre o apache, versão, sistema operacional no servidor, modulos instalados no apache e etc.
Cada informação a mais dessa que você disponibiliza para o atacante é mais uma maneira de pedir para ser atacado.
Um scaneamento que pegue um "finger print" do seu sistema, vai dar de bandeja ao atacante essas informações valiosas e a partir disso ele pode procurar falhas especificas para a versão do seu sistema operacional, para versão do seu servidor web e para os modulos instalados nele e etc.
Tudo isso se torna muito facil usando ferramentas como o metasploit.

Agora vamos botar a mão na massa.

ServerTokens prod
diz o nome do servidor web, exemplo: Apache

ServerTokens Min
Nome do servidor web e sua versão, exemplo: Apache/1.10

ServerTokens OS
Mostra o nome do servidor web, versão e o sistema operacional,
exemplo: Apache/1.10 (Unix)

ServerTokens Full
Mostra nome, versão, sistema operacional e os módulos do servidor,
exemplo: Apache/1.10 (Unix) mod_ssl/5.0.0 OpenSSL/1.0.0b

Depois disso não precisa nem dizer que a opção mais segura é a opção "prod"
então a linha lá no httpd.conf vai ficar com: "ServerTokens prod"

ServerSignature
"A diretiva ServerSignature permite a configuração do rodapé em documentos gerado pelo servidor, tais como: listagem de diretórios, mensagem de erros, etc. Por padrão, a opção ServerSignature vem On, isso faz com que a resposta a uma página que não existente no servidor seja basicamente: "
Apache/2.2.3 (Debian GNU/Linux) PHP/4.3.10-19 Server at www.pagina.com.br Port 80

Para evitar isso é simples
Sua linha no httpd.conf vai ficar assim: ServerSignature Off
Assim a saida será:
Apache Server at www.dominio.com.br Port 80

Tem textos por ai falando muito sobre isso... é só pesquisar!

Um outro dia vou postar uma dica para fazer seu servidor web se "camuflar" um pouco.
Alterando algumas coisas no codigo fonte podemos ter uma resposta diferente, mostrando por exemplo que seu servidor roda o ISS, quando na verdade ele roda o apache.
Mas isso fica pra proxima, por hoje já escrevi muito e quase ninguem leu até o final....

0 comentários:

 
João Bosco Seixas