Ne pas afficher les informations de version
La première chose à faire lors de la mise en production d’un serveur Apache est de faire en sorte qu’il n’affiche pas l’ensemble de ses informations de versions afin d’éviter à tout attaquant potentiel de connaitre trop d’informations sur sa machine cible.
Pour cela deux directives sont à modifier.
ServerTokens
, dont les informations sont visibles dans les entêtes des requètes, qui peut prendre comme valeur :
-
Prod
: la plus restrictive, Apache ne devrait afficher queApache
; -
Major
: le serveur affichera Apache et son numéro de version majeurApache/2
; -
Minor
: le serveur affichera Apache et ses numéros de version majeur et mineurApache/2.0
; -
Min
: le serveur affichera Apache et son numéro de version completApache/2.0.55
; -
Os
(par défaut en général) : le serveur affichera Apache, son numéro de version complet et son système d’exploitationApache/2.0.55 (Debian)
; -
Full
: le serveur affichera Apache, son numéro de version complet, son système d’exploitation et les informations des modules supplémentairesApache/2.0.55 (Debian) PHP/5.1.4-1 mod1/X.Y mod2/W.Z
;
ServerSignature
, moins importante sur ServerTokens
est correctement configurée, cette directive affiche le contenu de ServerTokens
, le nom de domaine et le port utilisé pour la connexion sur les pages auto-générées par Apache. Trois valeurs sont possibles :
-
Off
n’affichera pas ces informations du tout ; -
On
affichera ces informations ; -
Email
affichera ces informations en y ajoutant l’email duServerAdmin
du Virtualhost ;
Ces deux directives se trouvent dans le fichier /etc/apache2/conf.d/security
, que l’on édite :
- sudo nano /etc/apache2/conf.d/security
On y recherche nos directives que l’on modifie ainsi :
- #....
- ServerTokens Prod
- #....
- ServerSignature Off
On n’oublie pas de recharger la configuration d’Apache :
- /etc/init.d/apache2 reload