Aller au contenu principal

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

  1. Collecte d'informations : Sentinel collecte des informations sur votre installation PrestaShop (version, modules installés, etc.)
  2. Envoi à l'API Sentinel : Les informations sont envoyées de manière sécurisée à l'API Sentinel
  3. Analyse : L'API compare votre installation avec sa base de données de vulnérabilités connues
  4. 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 :

  1. Connectez-vous à votre back-office PrestaShop
  2. Allez dans Modules > Sentinel > Security Scanner
  3. 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 :

  1. Vérifiez si une mise à jour du module est disponible
  2. Si oui, mettez à jour le module immédiatement
  3. 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

  1. Lancez un scan ou ouvrez un scan depuis l'historique
  2. Sur la carte de la vulnérabilité, cliquez sur Marquer comme corrigée
  3. Saisissez optionnellement un motif (ex : "Patch appliqué via .htaccess", "Contournement en place")
  4. 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 :

  1. Connectivité : Votre serveur peut-il accéder à Internet ?
  2. Configuration PHP : curl est-il activé ?
  3. 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" :

  1. Désinstallez le module Sentinel
  2. Réinstallez-le
  3. 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é