Change Apache httpd “Servidor:” cabeçalho HTTP

29

Um dos cabeçalhos HTTP que o Apache httpd envia de volta com dados de resposta é "Servidor". Por exemplo, minha máquina de servidor da web é relativamente atualizada no Arch Linux. Ele envia de volta cabeçalhos parecidos com o seguinte:

HTTP/1.1 404 Not Found
Date: Thu, 10 Apr 2014 17:19:27 GMT
Server: Apache/2.4.9 (Unix)
Content-Length: 1149
Connection: close
Content-Type: text/html

Eu tenho ServerSignature off em /etc/httpd/conf/httpd.conf , mas o cabeçalho "Servidor:" ainda aparece. Eu experimentei os mod_headers . Eu o habilitei e tentei algumas coisas:

<IfModule headers_module>
Header set ProcessingTime "%D"
Header set Server BigJohn
</IfModule>

Após parar e iniciar httpd com a configuração acima, os cabeçalhos HTTP incluem algo como ProcessingTime: 1523 , mas a linha de cabeçalho "Servidor:" permanece inalterada. Então eu sei que "mod_headers" está instalado e habilitado, e funcionando, mas não como eu desejo.

Eu vejo que algo chamado "mod_security" diz isso, mas eu não quero todo o resto da bagagem que o mod_security traz consigo.

ATUALIZAÇÃO:

Quando você obtiver mod_security instalado, precisará apenas de algumas diretivas:

<IfModule security2_module>
SecRuleEngine on
ServerTokens Full
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>

Isso é para mod_security 2.7.7

    
por Bruce Ediger 10.04.2014 / 19:31

4 respostas

9

O ID do servidor / cabeçalho do token é controlado pela diretiva " ServerTokens " (fornecida por mod_core ). Além de modificar o código-fonte do Apache HTTPD, ou usar o mod_security module, não há outra maneira de totalmente suprimir o cabeçalho do ID do servidor.

Com a abordagem mod_security , você pode desabilitar todas as diretivas / funções do módulo no arquivo modsecurity.conf e aproveitar apenas a diretiva de ID do cabeçalho do servidor sem nenhuma "bagagem" adicional.

    
por 10.04.2014 / 20:31
22

O mod_security é ótimo, mas você não precisa dele para atingir seu objetivo.

após todos os mods terem sido incluídos em httpd.conf , você pode simplesmente desmarcar os cabeçalhos de sua preferência.

Header unset Server

ServerSignature Off
ServerTokens Prod

link

    
por 01.04.2015 / 00:55
11

Apenas atualizando isso para pessoas que ainda estão procurando. Eu estava tendo problemas para obter a linha do servidor no cabeçalho HTTP alterado. Este conselho deve funcionar para distros do Debian com o systemd e o Apache 2.4.7. Especificamente, estou usando o Ubuntu Server LTS 14.04.03. Alguns conselhos que encontrei foi para fazer

grep -Ri servertokens /etc/apache2

Isso me levou ao /etc/apache2/conf-available/security.conf onde ambos ServerTokens e ServerSignature foram especificados. Portanto, todas as alterações que eu estava fazendo no /etc/apache2/apache2.conf estavam sendo sobrescritas pelas diretivas já especificadas em security.conf.

Eu simplesmente mudei as diretivas no security.conf e o Apache começou a trabalhar como eu queria.

ServerTokens Prod
ServerSignature Off

No tópico do Header unset Server, encontrei um relatório de bug onde o Apache informou que é um problema que não corrigirá. Aparentemente, para eles, é uma questão filosófica, apesar da especificação para HTTP / 1.1, RFC 2616 criada em parte por Tim Berners-Lee, dizendo que a tag Server é opcional.

Eu realmente queria definir a tag do servidor como "Desconhecido" para tornar nossas scans do Qualys felizes. Então, eu instalei o mod_security, agora chamado de libapache2-modsecurity, seguindo este tutorial da DigitalOcean . Boa sorte, espero ter ajudado todos os seus futuros leitores.

    
por 27.10.2015 / 16:18
1

Eu testei algo no Oracle HTTP Server 11.1.1.9 (que é construído no Apache 2.2.22) que funcionou para mim, até certo ponto.

Configurar o "ServerTokens" para "none" parece remover o valor do cabeçalho "Server", embora o próprio cabeçalho continue sendo enviado na resposta, mas agora ele tem um valor nulo.

ServerTokens none

O cabeçalho de resposta ficaria assim:

HTTP/1.1 200 OK

Date: Mon, 28 Dec 2015 07:02:45 GMT

Server:

Last-Modified: Sun, 27 Dec 2015 07:29:13 GMT

.

.

    
por 28.12.2015 / 08:46