Como ocultar o número da versão do Apache e as informações do sistema operacional

0
22


Apache é um dos servidores web mais populares, mas sua configuração padrão contém opções questionáveis ​​em muitas distribuições Linux. O Apache tende a anunciar sua versão específica e a plataforma em que é executado, informações que podem ser valiosas para os invasores.

Este artigo rápido mostrará como desabilitar essa saída para ajudar a proteger seu servidor. Geralmente não há razão para estar ativo e desligá-lo deve levar apenas um minuto.

Qual é o problema?

Aqui está uma nova instalação do Apache 2.4 mostrando um índice de diretório:

Imagem da página de índice padrão do Apache mostrando a assinatura do servidor

O rodapé da página revela o código da versão do Apache, o nome do sistema operacional e o endereço IP interno e o número da porta do seu servidor.

Estes são detalhes potencialmente sensíveis. Uma vulnerabilidade de dia zero no Apache pode afetar apenas uma pequena variedade de versões. Ao deixar essa saída ativada, você mostra ao mundo se sua máquina está em risco. Isso torna muito mais fácil para os invasores identificarem seu host como um alvo em potencial.

O Apache se refere a esses dados como sua “assinatura do servidor”. Não limitado a páginas de índice de diretório: o código da versão é incluído em cada resposta HTTP dentro do Server cabeçalho:

imagem mostrando como os cabeçalhos de resposta do Apache incluem a assinatura do servidor por padrão

Ele estará presente independentemente do código de status de resposta. Os invasores podem encontrar sua versão exata do Apache simplesmente enviando uma solicitação ao seu servidor, independentemente de conhecerem uma URL válida.

Desabilitar a assinatura do servidor

Existem duas partes para desabilitar essa saída indesejada. primeiro é o ServerSignature valor em seu arquivo de configuração do Apache. A localização deste arquivo varia; /etc/apache2/apache2.conf S /usr/local/apache2/conf/httpd.conf são duas possibilidades comuns. a ServerSignature a diretiva também é suportada dentro .htaccess arquivos em sua raiz da web.

Defina a diretiva para Off Para desabilitar a assinatura que aparece nas páginas da Web geradas pelo servidor:

ServerSignature Off

Reinicie o Apache para aplicar a alteração:

$ sudo service apache2 restart

Imagem da página de índice padrão do Apache sem assinatura do servidor

Isso afeta listagens de diretórios, páginas de erro padrão do Apache e outras saídas HTML produzidas pelo servidor. Off remove completamente a linha de assinatura. A configuração suporta opcionalmente um terceiro valor, EMailque fornece um link para enviar um e-mail para o endereço definido por ServerAdmin:

ServerAdmin [email protected]
ServerSignature EMail

Isso substitui as informações da versão do Apache pelo link no e-mail.

Gerenciamento de token do servidor

o conteúdo do Server o cabeçalho de resposta é controlado por uma configuração diferente, ServerTokens. Isso só pode ser definido através do arquivo de configuração global do seu servidor. não suportado dentro de casa .htaccess registros

O padrão é Full que apresenta a string de versão precisa e o nome do sistema operacional visto no exemplo acima. Isso também pode incluir os números de versão dos módulos carregados e mecanismos de conteúdo CGI como PHP.

Os seguintes valores alternativos são suportados:

  • FullApache/2.4.2 (Ubuntu)
  • ProdApache
  • MajorApache/2
  • MinorApache/2.4
  • MinApache/2.4.2
  • OS – Igual que Full mas nenhuma informação sobre módulos carregados

a Prod escolha é o valor mais seguro. Você pode pensar nisso como Productionembora seja na verdade a abreviatura de ProductOnly. Este token de servidor significa que o Server O cabeçalho apenas revelará que você está usando o Apache, sem nenhuma informação adicional de inicialização. Os invasores terão que realizar mais investigações de tentativa e erro para encontrar vulnerabilidades exploráveis ​​em sua instalação.

Infelizmente, não há como remover o Server cabeçalho completamente. Na verdade, o Apache afirma que desativá-lo “não faz nada para tornar seu servidor mais seguro” e sugere o uso Min para facilitar a depuração de problemas interoperacionais.

No entanto, a maioria das pessoas nunca consome o Server header e é sempre mais seguro anunciar o mínimo possível de informações sobre seu sistema. Embora não impeça a exploração de vulnerabilidades, ServerTokens Prod poderia impedir os atacantes de fazer tentativas especulativas. Também tornará mais difícil para os espectadores obterem detalhes do funcionamento interno de sua pilha de tecnologia. É apenas um pouco apertando, mas um dia pode ser a diferença que você precisa.

E o PHP?

O Apache é frequentemente usado em sites e aplicativos desenvolvidos com PHP. Infelizmente, o PHP tem seu próprio hábito de fornecer seu número de versão para a Internet. aparecerá no X-Powered-By cabeçalho de respostas enviadas pelo seu código PHP.

Você pode desabilitar isso modificando seu arquivo de configuração PHP com a seguinte linha:

expose_php = Off

O arquivo de configuração geralmente pode ser encontrado em /etc/php/8.1/apache2/php.ini. Substituir 8.1 com a versão do PHP que você está usando. Você precisará reiniciar seu servidor web para aplicar a alteração.

Resumo

A configuração padrão do Apache expõe o número exato da versão do seu servidor, bem como seu sistema operacional e endereço IP. Essas informações aparentemente inócuas podem ajudar os invasores que procuram servidores vulneráveis.

Desabilitar a assinatura do servidor é uma maneira rápida de proteger seu ambiente. Também é uma boa ideia abordar a exposição de informações semelhantes de outros softwares em sua pilha ao mesmo tempo. PHP e alguns frameworks da web vêm com vulnerabilidades semelhantes.