Comment masquer le numéro de version d'Apache et les informations sur le système d'exploitation
Agence web » Actualités du digital » Comment masquer le numéro de version d’Apache et les informations sur le système d’exploitation

Comment masquer le numéro de version d’Apache et les informations sur le système d’exploitation

Apache est l’un des serveurs Web les plus populaires, mais sa configuration par défaut contient des choix discutables sur de nombreuses distributions Linux. Apache a tendance à annoncer sa version spécifique et la plate-forme sur laquelle il s’exécute, des informations qui pourraient être précieuses pour les attaquants.

Cet article rapide vous montrera comment désactiver cette sortie pour aider à protéger votre serveur. Il n’y a généralement aucune raison pour qu’il soit actif et le désactiver ne devrait prendre qu’une minute.

Quel est le problème?

Voici une nouvelle installation d’Apache 2.4 affichant un index de répertoire :

Image de la page d'index Apache par défaut montrant la signature du serveur

Le pied de page de la page révèle le code de version d’Apache, le nom du système d’exploitation, l’adresse IP interne et le numéro de port de votre serveur.

Ce sont des détails potentiellement sensibles. Une vulnérabilité zero-day dans Apache peut n’affecter qu’une petite plage de versions. En laissant cette sortie activée, vous montrez au monde si votre machine est à risque. Cela permet aux attaquants d’identifier plus facilement votre hôte en tant que cible potentielle.

Apache fait référence à ces données comme sa « signature de serveur ». Il ne se limite pas aux pages d’index de répertoire : le code de version est inclus dans chaque réponse HTTP dans le Server entête:

image montrant comment les en-têtes de réponse Apache incluent la signature du serveur par défaut

Il sera présent quel que soit le code d’état de la réponse. Les attaquants peuvent trouver votre version précise d’Apache en envoyant simplement une requête à votre serveur, qu’ils connaissent ou non une URL valide.

Désactivation de la signature du serveur

Il y a deux parties pour désactiver cette sortie indésirable. Le premier est le ServerSignature valeur dans votre fichier de configuration Apache. L’emplacement de ce fichier varie ; /etc/apache2/apache2.conf et /usr/local/apache2/conf/httpd.conf sont deux possibilités courantes. La ServerSignature la directive est également prise en charge à l’intérieur .htaccess fichiers dans votre racine Web.

Définissez la directive sur Off pour désactiver la signature qui apparaît sur les pages Web générées par le serveur :

ServerSignature Off

Redémarrez Apache pour appliquer la modification :

$ sudo service apache2 restart

Image de la page d'index Apache par défaut sans la signature du serveur

Cela affecte les listes de répertoires, les pages d’erreur par défaut d’Apache et les autres sorties HTML produites par le serveur. Off supprime complètement la ligne de signature. Le paramètre prend éventuellement en charge une troisième valeur, EMailqui fournit un lien pour envoyer un e-mail à l’adresse définie par ServerAdmin:

ServerAdmin example@example.com
ServerSignature EMail

Cela remplace les informations de version d’Apache par le lien e-mail.

Gestion des jetons de serveur

Le contenu de la Server l’en-tête de réponse est contrôlé par un paramètre différent, ServerTokens. Cela ne peut être défini que par le fichier de configuration globale de votre serveur. Il n’est pas pris en charge à l’intérieur .htaccess des dossiers.

La valeur par défaut est Full qui présente la chaîne de version précise et le nom du système d’exploitation observés dans l’exemple ci-dessus. Cela peut également inclure les numéros de version des modules chargés et des moteurs de contenu CGI tels que PHP.

Les valeurs alternatives suivantes sont prises en charge :

  • FullApache/2.4.2 (Ubuntu)
  • ProdApache
  • MajorApache/2
  • MinorApache/2.4
  • MinApache/2.4.2
  • OS – Pareil que Full mais sans informations sur les modules chargés

La Prod le choix est la valeur la plus sûre. Vous pouvez le considérer comme Productionmême si c’est en fait l’abréviation de ProductOnly. Ce jeton de serveur signifie que le Server header révélera uniquement que vous utilisez Apache, sans aucune information supplémentaire sur la version. Les attaquants devront faire plus d’essais et d’enquêtes sur les erreurs pour trouver des vulnérabilités exploitables dans votre installation.

Malheureusement, il n’y a aucun moyen de supprimer le Server en-tête tout à fait. Apache soutient en fait que le désactiver « ne fait rien du tout pour rendre votre serveur plus sécurisé » et suggère l’utilisation de Min pour faciliter le débogage des problèmes interopérationnels.

Cependant, la plupart des gens ne consomment jamais le Server header et il est toujours plus sûr d’annoncer le moins d’informations possible sur votre système. Bien que cela n’empêche pas l’exploitation des vulnérabilités, ServerTokens Prod pourrait dissuader les attaquants de faire des tentatives spéculatives. Il sera également plus difficile pour les passants de glaner des détails sur le fonctionnement interne de votre pile technologique. Ce n’est qu’un petit durcissement mais un jour cela pourrait faire la différence dont vous avez besoin.

Qu’en est-il de PHP ?

Apache est souvent utilisé devant des sites Web et des applications alimentés par PHP. Malheureusement, PHP a sa propre habitude de fournir son numéro de version à Internet. Il apparaîtra dans le X-Powered-By en-tête des réponses envoyées par votre code PHP.

Vous pouvez désactiver cela en modifiant votre fichier de configuration PHP avec la ligne suivante :

expose_php = Off

Le fichier de configuration se trouve généralement sur /etc/php/8.1/apache2/php.ini. Remplacer 8.1 avec la version PHP que vous utilisez. Vous devrez redémarrer votre serveur Web pour appliquer la modification.

Sommaire

La configuration par défaut d’Apache expose le numéro de version précis de votre serveur, ainsi que son système d’exploitation et son adresse IP. Ces informations apparemment anodines peuvent prêter main forte aux attaquants à la recherche de serveurs vulnérables.

La désactivation de la signature du serveur est un moyen rapide de renforcer votre environnement. C’est également une bonne idée de traiter en même temps l’exposition à des informations similaires provenant d’autres logiciels de votre pile. PHP et certains frameworks Web présentent des vulnérabilités similaires.

★★★★★