Premier inventaire
Ce qui démarre à l’enregistrement d’un compte, les phases d’un scan complet, son suivi dans l’application et ce que la copie de disques écrit dans votre compte.
Un scan complet rafraîchit l’inventaire de tous vos comptes, évalue les règles sur le graphe, puis lance les analyses de contenu qui lisent les disques, les buckets, les bases et les clusters. Cette page décrit ce qui se passe entre l’enregistrement d’un compte et les premiers constats.
Ce qui démarre à l’enregistrement d’un compte
Dès que vous enregistrez un compte cloud, l’application demande sa synchronisation : le compte passe en état de synchronisation et le collecteur de ce cloud lit son inventaire. Les ressources apparaissent dans la page Inventaire et dans le graphe. C’est un inventaire seul : l’évaluation des règles et les analyses de contenu attendent le prochain scan complet.
Un scan complet se lance de deux façons :
- à la main, dans « Paramètres », onglet « Général », bloc « Scan complet », bouton « Scanner maintenant » ;
- automatiquement : « Scan automatique » est activé par défaut et « Fréquence de scan » vaut 24 heures par défaut. Ctadel lance un scan complet dès que le dernier date de plus que cette fréquence.
Les phases d’un scan complet
Un seul scan complet tourne à la fois, qu’il soit lancé à la main ou planifié. Chaque exécution est enregistrée avec sa source, sa phase, son avancement, son avertissement éventuel et ses dates.
| Phase | Libellé affiché | Ce qui se passe |
|---|---|---|
| Inventaire | « inventaire {done}/{total} comptes » | Tous les comptes activés sont resynchronisés par leurs collecteurs. Ctadel attend leur fin pendant 10 minutes au plus. |
| Évaluation | « évaluation des règles » | Les règles de configuration actives sont exécutées sur le graphe. |
| Lancement des analyses | « envoi aux workers » | Les analyses de contenu démarrent : volumes, buckets, bases de données, clusters Kubernetes, fonctions et conteneurs serverless, ainsi que les phases de détection sur journaux. |
| Terminé | « Scan terminé » | L’exécution est close. Les constats des analyses de contenu continuent d’arriver pendant quelques minutes. |
Ce que chaque analyse produit :
| Analyse | Scanner | Ce qui en sort |
|---|---|---|
| Volumes | Copie de disques | Paquets installés (confrontés ensuite à la base NVD), secrets, données sensibles, conformité des systèmes (HCR) sur la copie. |
| Buckets | Objets | Données sensibles et secrets dans les objets. |
| Bases de données | Bases | Données sensibles dans une copie temporaire de la base. |
| Kubernetes | Kubernetes | Configuration du cluster (KSPM) et images des pods. |
| Serverless | Serverless | Secrets et dépendances des fonctions et conteneurs. |
| Journaux d’audit, exécution Kubernetes, journaux de flux | Audit | Détection d’événements : en validation interne, non disponible pour les clients. |
Les identifiants de vos comptes sont transmis chiffrés (AES-256-GCM) aux scanners, à l’intérieur de votre instance ; ils ne circulent jamais en clair.
Suivre l’avancement
Dans l’en-tête de l’application, une pastille « Scan en cours » affiche la phase et, pendant l’inventaire, le nombre de comptes synchronisés. L’application rafraîchit cet état d’elle-même. À la fin, la pastille passe à « Scan terminé » ou « Scan terminé avec avertissements », et un message « Scan complet terminé » propose « Voir les findings ».
Le bloc « Scan complet » de « Paramètres », onglet « Général », reprend ces informations avec, pour chaque compte, son nombre de ressources, la date de sa dernière synchronisation ou « jamais synchronisé », la mention « désactivé » le cas échéant, et sa dernière erreur. Tant qu’aucun scan n’a tourné, il affiche « Aucun scan complet n’a encore tourné. »
Un avertissement n’arrête pas le scan. Il est conservé avec l’exécution : par exemple « inventory timeout after 10min » suivi du nombre de comptes synchronisés, quand un collecteur n’a pas fini dans le délai ; le scan continue alors avec l’inventaire courant.
Lancer un scan à la demande
Le bouton « Scanner maintenant » demande un scan complet. La réponse arrive tout de suite, le scan tourne en arrière-plan. Si un scan complet est déjà en cours, l’application affiche « Un scan complet est déjà en cours. » ; en cas d’autre échec, « Impossible de lancer le scan. »
Le courriel de fin et les notifications
À la fin de chaque scan complet, Ctadel émet un événement de type scan, de sévérité basse, intitulé « Full scan completed » suivi de la source, vers les canaux de notification dont la règle accepte ce type. Il détaille le nombre de comptes synchronisés et l’avertissement éventuel.
Le réglage « Email à la fin d’un scan complet », désactivé par défaut, envoie en plus un courriel à chaque administrateur global, dans sa langue : « [Ctadel] Scan complet terminé », avec le nombre de comptes synchronisés, l’avertissement éventuel et un bouton vers les constats.
Ce que la copie de disques écrit dans votre compte
Pour lire un disque, le scanner de disques crée des ressources éphémères dans votre compte, dans cet ordre, puis les libère dans l’ordre inverse, que la lecture ait réussi, échoué ou été interrompue :
- un instantané du volume ;
- un volume de travail créé depuis cet instantané ;
- sur AWS, un groupe de sécurité dédié
ctadel-scanner-<suffixe>; - une machine virtuelle de scan, nommée
ctadel-scanner-ephemeral, à laquelle le volume de travail est attaché.
Le volume est détaché avant l’arrêt de la machine, puis la machine, le volume, l’instantané et le groupe de sécurité sont supprimés. Au scan suivant du compte, le scanner de disques supprime ce qu’un incident aurait laissé depuis plus de deux heures ; ce balayage n’a lieu qu’au moment d’un scan, quand il détient les identifiants du compte.
| Cloud | Machine de scan |
|---|---|
| AWS | c5.large |
| Azure | Standard_D2s_v3 |
| Google Cloud | e2-standard-2 |
| Scaleway | PLAY2-MICRO |
| OVHcloud | d2-2 |
| OUTSCALE | tinav5, 2 vCPU et 4 Gio par défaut |
La machine reçoit par ses données utilisateur une clé de connexion et sa propre clé d’hôte SSH, générées par le scanner de disques pour ce scan ; il refuse toute autre clé d’hôte. Par défaut elle reçoit une adresse publique, et le groupe de sécurité AWS n’autorise le port 22 que depuis la plage de sortie de votre instance Ctadel ; si cette plage ne peut pas être déterminée, le scan échoue plutôt que d’ouvrir le port. La section « Réseau du scanner de disques (facultatif) » de chaque compte permet d’épingler un sous-réseau, de refuser l’adresse publique, ou sur AWS de passer par Systems Manager sans aucune règle entrante.
Les règles de conformité des systèmes sont évaluées sur cette copie, dans votre compte : votre instance Ctadel ne se connecte jamais à vos serveurs. Les contrôles qui exigent un système en marche sont rapportés comme ignorés, avec le motif.
Le scanner de bases procède de même : une copie temporaire de la base est créée, lue, puis supprimée.
Limites
- L’attente de l’inventaire est plafonnée à 10 minutes ; au-delà, le scan continue avec l’inventaire courant et l’exécution porte un avertissement.
- L’exécution est close dès le lancement des analyses de contenu : le panneau ne suit pas l’avancement de chaque analyse de contenu, et un disque ou un cluster long à lire livre ses constats après « Scan terminé ».
- Les bases de données ne sont lues que sur AWS, Google Cloud et Scaleway, pour les moteurs PostgreSQL hors Aurora. Les bases Azure SQL et OVHcloud ne sont pas lues ; seule leur posture l’est.
- Un cluster connecté uniquement par kubeconfig, sans compte cloud derrière, n’est pas repris par le scan complet ; voir Connecter un cluster Kubernetes.
- La copie de disques exige des droits d’écriture (création et suppression d’instantanés, de volumes, de machines, de paires de clés et de groupes de sécurité) ; la copie de bases aussi (instantané, instance temporaire, suppression). Un accès limité à la lecture garde l’inventaire, la configuration et la lecture des buckets, et renonce à la lecture des disques et des bases.
- Les phases de détection sur journaux d’audit, exécution Kubernetes et journaux de flux sont en validation interne, non disponibles pour les clients.
- Une machine de scan sans adresse publique suppose un chemin privé entre votre instance et votre réseau, ou le transport Systems Manager sur AWS.