Pourquoi contrôler les fichiers d’une boutique PrestaShop
Un attaquant qui a pris pied sur une boutique modifie souvent un fichier PHP existant plutôt que d’en créer un nouveau : le code ajouté se cache dans un fichier légitime. Il peut ainsi installer une porte dérobée, voler des données clients, détourner des paiements ou envoyer du spam depuis votre serveur. Comparer régulièrement vos fichiers aux originaux permet de repérer ces modifications avant qu’elles ne fassent des dégâts.
Ce que fait Sentinel
Sentinel calcule une empreinte de chaque fichier de votre installation et la compare, via le service Sentinel, à celle des fichiers officiels de votre version de PrestaShop. Les résultats sont rangés en trois sections, cœur, modules et thèmes, et chaque écart porte un statut :
- Modifié : le contenu diffère de l’original ;
- Inconnu : le fichier n’existe pas dans la version officielle ;
- Manquant : un fichier officiel a disparu.
Avant la comparaison, Sentinel ignore les différences d’espaces, de fins de ligne et d’indentation, qui provoqueraient de fausses alertes. Tout ajout de code reste détecté. Le bouton Voir le diff affiche les lignes ajoutées en vert et les lignes supprimées en rouge.
Pour un module dont Sentinel n’a pas la référence, vous pouvez comparer le module installé à son archive ZIP officielle. Un thème personnalisé peut être soumis à Sentinel pour être vérifié aux contrôles suivants. Enfin, des règles d’exclusion, modifiables depuis la configuration du module, écartent les dossiers qui n’appartiennent pas à PrestaShop, comme ceux des outils de développement.
Une fonctionnalité Sentinel Pro
Le contrôle d’intégrité fait partie de Sentinel Pro, à 29,90 € HT par mois et par installation, sans engagement. Il comprend 6 contrôles manuels par 24 heures, un contrôle quotidien automatique hors quota avec envoi du rapport par e-mail, l’historique des contrôles et des exports CSV, JSON et TXT. La version Free ne l’inclut pas : le détail est sur la page Free ou Pro.
Lancer un premier contrôle
- Installez Sentinel et activez Pro depuis le module.
- Ouvrez Sentinel > Vérification d’intégrité et cliquez sur Vérifier l’intégrité.
- Examinez chaque fichier signalé avec le diff. Si un dossier légitime remonte en Inconnu, ajoutez-le aux exclusions.
- Planifiez le contrôle quotidien dans Sentinel > Configuration, onglet Planification et alertes, et choisissez les destinataires du rapport.
La commande sentinel:integrity lance le même contrôle depuis le serveur, utile pour l’automatiser ou quand le back-office ne répond plus.
Ce que le contrôle d’intégrité ne fait pas
Sentinel signale les écarts : il ne restaure pas les fichiers et ne retire pas le code malveillant. Un module absent du dépôt Sentinel reste « non vérifié » tant que vous ne le comparez pas à son ZIP, et un thème déjà altéré au moment où vous le soumettez serait accepté tel quel. Sur une grosse installation, un contrôle peut prendre plusieurs minutes. Les sauvegardes et les mises à jour restent indispensables. Le scanner de vulnérabilités et le pare-feu applicatif complètent ce contrôle, l’un en signalant les failles connues, l’autre en bloquant les attaques.
