Scanners
Flux d’un scan
Section intitulée « Flux d’un scan »Un scan est une tâche en attente dans la base du monitoring. Un déclencheur la crée, un exécuteur la prend, un scanner la réalise, puis les observations et les constats sont enregistrés.
flowchart LR
cron["Tâche planifiée<br/>balayages"]
api["Interface du monitoring<br/>onboarding, nouveau scan"]
snapq["File d'attente<br/>scans instantanés"]
flash["Demande de<br/>scan flash"]
jobs["Tâches de scan<br/>en attente"]
runner["Exécuteur<br/>prend une tâche"]
scan["Scanner<br/>dans le monitoring"]
br["Navigateur<br/>distant"]
node["Noeud de scan<br/>(inactif)"]
persist["Enregistrement<br/>des observations"]
find["Constats<br/>et note"]
cascade["Cascade<br/>de suivis"]
retry["Nouvelle tentative<br/>5 essais max"]
mem["Résultat en<br/>mémoire"]
cron -->|"programme"| jobs
api -->|"programme"| jobs
snapq -->|"vide"| runner
jobs -->|"priorité, ancienneté"| runner
runner -->|"lance"| scan
runner -->|"lance"| br
node -.->|"reprend"| jobs
scan -->|"transmet"| persist
br -->|"transmet"| persist
persist -->|"écrit"| find
persist -->|"déclenche"| cascade
cascade -->|"programme"| jobs
scan -->|"échec passager"| retry
retry -->|"recrée"| jobs
flash -->|"6 s, sans base"| mem
classDef action fill:#ffe86d,stroke:#a28e26,color:#574900
classDef status fill:#9ce6ff,stroke:#2c97bb,color:#1c4657
classDef done fill:#b3e65f,stroke:#6f9a24,color:#2c4300
classDef problem fill:#ffb575,stroke:#b8742f,color:#5a2d00
classDef external fill:#e5e7eb,stroke:#9ca3af,color:#374151
class cron,api,snapq,flash action
class runner,scan,br,cascade status
class jobs,persist,find,mem done
class retry problem
class node external
Le diagramme montre quatre entrées (tâche planifiée, interface, file instantanée, scan flash) vers une même file de tâches, et le seul chemin qui ne passe pas par la base : le scan flash.
L’exécuteur vérifie l’arrêt d’urgence avant chaque prise, ne traite que les actifs encore actifs, et trie par priorité puis ancienneté. Les tâches planifiées sont décrites sur Planification, les fournisseurs externes sur Sources.
Tableau des scanners
Section intitulée « Tableau des scanners »Le registre contient 15 scanners, tous exécutés par le monitoring lui-même, sauf la détection de technologies par navigateur (navigateur distant). Le 16e, l’analyse approfondie des pages, n’est plus déclenchée par rien.
| Scanner | Ce qu’il vérifie | Déclencheur | Statut |
|---|---|---|---|
| Découverte des sous-domaines | Sous-domaines, adresses présentant le certificat | 30 j, instantané, flash, onboarding | actif |
| Résolution des adresses | Adresses IP, DNSSEC, hôte disparu | suite de la découverte, instantané, flash, nouveau scan | actif |
| Protection du courrier | Messagerie, SPF, DMARC, DKIM, CAA | 7 j, instantané, flash | actif |
| Expiration du domaine | Expiration et âge du domaine | 30 j, instantané | actif |
| Sous-domaines détournables | Sous-domaine pointant vers un service réclamable | 7 j, instantané | actif |
| Ports ouverts et failles connues | Ports, services, failles connues, chiffrement faible | 7 j (02:45 UTC), nouveau scan | actif |
| Ports ouverts (version gratuite) | Ports et failles annoncées | instantané, flash | prospects seuls |
| Réputation des adresses IP | Abus, activité malveillante, sortie Tor | 7 j, instantané, flash | actif |
| Disponibilité et sécurité du site | Disponibilité, HTTPS, en-têtes, cookies | 7 j, instantané, flash | actif |
| Certificat du site | Certificat, expiration, révocation | 7 j, instantané, flash | actif |
| Technologies du site | Technologies et versions | 7 j, instantané, flash | actif |
| Technologies du site (navigateur) | Technologies visibles après exécution du site | escalade, mensuel, à la demande | sous conditions |
| Fichiers sensibles exposés | Fichiers de configuration, dépôt de code, pages d’administration | 7 j, instantané, flash | actif (réserve légale) |
| Stockages en ligne ouverts | Stockages cloud publics | 7 j, instantané, flash réduit | actif (écrit chez les prospects) |
| Noms imitant la marque | Domaines proches enregistrés | 1 j, instantané | actif |
| Analyse approfondie des pages | Scripts, liens, formulaires | aucun | inactif |
Modes de déclenchement
Section intitulée « Modes de déclenchement »| Mode | Scanners | Enregistré | Limite |
|---|---|---|---|
| Périodique (clients sous monitoring) | 14 scanners (sauf la version gratuite des ports) | oui | lots calibrés par passage |
| Instantané (prospects, lot courtier) | 13 scanners | oui, purgé après 30 jours | 45 min par cible, 180 min par lot |
| Flash (demandé par la plateforme) | 10 scanners | non | 6 s au total, refusé pendant l’arrêt d’urgence |
| À la demande (onboarding, nouveau scan) | selon le constat | oui | priorité 40 à 200 |
| Profond (technologies par navigateur) | escalade, mensuel | oui | 8 h de navigateur par mois |
Le scan flash ne lance ni l’expiration du domaine, ni les sous-domaines détournables, ni les ports ouverts, ni les noms imitant la marque, ni le navigateur. Les autres veilles (journaux de certificats, rançongiciels, failles publiées, fuites, réputation de domaine) n’ont pas de tâche de scan : voir Sources et Planification.
Règles communes à tous les scanners
Section intitulée « Règles communes à tous les scanners »- Reprises. Une erreur passagère recrée une tâche (priorité 30, compteur +1). Au sixième échec, la tâche reste en échec jusqu’à un succès. Une erreur définitive ou non classée passe en échec sans reprise : le prochain balayage la recrée.
- Tâche bloquée. Une tâche en cours depuis plus de 10 minutes repasse en attente (+1), puis en échec au sixième retour.
- Un scan par cible. Si plusieurs clients surveillent le même nom de site, le résultat est calculé une fois et enregistré pour chacun.
- Garde contre le détournement de requêtes (SSRF). Avant toute requête, le nom est résolu : un nom privé, réservé ou non résolu est refusé, pour qu’un scan ne puisse pas viser le réseau interne.
- Anti-battement. La panne du site et l’absence de certificat exigent deux échecs consécutifs ; ces deux constats ne se résolvent qu’après 9 heures de grâce.
- Premier passage. Un actif jamais scanné reçoit +50 de priorité.
- Politiques. Le suivi complet couvre tout. Le suivi instantané garde 25 sous-domaines et 6 cibles web, saute le navigateur et ne garde pas le détail brut de l’annuaire des domaines.
- Identité. Les requêtes sortantes se présentent comme « InqaseMonitoring » avec l’adresse du site Inqase ; la détection de technologies et le navigateur se présentent comme un navigateur ordinaire.
Pages par famille
Section intitulée « Pages par famille »Découverte et réseau, Web, DNS et mail, Exposition et marque, Noeud de scan et inactifs.
Règles et pièges
Section intitulée « Règles et pièges »- Deux scanners sondent activement des prospects. Les fichiers sensibles reçoivent 5 requêtes de lecture (instantané et flash). Les stockages en ligne reçoivent un fichier test écrit puis supprimé dans les stockages accessibles (instantané seulement). Voir Décisions.
- Clé présente seulement dans le coffre. L’ajout automatique de la réputation des adresses IP pour les prospects, et le scan flash, vérifient la clé déclarée comme secret de l’hébergeur, pas le coffre de clés : une clé présente uniquement dans le coffre laisse ce scanner éteint.
- Panne de résolution silencieuse. La résolution des adresses et la protection du courrier traitent une recherche DNS en échec comme « aucune donnée » : la tâche réussit sans reprise.
Où dans le code
Section intitulée « Où dans le code »monitoring/src/pipelines/asset-scanners/registry.tsetrunner.tsmonitoring/src/transport/cron/scheduled.tsmonitoring/src/platform/db/jobs.ts
Questions ouvertes
Section intitulée « Questions ouvertes »- Les prospects doivent-ils subir les fichiers sensibles et l’écriture dans les stockages en ligne ? Le code les exécute, la règle juridique citée dans Décisions les interdit.
Correspondance technique
Section intitulée « Correspondance technique »| Scanner | Identifiant technique |
|---|---|
| Découverte des sous-domaines | discovery |
| Résolution des adresses | dns_resolve |
| Protection du courrier | dns_extended |
| Expiration du domaine | whois |
| Sous-domaines détournables | subdomain_takeover |
| Ports ouverts et failles connues | port_scan |
| Ports ouverts (version gratuite) | internetdb |
| Réputation des adresses IP | ip_reputation |
| Disponibilité et sécurité du site | http |
| Certificat du site | ssl |
| Technologies du site | tech_stack |
| Technologies du site (navigateur) | tech_stack_browser |
| Fichiers sensibles exposés | sensitive_paths |
| Stockages en ligne ouverts | cloud_buckets |
| Noms imitant la marque | typosquat |
| Analyse approfondie des pages | deep_http |