Aller au contenu

Vue d'ensemble

Le programme de monitoring (un petit service hébergé chez Cloudflare) observe les entreprises de l’extérieur, de façon passive : pas d’agent, pas d’accès aux systèmes du client, pas de scan actif des ports (ils viennent de Shodan, un moteur de recherche d’appareils connectés), pas d’exploitation. Un seul moteur sert trois usages : le monitoring continu des assurés, le flash scan pendant une offre et les instantanés de portefeuille des courtiers.

flowchart LR
    be["Backend<br/>Inqase"]
    api["Interface du<br/>monitoring"]
    cron["Tâches<br/>planifiées"]
    q["Files d'attente<br/>fuites, instantanés"]
    dlq["Files<br/>des échecs"]
    d1["Base de données<br/>du monitoring"]
    br["Rendu de<br/>pages web"]
    src["Sources de<br/>renseignement"]

    be -->|"appelle avec un jeton d'accès"| api
    cron -->|"déclenchent"| api
    api -->|"lit et écrit"| d1
    api -->|"publie"| q
    q -->|"livrent les tâches"| api
    q -->|"envoient les échecs"| dlq
    api -->|"rend les pages"| br
    api -->|"interroge"| src
    classDef status fill:#9ce6ff,stroke:#2c97bb,color:#1c4657
    classDef done fill:#b3e65f,stroke:#6f9a24,color:#2c4300
    classDef external fill:#e5e7eb,stroke:#9ca3af,color:#374151
    classDef problem fill:#ffb575,stroke:#b8742f,color:#5a2d00
    class be,api,cron,q,br status
    class d1 done
    class src external
    class dlq problem
  • Scanners et chaînes de traitement. Un scanner vérifie un type de risque sur un actif (domaine, sous-domaine ou adresse IP) sous forme de tâche en attente, avec une règle commune. Flux externes, fuites de données (IntelX), vulnérabilités et flash scan passent par des chaînes de traitement lancées par une tâche planifiée ou une file d’attente. Voir scanners et pipelines.
  • Constats. Seuls les scans et les chaînes de traitement en écrivent ; clients et admins ajoutent seulement une décision : « pris en compte » ou « exclu ».
  • Cycle de vie d’un client. suivi continu (assuré) ou instantané (prospect d’un courtier, limité dans le temps). Les deux lisent le même score.
Page Elle répond à
Scanners Quel scanner vérifie quoi, quand et avec quel repli
Sources de données D’où viennent les données, quelles clés, quels quotas
Planification Quels crons, files, délais, limites de débit et arrêts
Lancer et exploiter Installer, déployer, revenir en arrière, gérer un incident
  • Score. Il part de 100 et retire chaque type de constat une seule fois (haut 30, moyen 12, bas 4), quel que soit le nombre d’hôtes, plus une pénalité de surface logarithmique (rien jusqu’à 10 sous-domaines, plafonnée à 10 points). Niveaux : maîtrisé à partir de 75, modéré à partir de 45, élevé à partir de 20, sinon critique. Un constat non attribuable au domaine (adresse IP partagée, réseau de diffusion de contenu) alerte mais ne bouge jamais le score.

    Pourquoi : un score proportionnel au nombre de constats pénalisait les grandes entreprises et noyait un constat grave dans un gros parc.

  • Rapprochement des failles strict. Une faille publiée (CVE) n’est rattachée à un logiciel que si le produit correspond exactement. Voir rapprochement CPE strict. Un produit inconnu part en revue humaine et n’est jamais montré à un client.
  • Sondage de pages sensibles. Le scanner de pages sensibles tourne encore sur les prospects, ce que la règle juridique interdit. Voir pas de sondage de chemins sensibles.
  • Un seul fournisseur payant de fuites : IntelX, sous budget quotidien. Les adresses exposées sont conservées en clair pour le client, les mots de passe seulement masqués. Quotas : sources de données.
  • Garde-fous. Arrêt d’urgence, protection contre les requêtes vers des adresses internes (SSRF) et plafonds : voir planification. L’interface exige un jeton d’accès.
  • Le monitoring n’appelle jamais le backend : c’est le backend qui l’interroge. Le contrat complet est dans Vue d’ensemble du système.
  • Nœud de scan externe. Un nœud de scan séparé existe mais n’est pas actif en production. Voir scanners.
  • monitoring/wrangler.toml (liaisons, files, tâches planifiées, variables)
  • monitoring/src/pipelines/asset-scanners/ et monitoring/src/platform/lib/score.ts
  • backend/app/Services/Monitoring/MonitoringClient.php (côté backend du contrat)
  • La base du monitoring est-elle fixée sur la juridiction UE ? Le fichier de configuration ne le dit pas.
  • Le scan HTTP approfondi est-il abandonné ? Il est accepté comme capacité d’un nœud de scan et par la base, mais aucun scanner ne l’utilise.