Scanner de vulnérabilités
Le scanner de vulnérabilités Sentinel analyse votre installation PrestaShop pour détecter les vulnérabilités connues dans vos modules et le core PrestaShop.
Comment ça fonctionne
- Collecte d'informations : Sentinel collecte des informations sur votre installation PrestaShop (version, modules installés, etc.)
- Envoi à l'API Sentinel : Les informations sont envoyées de manière sécurisée à l'API Sentinel
- Analyse : L'API compare votre installation avec sa base de données de vulnérabilités connues
- Rapport : Un rapport détaillé est généré avec les vulnérabilités trouvées, classées par niveau de criticité
Accéder au scanner
Via le Back-Office
Pour accéder au scanner de vulnérabilités depuis le back-office :
- Connectez-vous à votre back-office PrestaShop
- Allez dans Modules > Sentinel > Security Scanner
- Cliquez sur le bouton Lancer un scan
Via la ligne de commande
Vous pouvez également lancer des scans de sécurité depuis la ligne de commande, ce qui est utile pour l'automatisation, les tâches cron, ou lorsque le back-office n'est pas disponible.
Lancer un scan de sécurité :
php bin/console sentinel:scan
Voir l'historique des scans :
php bin/console sentinel:scan --history
Sortie en JSON (pour l'automatisation) :
php bin/console sentinel:scan --json
La commande affiche les vulnérabilités groupées par sévérité (Critical, High, Medium, Low) avec :
- Identifiant CVE et score CVSS
- Date de publication
- Composants et versions affectés
- Liens de référence
Niveaux de criticité
Les vulnérabilités sont classées en 4 niveaux de criticité :
Critical (Critique)
Vulnérabilités critiques qui doivent être corrigées immédiatement. Elles permettent généralement :
- L'exécution de code à distance (RCE)
- L'injection SQL permettant un accès complet à la base de données
- Le contournement complet de l'authentification
Action recommandée : Correction immédiate (dans les 24h)
High (Élevé)
Vulnérabilités importantes qui peuvent compromettre la sécurité de votre site :
- Injection SQL avec accès limité
- Cross-Site Scripting (XSS) permettant le vol de sessions admin
- Upload de fichiers non contrôlé
Action recommandée : Correction dans les 7 jours
Medium (Moyen)
Vulnérabilités qui nécessitent une attention mais ne compromettent pas immédiatement le site :
- XSS reflété simple
- Divulgation d'informations sensibles
- Contournement de restrictions d'accès
Action recommandée : Correction dans les 30 jours
Low (Faible)
Vulnérabilités mineures ou nécessitant des conditions spécifiques :
- Divulgation d'informations non sensibles
- Problèmes de configuration mineurs
Action recommandée : Correction lors de la prochaine maintenance
Historique des scans
Le scanner conserve un historique de tous les scans effectués. Pour chaque scan, vous pouvez voir :
- Date et heure du scan
- Nombre total de vulnérabilités détectées
- Répartition par criticité : nombre de vulnérabilités critical, high, medium et low
- Détails du scan : cliquez sur un scan pour voir le rapport complet
Informations collectées
Sentinel collecte uniquement les informations nécessaires à l'analyse de sécurité :
{
"prestashop_version": "8.1.0",
"php_version": "8.1.0",
"modules": [
{
"name": "ps_emailsubscription",
"version": "2.6.1",
"active": true
}
]
}
Aucune donnée client ou transaction n'est collectée.
Que faire après un scan ?
1. Prioriser les corrections
Commencez par les vulnérabilités Critical et High.
2. Mettre à jour les modules vulnérables
Pour chaque vulnérabilité détectée :
- Vérifiez si une mise à jour du module est disponible
- Si oui, mettez à jour le module immédiatement
- Si non, désactivez le module en attendant une correction
3. Mettre à jour PrestaShop
Si des vulnérabilités concernent le core PrestaShop, planifiez une mise à jour de PrestaShop.
4. Désactiver les modules non utilisés
Si un module vulnérable n'est pas utilisé, désactivez-le et supprimez-le.
5. Re-scanner après correction
Après avoir corrigé les vulnérabilités, lancez un nouveau scan pour confirmer que tout est résolu.
Marquer une CVE comme corrigée manuellement
Si vous avez appliqué un correctif manuel (patch, contournement, modification de configuration) sans mettre à jour la version du module, vous pouvez marquer la CVE correspondante comme corrigée. Elle est alors exclue du décompte de vulnérabilités actives et déplacée dans un onglet dédié CVEs corrigées.
Marquer une CVE comme corrigée
- Lancez un scan ou ouvrez un scan depuis l'historique
- Sur la carte de la vulnérabilité, cliquez sur Marquer comme corrigée
- Saisissez optionnellement un motif (ex : "Patch appliqué via .htaccess", "Contournement en place")
- Cliquez sur Confirmer
La CVE est déplacée vers l'onglet CVEs corrigées, qui affiche :
- Qui l'a marquée comme corrigée et quand
- Le motif renseigné (le cas échéant)
Ce statut est stocké côté serveur et persiste pour tous les scans futurs : la CVE apparaîtra toujours dans l'onglet CVEs corrigées tant que l'override est actif.
Retirer la correction
Si la situation change (nouvel exploit découvert, contournement supprimé), cliquez sur Retirer la correction depuis l'onglet CVEs corrigées. La CVE réapparaît immédiatement dans son onglet de sévérité.
Portée de l'override
L'acknowledgement est lié à votre clé de licence (votre instance), et non à un scan spécifique. Il s'applique rétroactivement à tous les scans consultés pour cette instance.
Exporter les résultats
Vous pouvez exporter les résultats d'un scan dans trois formats : CSV, JSON et TXT.
Depuis le Back-Office
Après avoir lancé un scan ou consulté un scan depuis l'historique, un bouton déroulant Exporter les résultats apparaît dans la zone des résultats. Cliquez dessus et sélectionnez le format souhaité :
- CSV : Fichier séparé par des points-virgules avec une ligne par composant affecté, adapté aux tableurs
- JSON : Données structurées incluant le résumé et tous les détails des vulnérabilités
- TXT : Rapport texte lisible organisé par niveau de sévérité
Le fichier est téléchargé immédiatement par votre navigateur.
Depuis la ligne de commande
Utilisez l'option --json pour obtenir les résultats au format JSON, que vous pouvez rediriger vers un fichier :
php bin/console sentinel:scan --json > scan-report.json
Fréquence recommandée
- Minimum : 1 scan par mois
- Recommandé : 1 scan par semaine
- Après : Chaque installation/mise à jour de module
API Sentinel
Le scanner communique avec l'API Sentinel. Cette API :
- Maintient une base de données à jour des vulnérabilités PrestaShop
- Analyse votre installation de manière sécurisée
- Ne stocke aucune information personnelle ou commerciale
Authentification
Le scanner utilise une clé API générée automatiquement lors de l'installation du module. Cette clé est stockée dans la configuration PrestaShop et utilisée pour authentifier les requêtes vers l'API.
Résolution des problèmes
Le scan échoue
Si le scan échoue, vérifiez :
- Connectivité : Votre serveur peut-il accéder à Internet ?
- Configuration PHP :
curlest-il activé ? - Réseau : L'API Sentinel n'est-elle pas bloquée par votre réseau ou la configuration de votre serveur ?
Clé API manquante
Si vous voyez l'erreur "SENTINEL_API_KEY is not configured" :
- Désinstallez le module Sentinel
- Réinstallez-le
- La clé API sera automatiquement générée
Sécurité et confidentialité
- Chiffrement : Toutes les communications avec l'API Sentinel utilisent HTTPS
- Données minimales : Seules les informations nécessaires au scan sont transmises
- Pas de tracking : Sentinel ne collecte aucune donnée de navigation ou de comportement
- RGPD compliant : Aucune donnée personnelle n'est transmise ou stockée
Suivant : Logs de sécurité