Como ocultar a versão do Apache no servidor

Neste post vou mostrar como alterar a configuração do Apache para não mostrar mais sua versão a requisições remotas. Esta é uma das várias medidas para fortalecer a segurança de um servidor web.
apache cadeado segurança
No artigo Como descobrir a versão do Apache em execução, mostro como obter informações sobre um servidor web remoto (e local). Neste artigo vou mostrar como inibir a exibição deste “excesso” de informações a pessoas estranhas.
Ninguém precisa saber que versão do Apache você está executando; que módulos você tem rodando e quais são as suas vulnerabilidades (baseado na versão do servidor web em execução).
Para ficar claro, o procedimento não protege contra vulnerabilidades existentes — mas dificulta a vida de quem deseja obter informações sobre o seu sistema.
Nos tópicos, a seguir, vou motrar como alterar as diretrizes ServerTokens e ServerSignature dentro do arquivo de configuração do Apache, para ser o mais objetivo possível. Depois vou explicar um pouco melhor a função delas.

Como configurar o Apache

Antes de se aventurar a alterar um arquivo do sistema, faça uma cópia de segurança dele:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.original

Em seguida abra o arquivo com o seu editor de texto favorito (eu vou usar o nano):

sudo nano /etc/apache2/apache2.conf

Agora altere (ou inclua) as diretrizes a que me referi acima para os seguintes valores:

ServerTokens ProductOnly
ServerSignature Off

Agora, reinicie o Apache:

sudo apachectl stop
sudo apachectl start

Agora faça um teste:

HEAD http://localhost

Altere o comando acima para os valores adequados à sua situação.
Note que no meu resultado, na 6a. linha, o nome do servidor é exibido apenas como Apache. Sua versão não é divulgada, nem tampouco o nome do sistema operacional.

200 OK
Connection: close
Date: Tue, 10 Mar 2015 21:17:25 GMT
Accept-Ranges: bytes
ETag: "2cf6-50fc9c4fbc26b"
Server: Apache
Vary: Accept-Encoding
Content-Length: 11510
Content-Type: text/html

Se quiser aumentar um pouco mais os seus conhecimentos, veja os testes descritos neste artigo.

O que é ServerTokens

A diretriz ServerTokens controla quando o cabeçalho (header) de resposta do servidor deverá, ou não, incluir uma descrição genérica do tipo de sistema operacional instalado — bem como informações sobre módulos compilados e disponíveis para uso.
Dentro do arquivo de configurações /etc/apache2/apache2.conf, esta diretriz pode ter os seguintes valores:

  • ProductOnly ou Prod — Diz para o Apache mostrar apenas o nome produto (que é o software de servidor web): Apache.
  • Major — Permite mostrar parcialmente a versão do Apache. Por exemplo: Apache/2
  • Minor — Permite ao Apache mostrar um pouco mais de sua versão. Por exemplo: Apache/2.4
  • Minimal ou Min — Torna o Apache ainda mais verboso sobre a sua versão. Por exemplo: Apache/2.4.12
  • OS — Vai além da exibição do número completo da versão do Apache e dá uma dica do sistema operacional usado no servidor. Por exemplo: Apache/2.4.12 (Unix)
  • Full ou padrão (sem parâmetros) — Mostra outros dados, como a versão do OPenSSL. Por exemplo: Apache/2.4.12 (Unix) OpenSSL/1.0.1l

Ajustar a diretiva ServerTokens para menos do que minimal não é recomendado pela documentação oficial do Apache — uma vez que dificulta encontrar erros (interoperacionais) no produto.
Além disto, a “obscuridade” não é política de segurança ideal. O correto é manter os seus servidores atualizados e ficar “ligado” no que tange eventuais descobertas de falhas de segurança

A diretriz ServerSignature do Apache

Dependendo do seus parâmetros de configuração, esta diretriz permite exibir um rodapé nos documentos gerados pelo servidor web (mensagens de erro, mod_proxy, a listagem do diretório ftp, saída do mod_info etc.)
O motivo para deixar esta opção ligada é que, em uma cadeia de proxies, pode ficar difícil dizer em qual dos servidores houve um erro.
A opção padrão é Off.
As outras opções são:

  • On — Adiciona uma linha com o número da versão do servidor e o valor de ServerName do host virtual.
  • Email — cria uma referência mailto: ao ServerAdmin, que permite a um visitante contatar o administrador do documento em exibição.

Após a versão 2.0.44, do Apache, a informação sobre a versão do servidor passou a ser controlada pelo ServerTokens.
Este site tem outros artigos sobre Apache, MySQL, PHP e configuração de servidores. Use o campo de busca, no canto superior direito para descobrir mais textos interessantes para você.

Referências

Leia a documentação oficial do Apache, sobre o assunto deste post, aqui.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *