Aller au contenu

Scanners

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.

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
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.

  • 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.

Découverte et réseau, Web, DNS et mail, Exposition et marque, Noeud de scan et inactifs.

  • 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.
  • monitoring/src/pipelines/asset-scanners/registry.ts et runner.ts
  • monitoring/src/transport/cron/scheduled.ts
  • monitoring/src/platform/db/jobs.ts
  • 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.
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