Formation en Cybersécurité

Comment fonctionne le scanner de sécurité de Samaritain

scanner de vulnérabilité web et malware de samaritain

Vous avez entendu parler de scan.samaritain.io mais vous ne savez pas exactement ce qu’il analyse ? Dans cet article, je vous explique en détail comment fonctionne le scanner, ce qu’il vérifie sur votre site, comment est calculé votre score, et surtout, comment l’améliorer.

Le scanner est entièrement gratuit, sans inscription, et l’analyse dure entre 30 secondes et 2 minutes selon les sites.

Comment se déroule une analyse ?

Quand vous entrez l’URL de votre site, le scanner lance 13 modules d’analyse en parallèle, regroupés en 4 phases successives :

Phase 1 : Analyse de base : en-têtes HTTP, détection du CMS, technologies utilisées, DNS
Phase 2 : Analyse du contenu : recherche de malwares, contenus mixtes, robots.txt, fichiers exposés
Phase 3 : Vérification externe : Google Safe Browsing, VirusTotal, Mozilla Observatory
Phase 4 : Infrastructure : certificat SSL/TLS, ports ouverts

À la fin, vous obtenez un score de 0 à 100 et une note de A+ à F, avec le détail de chaque problème détecté et les recommandations pour les corriger.

Le système de notation : comment est calculé votre score ?

Le score global est une moyenne pondérée de 5 catégories :

CatégoriePoidsCe qu’elle mesure
Malwares & Listes noires35%Présence de malwares, blacklists Google et VirusTotal
SSL / TLS20%Qualité du certificat et du chiffrement
Headers de sécurité20%Configuration des en-têtes HTTP de sécurité
Configuration15%Fichiers sensibles exposés, ports ouverts
Bonnes pratiques10%CMS à jour, DNS, mixed content, robots.txt

Correspondance score / note :

NoteScoreSignification
A+95 – 100Excellente sécurité
A85 – 94Très bonne sécurité
B70 – 84Bonne sécurité
C55 – 69Des améliorations sont nécessaires
D40 – 54Risques de sécurité significatifs
F0 – 39Problèmes critiques à traiter d’urgence

Important : La catégorie Malwares fonctionne différemment. Si le moindre malware est détecté, la catégorie tombe à 0, quelle que soit la qualité du reste. C’est intentionnel : un site infecté reste dangereux même s’il a de bons headers HTTP.

Les 13 modules expliqués

1. En-têtes HTTP de sécurité

Ce module vérifie que votre serveur envoie les bons en-têtes de sécurité dans ses réponses HTTP. Ces en-têtes sont invisibles pour vos visiteurs, mais essentiels pour protéger leur navigateur.

Ce qui est vérifié :

Strict-Transport-Security (HSTS) : force les connexions HTTPS pendant au moins 1 an
Content-Security-Policy (CSP) : définit quelles ressources le navigateur est autorisé à charger
X-Content-Type-Options : empêche le navigateur de “deviner” le type de fichier
X-Frame-Options : protège contre le clickjacking (intégration de votre site dans une iframe malveillante)
Referrer-Policy, Permissions-Policy, COOP, CORP
Cookies : vérification des flags SecureHttpOnly et SameSite
Fuites d’informations : header Server ou X-Powered-By qui révèlent la technologie utilisée

2. Détection du CMS et vulnérabilités

Le scanner détecte automatiquement si votre site utilise WordPress, Joomla, Drupal, Magento, PrestaShop ou d’autres CMS.

Pour WordPress, il vérifie en plus :

La version installée (une version < 5.0 est critique)
Les plugins actifs et leur présence dans la base de plugins vulnérables connue
Le fichier readme.html exposé (qui révèle votre version)
Le thème utilisé

Plugins WordPress à risque connu :
RevSlider, WP File Manager, TimThumb, Easy WP SMTP, Duplicator, MailPoet… Si vous les utilisez, assurez-vous qu’ils sont à jour.

3. Technologies utilisées

Module informatif qui détecte les frameworks JavaScript (React, Vue, jQuery, Next.js…), les CDN (Cloudflare, AWS CloudFront…), les outils d’analytics (Google Analytics, Matomo…) et les serveurs web (Nginx, Apache, LiteSpeed…). Pas de score impacté, mais utile pour avoir une vue d’ensemble de l’empreinte technologique de votre site.

4. Analyse DNS

Vérifie la configuration de vos enregistrements DNS, en particulier pour sécuriser vos emails :

SPF (Sender Policy Framework) : définit quels serveurs sont autorisés à envoyer des emails en votre nom. Absent ou mal configuré (-25 points), votre domaine peut être usurpé pour du phishing.
DMARC : indique quoi faire avec les emails qui échouent la vérification SPF/DKIM. Sans DMARC, vous n’avez aucune visibilité sur les tentatives d’usurpation.

5. Détection de malwares (analyse du code source)

C’est le module le plus important. Il analyse le code HTML de votre page à la recherche de 11 types d’indicateurs de compromission :

Iframes cachées : des iframes avec display:none ou dimensions nulles, souvent utilisées pour charger du contenu malveillant
JavaScript obfusqué : eval(unescape(...))eval(atob(...))String.fromCharCode(...) : techniques classiques pour masquer du code malveillant
Mineurs de cryptomonnaie : CoinHive, CoinImp et autres scripts qui utilisent le navigateur de vos visiteurs pour miner
Redirections suspectes : location.replace() vers des domaines externes, redirections conditionnelles selon le user-agent ou le referrer
Payloads Base64 : atob() avec de longues chaînes encodées, technique utilisée pour masquer des scripts malveillants
Spam SEO par CSS : éléments cachés (font-size:0position:absolute hors écran) contenant des liens vers des sites de paris, pharmacie, adulte…
Mots-clés spam SEO : contenu injecté dans 4 catégories : casino/jeux, pharmacie, contenu adulte, arnaques financières
Liens externes suspects : liens vers des domaines de jeux, paris, pharmacie illégale, escortes, crypto-arnaques
Scripts externes suspects : scripts chargés depuis des domaines non reconnus avec des patterns malveillants
Backdoors PHP :  eval(base64_decode(...))$_GET ou $_POST utilisés pour exécuter du code : signes d’une backdoor installée par un attaquant
Discordance contenu/titre : quand du spam est détecté mais que le titre de la page semble normal, signe d’une injection discrète

6. Contenus mixtes (Mixed Content)

Si votre site est en HTTPS mais charge des ressources (images, scripts, iframes) en HTTP, les navigateurs peuvent bloquer le contenu ou afficher des avertissements de sécurité.

Mixte actif (scripts, iframes, objets) : sévérité haute, -30 points par ressource concernée
Mixte passif (images, vidéos, audio) : sévérité moyenne, -10 points par ressource

7. Robots.txt et Sitemap

Vérifie que votre fichier robots.txt n’est pas mal configuré et que votre sitemap est présent. Un Disallow: / bloque toute l’indexation par Google. Certaines mauvaises configurations exposent aussi des chemins sensibles (/admin/wp-admin).

8. Fichiers de configuration exposés

Teste l’accès à des fichiers qui ne devraient jamais être accessibles publiquement :

/.git/HEAD : expose votre dépôt Git et potentiellement tout votre code source (critique)
/.env : expose vos clés API, mots de passe, identifiants de base de données (critique)
/wp-config.php.bak ou .old : sauvegardes de la config WordPress avec les identifiants DB (critique)
/phpinfo.php : informations détaillées sur votre configuration PHP (haut)
/.htaccess/xmlrpc.php/composer.lock, etc.
Listing de répertoires (/uploads//images/…) : permet de lister tous vos fichiers

9. Google Safe Browsing

Vérifie si votre URL est référencée dans les listes de menaces de Google : malwares, phishing, logiciels indésirables, applications potentiellement dangereuses. Si votre site est listé, Chrome affichera une page d’avertissement rouge à vos visiteurs.

10. VirusTotal

Soumet votre URL à l’analyse de plus de 60 moteurs antivirus. Les résultats sont classés selon le nombre de détections :

1-2 détections : suspicion (moyen)
3-5 détections : probablement infecté (haut)
6+ détections : infecté (critique, score = 0)

11. Mozilla Observatory

Analyse indépendante de la configuration de vos en-têtes de sécurité HTTP par Mozilla. Complète le module d’en-têtes avec une note de A+ à F selon la grille d’évaluation de Mozilla.

12. SSL Labs (Qualys)

Analyse approfondie de votre configuration SSL/TLS par Qualys SSL Labs, référence mondiale en la matière. Vérifie :

La note globale (A+, A, B, C, D, F)
Les versions de protocole supportées (TLS 1.0 et 1.1 sont obsolètes)
L’expiration du certificat (alerte si < 30 jours)
La force des suites de chiffrement

13. Scan de ports

Teste si des ports sensibles sont accessibles depuis Internet sur votre serveur :

PortServiceRisque
3306MySQLCritique — base de données accessible publiquement
5432PostgreSQLCritique
27017MongoDBCritique
6379RedisCritique
21FTPHaut — protocole non chiffré
22SSHInfo — normal si vous administrez votre serveur

Comment améliorer votre score ?

Priorité 1 : Éliminer les problèmes critiques

Si votre score est F ou D, commencez par là :

Supprimez les fichiers exposés : .git.env, sauvegardes de wp-config.phpphpinfo.php. Vérifiez l’accès via votre navigateur ou demandez à votre hébergeur.
Fermez les ports de base de données : MySQL, PostgreSQL, MongoDB, Redis ne doivent jamais être accessibles depuis Internet. Configurez votre pare-feu pour n’autoriser l’accès qu’en local.
Mettez à jour votre CMS et vos plugins : les versions obsolètes sont la première cause de compromission des sites WordPress.
Si votre site est infecté : ne vous contentez pas de supprimer les fichiers malveillants visibles. Faites appel à un professionnel pour une assistance piratage site et un nettoyage complet.

Priorité 2 : Renforcer la configuration SSL/TLS

Pour obtenir un A+ sur SSL Labs :

Désactivez TLS 1.0 et TLS 1.1 (obsolètes depuis 2020)
Activez TLS 1.3
Vérifiez que votre certificat est valide et renouvelé avant expiration (Let’s Encrypt se renouvelle automatiquement si bien configuré)

Chez la plupart des hébergeurs mutualisés (OVH, o2switch, Infomaniak), ces paramètres sont gérables depuis le panneau de contrôle.

Priorité 3 : Ajouter les en-têtes de sécurité

C’est souvent le point qui fait la différence entre un B et un A. Ces en-têtes se configurent dans votre fichier .htaccess (Apache) ou dans la configuration Nginx :

Exemple pour Apache (.htaccess) :

Pour WordPress, des plugins comme Headers Security Advanced & HSTS WPHTTP Headers ou notre extension Samaritain Security permettent de configurer ces en-têtes sans toucher au code.

Priorité 4 : Sécuriser les emails (SPF et DMARC)

Ces enregistrements DNS se configurent chez votre registrar (OVH, Gandi, Cloudflare…) :

SPF minimal :

DMARC minimal :

Priorité 5 : Corriger les contenus mixtes

Recherchez dans votre thème ou vos articles WordPress les URL commençant par http:// et remplacez-les par https://. Le plugin Better Search Replace peut automatiser cette opération en base de données.

Priorité 6 : Optimiser robots.txt et sitemap

Créez un sitemap.xml si vous n’en avez pas (plugins Yoast SEO ou Rank Math le génèrent automatiquement)
Vérifiez que votre robots.txt ne bloque pas tout avec Disallow: /

Conclusion

Le scanner de sécurité de Samaritain vous donne en quelques minutes une vision claire de l’état de sécurité de votre site. Chaque problème détecté est accompagné d’une recommandation concrète pour le corriger.

Si vous obtenez une note C ou en dessous, commencez par les problèmes critiques et hauts. Si votre site affiche des signes d’infection (présence de malwares, contenu SEO spam), n’attendez pas : contactez-nous pour une assistance piratage — chaque heure compte quand un site est compromis.

Testez votre site maintenant → scan.samaritain.io

Adoptez les bons reflexes

Formez vous & votre équipe à la sensibilisation à la cybersécurité

Personnage IA