Injections de fichier PHP : file uploads ON-OFF


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 

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, 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

Consultez aussi

Protection obligatoire WordPress xmlrpc.php

Nous protégeons déjà nativement/par défaut tous les sites wordpress des serveurs... Toutefois,...

Sécurité du fichier de configuration PHP

Ce devrait être une règle recommandée/connu de tout le monde... mais ce n'est pas le casVotre...

Sauvegarde et restauration de vos données

Restauration automatique (Vos données sont aussi sauvegardées intégralement sur un serveur...

Comment installer un certificat SSL

Avoir un site web en SSL à 100% est hautement recommandé :- un cadenas sans warning dans...

Sécurité de vos fichiers/scripts

Les versions PHP sont régulièrement mises à jour pour renforcer leur stabilité, performance, et...