Contexte et précautions
Ce guide s’adresse aux propriétaires de boutiques et administrateurs techniques gérant PrestaShop 1.7 à 9. Les comportements, noms de fichiers et options peuvent varier selon la version : restez prudent et testez toujours les modifications sur un environnement de préproduction avant de toucher la production.
Sécuriser l’URL et l’accès au back-office
-
Changez l’URL par défaut /adminXXXX depuis le panneau de configuration si possible, ou renommez le dossier admin dans l’installation (attention aux règles d’autoloader et aux modules).
-
Limitez l’accès par adresse IP au niveau du serveur ou via un pare-feu applicatif. Pour des équipes distribuées, combinez restriction IP et VPN.
-
Configurez HTTPS strict (HSTS) et vérifiez que les cookies admin sont marqués Secure et HttpOnly.
Comptes employés et permissions minimales
-
Appliquez le principe du moindre privilège : créez des profils spécifiques pour les rôles (catalogue, commandes, support) et n’utilisez pas de compte admin pour les tâches quotidiennes.
-
Désactivez ou supprimez les comptes inactifs et changez les mots de passe des comptes dont l’employé quitte l’entreprise.
-
Mettez en place des règles de mot de passe fortes et un cycle de rotation raisonnable.
Authentification à deux facteurs (2FA)
-
Activez la 2FA pour tous les comptes administratifs. Privilégiez des méthodes basées sur TOTP (Google Authenticator, Authy) ou des clés matérielles FIDO2 lorsque possible.
-
Documentez la procédure de récupération des accès et stockez les codes de secours dans un coffre sécurisé.
Mises à jour et correctifs
-
Tenez PrestaShop, le thème, PHP, MySQL et les composants serveur à jour. Les mises à jour corrigent souvent des vulnérabilités critiques.
-
Testez les mises à jour sur un environnement de staging et automatisez les sauvegardes avant tout déploiement en production.
Sélection, audit et retrait des modules
-
N’installez que des modules provenant de sources vérifiées : PrestaShop Addons, développeurs reconnus ou sources contrôlées.
-
Audit initial : examinez le code, les autorisations requises, les hooks utilisés et les fichiers modifiés à l’installation.
-
Retrait sécurisé : désactivez d’abord le module, exportez les données éventuelles, supprimez les fichiers et vérifiez la base de données pour les tables ou champs résiduels.
-
Méfiez-vous des modules abandonnés : remplacez ou mettez en quarantaine les extensions sans support actif.
Sauvegardes et plan de reprise
-
Planifiez des sauvegardes régulières et automated : fichiers + base de données. Conservez des copies hors site et testez régulièrement la restauration.
-
Conservez au moins trois points de restauration (quotidien, hebdomadaire, mensuel) selon l’activité de la boutique.
Journaux et détection d’anomalies
-
Activez et centralisez les logs (serveur web, PHP-FPM, PrestaShop si disponible). Archivez et protégez les journaux.
-
Surveillez les connexions admin, les modifications de modules, les uploads de fichiers et les changements de fichiers sur disque.
-
Déployez des alertes pour activités suspectes : nombreuses tentatives de connexion, modification inattendue de fichiers, créateurs de comptes massifs.
Fichiers modifiés et intégrité
-
Utilisez des outils d’intégrité (hashing, checksum) pour surveiller les fichiers critiques : controllers, classes, override, templates.
-
Lorsqu’un fichier est modifié sans justification, isolez le site (mode maintenance), restaurez depuis sauvegarde et lancez une enquête.
Plan de maintenance et rôles
-
Documentez un plan incluant : mises à jour, tests, sauvegardes, rotation des clés, audits réguliers des modules et revue des accès.
-
Déléguez et formez des points de contact : Dev, Ops, Support, et prévoyez une procédure d’escalade vers des professionnels en cas d’incident.
Checklist pratique
-
Changer URL admin et limiter IP
-
Activer HTTPS et HSTS
-
Mettre en place 2FA pour tous les comptes admin
-
Appliquer le moindre privilège aux employés
-
Tenir PrestaShop et PHP à jour
-
Auditer et supprimer les modules non fiables
-
Sauvegardes automatisées et tests de restauration
-
Centraliser et surveiller les logs
-
Vérifier l’intégrité des fichiers
-
Documenter le plan de maintenance
Conclusion
La sécurité d’une boutique PrestaShop repose sur des mesures préventives et sur l’organisation : contrôles d’accès, gestion prudente des modules, sauvegardes régulières et surveillance active. En cas de doute ou d’incident, faites appel à des équipes spécialisées. Securantis peut être intégré comme une couche de protection et d’accompagnement, mais aucune solution n’offre une sécurité absolue.
