web-dev-qa-db-fra.com

Désactiver expose_php dans php.ini

On m'a informé qu'ayant expose_php = On dans mon php.ini est un problème de sécurité et n'est donc pas conforme PCI.

Mes recherches à ce jour suggèrent que le désactiver est à faible risque et cessera essentiellement de renvoyer la version PHP dans l'en-tête, mais je me demande s'il y a probablement des problèmes qui surviennent sur le dos de ce changement.

Les problèmes potentiels auxquels je pense sont des services tiers (fournisseurs de paiement, systèmes de suivi des e-mails, API de streaming vidéo) qui s'attendent à ce que vous répondiez avec un en-tête indiquant que vous utilisez une version de PHP, éventuellement sur une certaine version?

Devrait-il s'agir d'un changement sans heurts ou cela pourrait-il entraîner des problèmes?

32
crmpicco

C'est correct.

Réglage expose_php = Off empêche simplement le serveur Web de renvoyer le X-Powered-By entête.

Bien que l'on puisse dire que les pirates potentiels pourraient rechercher des versions obsolètes de PHP avec des failles de sécurité à exploiter, ils pourraient potentiellement faire de même même si l'en-tête était désactivé. À mon avis, cela est une bonne chose à faire, mais ne vous attendez pas à ce qu'il offre beaucoup de protection.

En termes d'interaction avec des services tiers, ils ne devraient pas avoir à se soucier de la version de PHP que vous utilisez. Ils devraient être en mesure de servir du contenu dans des formats indépendants de la plate-forme tels que JSON, XML , etc., afin que les services puissent être consommés par n'importe quelle plate-forme et pas seulement par PHP.

Dans tous les cas, pour qu'ils s'appuient sur le "consommateur" PHP est inutile, car l'en-tête peut être facilement désactivé et peut-être même manipulé par l'administrateur du serveur.

Par conséquent, cela ne devrait pas être un problème pour l'éteindre.

54
F21

Il ne devrait pas y avoir d'effets secondaires négatifs lorsque vous désactivez expose_php.

Il suffit de supprimer le X-Powered-By en-tête et empêche les paramètres GET de renvoyer PHP crédits et images.

Toute application tierce qui s'appuie sur l'en-tête est douteuse. Vous pouvez toujours usurper l'en-tête si nécessaire.

7
alex

Il n'y a absolument aucun mal à activer ou désactiver cette option.

Le désactiver n'ajoutera cependant aucune sécurité à votre site. Ces outils script-kiddie sont si stupides qu'ils ne se soucient jamais de distinguer une plate-forme d'une autre.

Sans oublier que si votre site est basé sur un framework/CMS, il est inutile de cacher la présence de PHP de toute façon.

3

Il n'y a aucune menace pour la sécurité, mais exposer une version obsolète de PHP peut être une invitation pour les pirates à essayer d'exploiter des "trous" bien documentés dans les versions précédentes.

En ce qui concerne les services tiers, ils sont indépendants de la plate-forme et ne devraient pas avoir à se soucier de la version de PHP que nous utilisons. Si nécessaire, nous pouvons définir simplement un en-tête vide ou comme ci-dessous.

header('X-Powered-By: Venu');
3
Venu Gopal Mopidevi