Cacher la version de son serveur web Apache2

I. Présentation

Dans ce tutoriel, nous allons apprendre à cacher la version du serveur web Apache 2.

Pourquoi cacher la version de son serveur web ?

La version d'un serveur web ou d'une autre application serveur est une information très utile aux pirates car en fonction de la version utilisée, ils peuvent tester diverses attaques  et failles connues sur ces versions. La meilleur protection face à cela étant bien entendu de garder son serveur web à jour, il est aussi possible afin de rendre la tâche des attaquants plus longue et donc plus difficile de cacher la version de son serveur web. L'attaquant ne saura alors plus quelle faille connue exploiter.

II. Connaitre la version de son serveur web Apache2

Dans un premier temps, nous allons nous attarder sur comment connaitre la version de notre serveur web, en interne (en ayant les droits root, en tant qu'administrateur) puis en externe (en étant un visiteur/client comme les autres).

  • En interne

Il suffit de voir, sous Debian, la version installée avec la commande suivante :

apt-cache policy apache2

 Nous aurons alors un résultat comme suivant :

HideApacheVer01

Nous voyons donc bien que la version installée est la "2.2.22-13".

  • En externe

Nous pouvons, en tant que simple client web, établir une connexion telnet sur le port 80 du serveur :

telnet <IP> 80

Puis demander l'afficher du HEADER et d'appuyer deux fois sur [Entrée] :

HEAD / HTTP/1.1 [Entrée] [Entrée]

Nous aurons alors la version de l'OS du serveur mais aussi d'Apache2 :

HideApacheVer02-New

On peut également simplement demander au serveur l'affichage d'une page qui n'existe pas pour avoir une erreur 404, le serveur va alors signer son erreur 404 :

HideApacheVer03

On voit bien ici aussi la version du serveur ("2.2.22").

III. Cacher la version d'Apache2

Pour cacher la version d'Apache2, il faut changer quelques options dans sa configuration qui se situe par défaut dans "/etc/apache2". On ouvre le fichier "conf.d/security" puis l'on va modifier le champ "ServerTokens OS" puis mettre la valeur "Prod" à la place d'"OS". On pourra alors à nous établir une connexion telnet pour vérifier la version de notre serveur, nous aurons alors ce résultat :

HideApacheVer04-New

On voit donc bien que la version du serveur Apache n'est plus affichée. On peut également vérifier en forçant une erreur 404

HideApacheVer05

On peut également modifier le champ "ServerSignature"  en le mettant à "Off" pour dire au serveur de ne pas du tout signer l'erreur  comme suivant :

HideApacheVer06Après toute modification, il faut recharger la nouvelle configuration du serveur Apache2 pour qu'elle soit prise en compte :

service apache2 reload

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur en sécurité des systèmes d'information chez Amossys

mickael has 502 posts and counting.See all posts by mickael

6 pensées sur “Cacher la version de son serveur web Apache2

  • Hello,

    Excellent article, très clair ! Merci !

    Petite correction éventuellement à faire :
    il faut redémarrer le serveur Apache2 –> Il faut recharger la configuration de Apache2 (sinon ta commande aurait été service apache2 restart)

    Petit cadeau (c’est les lignes que j’utilise dans mes scripts) :
    # Sauvegarde du fichier original interfaces #
    cp -p /etc/apache2/conf.d/security{,.bak}
    # On modifie le fichier security #
    sed -i « s/ServerTokens OS/ServersTokens Prod/;s/ServerSignature On/ServerSignature Off/ » /etc/apache2/conf.d/security

    En espérant que ça puisse te servir, Tcho !

    Répondre
    • Oui exact, reload recharge la configuration sans effectuer un stop/start comme le fait la commande restart, le détail est important 😉

      Merci pour ton petit script, ça peut toujours servir !
      =)

      Répondre
  • Ping :

  • Merci pour cette astuce. Très utile ! Très utilisé dans un environnement de production.

    Répondre

Répondre à Mickael Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.