Injections de fichier PHP : file uploads ON-OFF

1

Cet article a vocation d'expliquer le rôle controversé et nécessaire de la variable du php.ini : file_uploads

Cette fonction est activée par défaut car c'est celle qui vous autorise à charger des images par exemple depuis votre interface d'administration, cela autorise aussi par formulaire de contact les utilisateurs à envoyer des images/fichiers, et selon votre CMS, les types de fichiers sont limités, ce qui est bien... Cette fonction est aussi utile pour quelques modules/scripts.

Mais, le problème est que malgré notre sécurité serveur qui stoppe 99% des attaques de types injections de fichiers PHP et SQL, il reste que quelques fichiers non identifié comme faille/infection arriveront à passer, et permettra à l'attaquant par exemple; à envoyer des mails depuis votre compte, et il existe aussi quelques autres types/objectifs de hacking dont le but est de prendre le contrôle de votre site avec injections de fichiers PHP en cascade/pyramide.
Un CMS bien conçu protège des injections, les sources de problèmes proviennent à 95% des thèmes et modules personnalisés. Il est crucial que ces derniers soient bien mis à jour... Enfin, optez pour un firewall local compatible avec votre CMS si possible, et réglez-le correctement.

Afin de ne pas causer de désagrément, nous ne pouvons pas mettre en OFF cette fonction sur tous les comptes, même si la menace est là sur quelques comptes, et elle n'est pas du tout générale....

Si vous voulez une sécurité optimale, et que vous n'avez pas besoin de la fonction file_uploads activé en permanence, mettez la en OFF de manière temporaire ou permanente depuis votre cPanel :

https://support.yoorshop.hosting/knowledgebase/115/Peut-on-personnaliser-le-fichier-phpini.html

NB :

  • Si vous êtes sous serveur Cloudlinux avec 'Selector PHP', la désactivation s’appliquera à tous les sites Web de votre compte cPanel. Pour "désactiver" cette fonction sur un seul site Web, passez à Nginx-PHP-FPM : https://support.yoorshop.hosting/knowledgebase/3931/Comment-configurer-un-site-avec-NGINX-PHP-FPM.html, et personnalisez le fichier php.ini du site concerné via l'éditeur MultiPHP ini, et ajoutez : file_uploads = off
  • - si file_uploads est OFF, cela n'empêche pas normalement les mises à jour de plugins et de votre CMS de fonctionner correctement
    - pour les sites wordpress, ce firewall est idéal : https://wordpress.org/plugins/ninjafirewall/ 
    - pour les sites prestashop, malgré qu'il soit assez bien sécurisé quand tout est à jour, il n'existe pas à notre connaissance de module firewall