Pour des raisons de sécurité, plusieurs administrateurs réseau préfèrent cacher le nom du type de serveur qui héberge les sites afin de ne pas donner d'indice pouvant faciliter une attaque, par exemple sur une version précise d'Apache qui contiendrait une faille de sécurité.
Ainsi, un hacker pourrait simplement regarder les entêtes HTTP pour découvrir le type et la version du serveur. Ceci se retrouve par défaut dans l'entête Server. À titre d'exemple, Cyberpresse retourne ceci (à voir avec l'extension Firefox Live HTTP Headers) :
Server: Apache/2.2.3 (CentOS)
Pour cacher cette information, on peut ajouter dans httpd.conf les deux lignes suivantes :
ServerSignature Off
ServerTokens Prod
Où ServerSignature sera désactivé pour ne pas afficher l'information du serveur sur les pages 404 et les index de répertoires alors que "Prod" est une abréviation de ProductOnly. Le résultat devient le suivant :
Server: Apache
Optionnellement, si on est paranoïaque ou qu'on veut s'amuser à changer le terme "Apache" par autre chose, on peut modifier le code source d'Apache en modifiant les lignes suivantes (version 2) et recompiler. Ces lignes se retrouvent dans include/ap_release.h.
#define AP_SERVER_BASEVENDOR "Apache Software Foundation"
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"
#define AP_SERVER_BASEPRODUCT "Code 18"
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 2
#define AP_SERVER_PATCHLEVEL_NUMBER 11
#define AP_SERVER_DEVBUILD_BOOLEAN 0
Une alternative connue mais que je n'ai pas testé (en tout cas pas encore) est d'utiliser mod_security et de modifier l'entête Server en utilisant la directive SecServerSignature :
SecServerSignature "Code18 v1.0"
Dans ce cas-ci, ServerTokens devra être initialisé à Full :
ServerTokens Full
Mise à jour 2009-05-03
J'ai pris le temps de tester SecServerSignature ce matin et tout fonctionne tel que décrit.
samedi 2 mai 2009
0 réponse à "Modifier l'entête Server d'Apache"
S'abonner à :
Publier des commentaires (Atom)