Sécurité et SSL
Restreindre des fonctions PHP sans casser l'application
PHP comprend des fonctions qui permettent d'exécuter des processus, d'ouvrir des connexions ou d'interagir avec le système. Certaines applications en ont besoin, d'autres non.
disable_functions peut réduire ce qu'un code PHP déjà exécuté est capable de faire, mais ne corrige pas une vulnérabilité et ne remplace ni les mises à jour, ni l'isolation, ni le moindre privilège, ni l'analyse d'une intrusion.
Dans cPanel > Select PHP Version > Options, cherchez disable_functions, si le sélecteur le permet. Vérifiez la version et la portée du réglage ; plusieurs sites peuvent partager cette configuration.
Ne supprimez pas la configuration existante et ne copiez pas une liste générique. Notez sa valeur actuelle et désactivez uniquement les fonctions dont vous avez vérifié que l'application n'a pas besoin. Comme point de départ pour une application qui n'exécute pas de processus système, vous pouvez évaluer une par une des fonctions comme :
exec,passthru,proc_open,shell_exec,system
N'incluez pas eval : c'est une construction du langage et disable_functions ne peut pas la désactiver. Ne désactivez pas non plus de fonctions réseau, de fichiers, de processus ou de journalisation sans vérifier d'abord les dépendances et les tâches planifiées de l'application.
Après chaque modification, vérifiez le fonctionnement complet des sites, des tâches planifiées et des processus de maintenance. Si une fonction est nécessaire, réactivez-la et appliquez un contrôle adapté dans une autre couche.
Testez séparément les requêtes web et les commandes en console, qui peuvent utiliser des configurations PHP différentes. N'essayez pas de modifier cette directive avec ini_set() dans l'application : PHP la traite comme une configuration système.
Depuis PHP 8, une fonction désactivée n'est plus définie et le code utilisateur peut en définir une autre portant ce nom. Elle ne doit donc pas être considérée comme une barrière d'isolation suffisante. La documentation de PHP en explique les limites.
Cela peut aussi vous aider
- Afficher un avis temporaire en remplaçant le fichier index Explique comment afficher une page temporaire en conservant l'index d'origine et prévient que cette...
- Empêcher d'autres sites d'intégrer vos fichiers : la protection hotlink Explique comment empêcher depuis cPanel que des domaines externes intègrent des images ou des fichie...
- Imunify360 : consulter les détections et comprendre ses limites Décrit les couches d'Imunify360 pour bloquer les attaques et les logiciels malveillants, les actions...
- ModSecurity : analyser les blocages et les faux positifs Explique comment le WAF bloque les requêtes au moyen de règles, comment analyser un faux positif et...
Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.