Cacher la version d’un serveur Apache

28 mar

securité serveur web apache

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.

ServerSignature version apache

Une fois la directive ServerSignature à Off, le serveur n’affiche plus aucune information sur les pages d’erreur.
ServerSignature version apache

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.

ServerTokens version apache

Une fois la directive ServerTokens à Prod (Pour Product Only), le champ « Server » contiendra uniquement le nom du serveur web utilisé.
ServerTokens version apache

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

Photo

Commentaires clos.