Comment masquer le numéro de version PHP dans l'en-tête HTTP
- 3964
- 1159
- Lucas Bernard
La configuration PHP, par défaut, permet à l'en-tête de réponse HTTP du serveur 'X-alimenté par X'Pour afficher la version PHP installée sur un serveur.
Pour des raisons de sécurité du serveur (mais pas une menace majeure à s'inquiéter), il est recommandé de désactiver ou de masquer ces informations aux attaquants qui pourraient cibler votre serveur en voulant savoir si vous exécutez PHP ou non.
En supposant qu'une version particulière de PHP installée sur votre serveur a des trous de sécurité, et de l'autre côté, les attaquants apprennent à le savoir, il deviendra beaucoup plus facile pour eux d'exploiter les vulnérabilités et d'accéder au Sever via les scripts.
Dans mon article précédent, j'ai montré comment masquer le numéro de version Apache, où vous avez vu comment éteindre la version installée Apache. Mais si vous exécutez PHP dans votre serveur Web Apache, vous devez également masquer la version installée 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 le 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é. Dans le cas où vous ne connaissez pas l'emplacement de ce fichier de configuration sur votre serveur, exécutez la commande ci-dessous pour la trouver:
$ php -i | grep "fichier de configuration chargé"Emplacement du fichier de configuration PHP
---------------- Sur Centos / Rhel / Fedora ---------------- Fichier de configuration chargé => / etc / php.ini ---------------- Sur Debian / Ubuntu / Linux Mint ---------------- Fichier de configuration chargé => / etc / php / 7.0 / CLI / PHP.ini
Avant d'apporter des modifications dans le fichier de configuration PHP, je vous suggère de faire d'abord une sauvegarde de votre fichier de configuration PHP comme:
---------------- Sur Centos / Rhel / Fedora ---------------- $ sudo cp / etc / php.ini / etc / php.ini.origine ---------------- Sur Debian / Ubuntu / Linux Mint ---------------- $ sudo cp / etc / php / 7.0 / CLI / PHP.ini / etc / php / 7.0 / CLI / PHP.ini.origine
Ensuite, ouvrez le fichier en utilisant votre éditeur préféré avec des privilèges de super utilisateur comme tel:
---------------- Sur Centos / Rhel / Fedora ---------------- $ sudo vi / etc / php.ini ---------------- Sur Debian / Ubuntu / Linux Mint ---------------- $ sudo vi / etc / php / 7.0 / CLI / PHP.ini
Localiser le mot-clé exposer_php
et définir sa valeur sur Désactivé:
exposer_php = off
Enregistrer le fichier et quitter. Ensuite, redémarrez le serveur Web comme suit:
---------------- Sur systemd ---------------- $ sudo systemctl redémarrer httpd $ sudo systemctl redémarrer apache2 ---------------- Sur sysvinit ---------------- $ sudo service httpd redémarrer $ sudo service apache2 redémarrer
Enfin et surtout, vérifiez si l'en-tête de réponse HTTP Server affiche toujours votre numéro de version PHP en utilisant la commande ci-dessous.
$ lynx -head -mime_header http: // localhost ou $ lynx -head -mime_header http: // server-address
Où les drapeaux:
-diriger
- Envoie une demande de tête pour les en-têtes MIME.-mime_header
- imprime l'en-tête mime d'un document récupéré avec sa source.
Note: Assurez-vous que le navigateur Web Lynx - 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 PHP dans l'en-tête de réponse HTTP du serveur afin de sécuriser un serveur Web à partir d'attaques possibles. Vous pouvez ajouter une opinion à ce post ou peut-être poser n'importe quelle question connexe via le formulaire de commentaire ci-dessous.
- « Désactiver la liste des répertoires Web Apache en utilisant .fichier htaccess
- Comment manipuler les noms de fichiers ayant des espaces et des caractères spéciaux dans Linux »