"Serveur" est l' un des en-têtes HTTP renvoyés par Apachehttpd
avec les données de réponse. Par exemple, ma machine serveur Web est relativement récente Arch Linux. Il renvoie des en-têtes ressemblant beaucoup à ce qui suit:
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
J'ai ServerSignature off
dans /etc/httpd/conf/httpd.conf
, mais l'en-tête "Server:" apparaît toujours. J'ai expérimenté avec mod_headers . Je l'ai activé, et j'ai essayé plusieurs choses:
<IfModule headers_module>
Header set ProcessingTime "%D"
Header set Server BigJohn
</IfModule>
Après avoir arrêté et démarré httpd
avec la configuration ci-dessus, les en-têtes HTTP incluent quelque chose comme ProcessingTime: 1523
, mais la ligne d'en-tête "Serveur:" reste inchangée. Je sais donc que "mod_headers" est installé et activé, et qu'il fonctionne, mais pas comme je le souhaite.
Je vois que quelque chose appelé "mod_security" prétend le faire, mais je ne veux pas tout le reste du bagage que mod_security comporte.
MISE À JOUR:
Une fois mod_security
installé, il vous suffit de quelques directives:
<IfModule security2_module>
SecRuleEngine on
ServerTokens Full
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>
C'est pour mod_security
2.7.7
la source
Réponses:
L'en-tête d'ID de serveur / jeton est contrôlé par la directive " ServerTokens " (fournie par
mod_core
). Hormis la modification du code source HTTPD Apache ou l'utilisation d'unmod_security
module, il n'existe pas d'autre moyen de supprimer complètement l'en-tête d'ID de serveur.Avec cette
mod_security
approche, vous pouvez désactiver toutes les directives / fonctions du module dans lemodsecurity.conf
fichier et utiliser uniquement la directive ID du serveur en-tête sans aucun "bagage" supplémentaire.la source
mod_security est formidable, mais vous n'en avez pas vraiment besoin pour atteindre votre objectif.
Une fois que tous les mods ont été inclus,
httpd.conf
vous pouvez simplement désélectionner les en-têtes de votre choix.http://httpd.apache.org/docs/2.4/mod/core.html#serversignature
la source
sudo a2enmod headers
Header unset Server
ne fonctionne pas dans Apache 2.2 et 2.4. Les en-têtes de réponse contiennent toujoursServer: Apache
Juste la mise à jour pour les personnes qui cherchent encore. J'avais du mal à faire changer la ligne Serveur dans l'en-tête HTTP. Ce conseil devrait fonctionner pour les distributions de branches Debian avec systemd et Apache 2.4.7. Plus précisément, j'utilise Ubuntu Server LTS 14.04.03. Certains conseils que j'ai trouvés étaient à faire
Cela m'a conduit à /etc/apache2/conf-available/security.conf où ServerTokens et ServerSignature ont été spécifiés. Par conséquent, toutes les modifications apportées à /etc/apache2/apache2.conf étaient écrasées par les directives déjà spécifiées dans security.conf.
J'ai simplement changé les directives dans security.conf et Apache a commencé à fonctionner comme je le voulais.
En ce qui concerne Header unset Server, j'ai trouvé un rapport de bogue dans lequel les développeurs Apache ont déclaré qu'il ne résolvait pas le problème. Apparemment, il s’agit là d’un problème philosophique, malgré la spécification HTTP / 1.1, RFC 2616, rédigée en partie par Tim Berners-Lee, affirmant que la balise Server est facultative.
Je voulais vraiment définir le tag Serveur sur "Inconnu" pour rendre nos analyses Qualys heureuses. J'ai donc installé mod_security, maintenant appelé libapache2-modsecurity, à la suite de ce tutoriel sur DigitalOcean . Bonne chance, j'espère avoir aidé tous vos futurs lecteurs.
la source
J'ai testé quelque chose sur Oracle HTTP Server 11.1.1.9 (qui repose sur Apache 2.2.22) qui a fonctionné pour moi, dans une certaine mesure.
Définir "ServerTokens" sur "none" semble supprimer la valeur d'en-tête "Server", bien que l'en-tête lui-même continue à être envoyé dans la réponse, mais il a maintenant une valeur null.
L'en-tête de la réponse ressemblerait à ceci:
la source
none
le dernier Apache:ServerTokens takes 1 argument: 'Prod(uctOnly)', 'Major', 'Minor', 'Min(imal)', 'OS', or 'Full'