Pour cacher la version d’Apache, il faut changer quelques options dans sa configuration qui se situe par défaut dans « /etc/apache2« . Dans ce dossier racine, il y a plusieurs sous-dossiers et fichiers. Le fichier de configuration principal « apache2.conf » appelle les fichiers du dossier « conf-enabled« .
Le fichier « /etc/apache2/conf-enabled/security.conf » contient les options ServerTokens et ServerSignature que nous allons modifier. On peut aussi modifier ces options directement via « apache2.conf » en ajoutant ces directives à la fin du fichier.
Modifiez ce fichier (ou ajoutez les lignes à la fin de « apache2.conf« ) :
sudo nano /etc/apache2/conf-enabled/security.conf
On va venir remplacer :
ServerTokens OS
Par le niveau le plus restrictif :
ServerTokens Prod
Cela va permettre de masquer la version d’Apache. Néanmoins il restera toujours la mention « Apache Server ».
En complément, si l’on veut masquer la mention « Apache Server », il faut venir remplacer :
ServerSignature On
Par :
ServerSignature Off
On enregistre et on ferme le fichier de configuration. Après toute modification, il faut recharger la nouvelle configuration du serveur Apache pour qu’elle soit prise en compte :
sudo systemctl restart apache2
On voit donc bien que la version du serveur Apache n’est plus affichée, tout comme la mention « Apache Server« .

Voilà, votre serveur n’affichera plus la version d’Apache lorsqu’il sera interrogé. Même si la signature du serveur est masquée, c’est-à-dire la mention « Apache » sans la version, dans certains cas on peut l’obtenir malgré tout (comme avec l’outil Curl).