Sécurité de votre PrestaShop

Même si PrestaShop se targue d’être une solution sécuritaire, il y a tout de même quelques principes à suivre pour s’assurer de cette sécurité. En effet, lors du développement, on a tendance à ouvrir un certain nombre d’informations de débuggage, qui ne sont pas toujours bloquées lors de la mise en production. Il en est de même avec les modules tiers, qui peuvent introduire des failles de sécurité.

J’avais lu un article avant les années 2000 à propos de Windows NT (le prédecesseur de Windows Server). À l’époque, cet OS était jugé avec le plus haut niveau de sécurité… seulement lorsqu’il n’était pas connecté sur un réseau.

Un article publié aujourd’hui annonce une faille de sécurité dans Prestashop, mais selon moi, c’est plus un oubli des développeurs de ces sites. J’ai vérifié sur les installations récentes que j’ai déployé et aucun site n’est vulnérable.

Voici donc mes conseils :

* Protéger le dossier admin avec un fichier htaccess. Cela nécessite une double authentification, mais cela bloque certaines vulnérabilités (une personne ayant installé seule son Prestashop m’a contacté car un pirate russe avait réussi à uploader des fichiers sur une 1.4 grâce à la libraire ajaxfilemanager par exemple).

* Désactiver le display error, et les informations de debug dans le fichier config/defines.inc.php (en 1.5) :

define('_PS_MODE_DEV_', false);
@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);

* Désactiver la console Smarty dans le back office, section performances (1.5) : Console de débogage : Ne pas ouvrir la console

* Et surtout, évitez de vous connecter à votre backoffice depuis des Wifi publics, si vous n’avez pas de certificat SSL. Il en va de même pour vos accès FTP, ne pas les utiliser dans un espace public, sauf si vous vous connectez avec un FTP sécurisé (sinon les mots de passe circulent en clair et sont assez simples à récupérer).

Et vous, avez vous d’autres conseils à partager ?

 MAJ : en 1.4, la console de Debug est activée par défaut. Il faut modifier le fichier /config/smarty.config.inc.php pour la désactiver.

MAJ2: Prestashop vient aussi de publier ces conseils pour la sécurité.