Recherche de site Web

Comment masquer le numéro de version PHP dans l'en-tête HTTP


La configuration PHP, par défaut, permet à l'en-tête de réponse HTTP du serveur « X-Powered-By » d'afficher la version de PHP installée sur un serveur.

Pour des raisons de sécurité du serveur (bien qu'il ne s'agisse pas d'une menace majeure à craindre), il est recommandé de désactiver ou de masquer ces informations aux attaquants qui pourraient cibler votre serveur en voulant savoir si vous utilisez PHP ou non.

En supposant qu'une version particulière de PHP installée sur votre serveur présente des failles de sécurité et que, d'un autre côté, les attaquants le savent, il leur deviendra beaucoup plus facile d'exploiter les vulnérabilités et d'accéder au serveur via des scripts.

Dans mon article précédent, j'ai montré comment masquer le numéro de version d'Apache, où vous avez vu comment désactiver la version installée d'Apache. Mais si vous exécutez PHP sur votre serveur Web Apache, vous devez également masquer la version installée de PHP, et c'est ce que nous allons montrer dans cet article.

Par conséquent, dans cet article, nous expliquerons comment masquer ou désactiver l’affichage du numéro de version PHP dans l’en-tête de réponse HTTP du serveur.

Ce paramètre peut être configuré dans le fichier de configuration PHP chargé. Si vous ne connaissez pas l'emplacement de ce fichier de configuration sur votre serveur, exécutez la commande ci-dessous pour le trouver :

php -i | grep "Loaded Configuration File"
---------------- On CentOS/RHEL/Fedora ---------------- 
Loaded Configuration File => /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
Loaded Configuration File => /etc/php/7.0/cli/php.ini

Avant d'apporter des modifications au fichier de configuration PHP, je vous suggère de faire d'abord une sauvegarde de votre fichier de configuration PHP comme ceci :

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo cp /etc/php.ini /etc/php.ini.orig

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo cp /etc/php/7.0/cli/php.ini  /etc/php/7.0/cli/php.ini.orig  

Ensuite, ouvrez le fichier à l'aide de votre éditeur préféré avec les privilèges de super-utilisateur comme ceci :

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo vi /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo vi /etc/php/7.0/cli/php.ini

Localisez le mot-clé expose_php et définissez sa valeur sur Off :

expose_php = off

Enregistrez le fichier et quittez. Ensuite, redémarrez le serveur Web comme suit :

---------------- On SystemD ---------------- 
sudo systemctl restart httpd
sudo systemctl restart apache2 

---------------- On SysVInit ---------------- 
sudo service httpd restart
sudo service apache2 restart

Enfin, vérifiez si l'en-tête de réponse HTTP du serveur affiche toujours votre numéro de version PHP à l'aide de la commande ci-dessous.

lynx -head -mime_header http://localhost 
OR
lynx -head -mime_header http://server-address

où les drapeaux :

  1. -head – envoie une requête HEAD pour les en-têtes MIME.
  2. -mime_header – imprime l'en-tête MIME d'un document récupéré avec sa source.

Remarque : Assurez-vous que lynx – navigateur Web en ligne de commande est installé sur votre système.

C'est ça! Dans cet article, nous avons expliqué comment masquer le numéro de version de PHP dans l'en-tête de réponse HTTP du serveur afin de sécuriser un serveur Web contre d'éventuelles attaques. Vous pouvez ajouter une opinion à cet article ou peut-être poser toute question connexe via le formulaire de commentaires ci-dessous.