Cacher la version d’un serveur Apache
28 mar
Dans ce billet qui est le premier d’une série d’articles traitant de la sécurisation d’un serveur web, nous allons voir comment masquer les informations diffusées par Apache. Par défaut, Apache affichera son numéro de version ainsi que le système d’exploitation utilisé et dans certains cas d’autres informations telles que les modules installés sur le serveur.
Il est en effet important de divulguer le moins d’informations possible à un éventuel pirate, en effet ce dernier pourrait se servir de ces informations pour mieux cibler son attaque.
Pour ce faire nous allons utiliser les directives Apache ServerSignature et ServerTokens.
La première directive que nous allons modifier est ServerSignature, qui par défaut (On) affiche sur chacune des pages d’erreur générée les informations concernant le serveur.
Une fois la directive ServerSignature à Off, le serveur n’affiche plus aucune information sur les pages d’erreur.
La seconde directive est ServerTokens permet de modifier le contenu du champ « Server » qui se situe dans l’entête de chaque réponse envoyée par le serveur. Nous pouvons voir très simplement cette réponse grâce à la commande Telnet. Nous voyons ici qu’il s’agit d’un serveur Apache en version 2.2.15 installé sur une CentOS.
Une fois la directive ServerTokens à Prod (Pour Product Only), le champ « Server » contiendra uniquement le nom du serveur web utilisé.
Pour modifier ces deux directives, il suffit d’éditer le fichier httpd.conf
vi /etc/httpd/conf/httpd.conf
De rechercher les lignes contenant ServerSignature et ServerTokens pour les remplacer par
ServerSignature Off
Et
ServerTokens Prod
Pour valider le changement de configuration, il suffit de recharger la configuration d’Apache
service httpd reload
Commentaires récents