Cacher la version d'un serveur Web Apache
Voici une petite astuce pour obtenir la version d'un serveur Apache, grâce à une commande telnet, suivie de quelques conseils pour cacher ce dernier.
Ouvrez un nouveau terminal, et entrez les commande suivante, qui sont en gras ([return] = un appui sur la touche entrée) :
$ telnet www.kernel.org 80
Trying 204.152.191.5...
Connected to www.kernel.org (204.152.191.5).
Escape character is '^]'.
HEAD / HTTP/1.1 [return]
[return]
La commande nous renvoie alors des informations sur le serveur :
HTTP/1.1 200 OK Date: Tue, 07 Feb 2006 08:52:07 GMT Server: Apache/2.0.53 (Fedora) Accept-Ranges: bytes Connection: close Content-Type: text/html
On voit ici qu'il utilise la dernière version de Apache et sur une Fedora Core en plus ! Il existe bien sur une astuce pour masquer ce numéro de version. Il suffit simplement d'éditer le fichier httpd.conf et de modifier l'option ServerTokens comme ceci :
ServerTokens Prod
Le numéro de version étant maintenant caché, un pirate pourra néanmoins toujours le retrouver en entrant une adresse inexistant sur votre serveur Web, afin de génerer une page d'erreur 404.
En effet, si on regarde de plus près la composition de ce type de page, on s'aperçoit que le numéro de version apparaît en bas de celle-ci.
On peut bien sur également y remédier en désactivant l'option ServerSignature du fichier de configurationd'Apache, comme ceci :
ServerSignature off
Néanmoins, la meilleure façon de se prémunir d'un éventuel piratage informatique, est de mettre à jour régulièrement la version de son serveur Web.
4 Commentaires pour "Cacher la version d'un serveur Web Apache"
Flux des commentaires de cet article Ajouter un commentaireOu sinon juste l'en-tete...
A noter que ce paramètre est configurable et peut donc être modifié par l'admin...
Yannick tu as tout bon, je modifie le billet pour prendre en compte ton excellente remarque !
L'article date, mais ça me rappelle encore un plus vieux article de Christophe Grenier dans le Linux Magazine de 1998, 3ème trimestre (bon sang déjà). Comme quoi son astuce était classe et c'était pour la fameuse version 1.3 lol
En fait je voulais justement en savoir un peu plus sur la façon de cacher Apache, au cas où y aurais eu une autre façon de faire avec les nouvelles versions. Google m'a ramené ici (1er lien sur [cacher la version apachei.
Amicalement.
David.
Et pour remplacer les pages d'erreurs par défaut, il faut s'en créer de nouvelles personnalisées :p
Pour Apache, il faut écrire:
ErrorDocument 403 /403.html
le 403 tout seul est le code d'erreur dont la directive parle.
le /403.html est le chemin depuis la racine du service web (et non du serveur, généralement c'est /var/www), ainsi noté, le chemin réel est /var/www/403.html, mais comme /var/www/ est l'endroit où sont placés les fichiers, on écrit ça comme ça: /403.html
P.S: je n'ai pas encore testé si on peut mettre une page Php. Logiquement, oui, vu les pages personnalisées de bcp de serveurs.