Réglages du scanner
Où démarre la machine éphémère qui lit les disques d'un compte, comment l'instance la joint, et ce qui est créé puis supprimé dans votre compte.
La lecture des disques crée une machine éphémère dans votre compte cloud (voir Sans agent). Par défaut, cette machine reçoit une adresse publique et l'instance Ctadel la joint en SSH. La section « Réseau du scanner de disques (facultatif) » de chaque compte permet de la placer dans un sous-réseau choisi, sans adresse publique, ou de la piloter par AWS Systems Manager. Cette page décrit ces réglages et ce qui est créé dans votre compte.
Où se trouve la section
Ouvrez « Paramètres », onglet « Intégrations », sous-onglet « Fournisseurs cloud », puis « Ajouter un compte » ou la modification d'un compte existant. La section est repliée tant que rien n'est réglé et affiche « Par défaut » ; une fois un champ renseigné, elle affiche « Personnalisé ». Son texte d'introduction : « Où s'exécute la VM temporaire qui lit les disques de ce compte. Laissez vide pour utiliser les réglages de la plateforme (adresse publique, SSH, sous-réseau choisi par le cloud). »
Les réglages sont propres à chaque compte cloud et ne contiennent aucun secret. La section n'apparaît que pour AWS, OUTSCALE et Google Cloud ; les champs diffèrent selon le cloud.
| Champ | AWS | OUTSCALE | Google Cloud |
|---|---|---|---|
| « Sous-réseau par région ou zone » | Oui | Oui | Non |
| « Adresse publique » | Oui | Oui | Oui |
| « Connexion » (SSH ou SSM), « Profil d'instance (SSM) », « Bucket d'artefacts (SSM, facultatif) » | Oui | Non | Non |
Un compte qui a ses propres réglages n'emprunte rien aux réglages par défaut de l'instance : un sous-réseau, un profil ou un bucket n'appartiennent qu'à un compte. Les champs laissés vides prennent les valeurs par défaut (adresse publique, SSH, sous-réseau choisi par le cloud).
Les champs
Sous-réseau par région ou zone
Une ligne par emplacement : « Région ou zone » (eu-west-3 ou eu-west-3a sur AWS, eu-west-2a sur OUTSCALE) et « ID du sous-réseau » (subnet- suivi de 8 ou 17 caractères hexadécimaux). Au moment d'un scan, la zone du volume est cherchée d'abord, puis sa région ; un emplacement sans ligne laisse le cloud choisir. La même région ou zone ne peut pas apparaître deux fois, et chaque ligne doit être complète.
Adresse publique
« Par défaut (publique) », « Adresse publique » ou « Adresse privée uniquement ». Avec une adresse privée, l'instance Ctadel joint la machine par son adresse interne : il faut un chemin réseau entre l'instance et votre VPC (peering, VPN, Direct Connect), sauf avec SSM. L'interface le rappelle : « Une adresse privée ou un sous-réseau privé exige un chemin réseau entre la plateforme Ctadel et ce VPC (peering, VPN, Direct Connect), sauf avec SSM. » Sur OUTSCALE, une adresse privée exige au moins un sous-réseau. Sur Google Cloud, le réseau et le sous-réseau sont ceux de la plateforme ; seul le choix de l'adresse externe est réglable par compte.
Connexion, profil d'instance et bucket d'artefacts (AWS)
« Par défaut (SSH) », « SSH » ou « AWS Systems Manager (SSM) ». Avec SSM, la machine est pilotée par Systems Manager Run Command : elle n'a besoin ni d'adresse publique, ni de règle entrante, ni de chemin privé vers l'instance ; son agent appelle les points de terminaison ssm, ssmmessages et ec2messages, publics ou par points de terminaison de VPC.
- « Profil d'instance (SSM) » : nom ou ARN d'un profil d'instance portant
AmazonSSMManagedInstanceCore. Obligatoire avec SSM ; le scan est refusé avant toute création si le profil manque. Le gabarit CloudFormation de Ctadel le crée avec l'optionEnableSSMTransport=true, qui accorde aussiiam:PassRoleetssm:SendCommandau rôle de scan. - « Bucket d'artefacts (SSM, facultatif) » : un bucket S3 de votre compte où le scanner et ses règles sont déposés, lus par URL présignée depuis la machine, puis supprimés en fin de scan. Sans bucket, le scanner est transmis par les commandes SSM elles-mêmes : cela fonctionne, mais l'envoi est lent.
Les valeurs sont vérifiées à la saisie et de nouveau par le serveur avant enregistrement ; un réglage invalide est refusé avec le message correspondant, par exemple « La connexion SSM exige un profil d'instance. »
Comment l'instance joint la machine
En SSH, le groupe de sécurité (AWS, OUTSCALE) ou la règle de pare-feu (Google Cloud) créé pour le scan n'ouvre le port 22 qu'à la plage de sortie de l'instance Ctadel, jamais à Internet. Cette plage est soit fixée par Ctadel à la configuration de l'instance, soit découverte automatiquement ; si elle ne peut pas être déterminée, le scan échoue plutôt que d'ouvrir le port. Sous SSM, rien n'entre : l'agent appelle vers l'extérieur.
À chaque scan, une paire de clés de connexion et une clé d'hôte SSH neuves sont générées. La machine les reçoit par ses données utilisateur au démarrage, et l'instance Ctadel refuse toute autre clé d'hôte : un intermédiaire entre l'instance et la machine ne peut pas se faire passer pour le scanner.
Ce qui est créé puis supprimé dans votre compte
| Cloud | Ressources créées pour un scan |
|---|---|
| AWS | Un instantané, un volume, une paire de clés importée, un groupe de sécurité, une instance Ubuntu 22.04 ; avec SSM et un bucket d'artefacts, des objets dans ce bucket |
| OUTSCALE | Un instantané, un volume, une paire de clés, un groupe de sécurité, une machine virtuelle |
| Google Cloud | Un instantané, un disque, une règle de pare-feu, une instance |
| Azure | Un groupe de ressources ctadel-scan-<région> avec son réseau virtuel, créés une fois par région s'ils n'existent pas ; puis, par scan, un instantané, un disque, un groupe de sécurité réseau, une machine virtuelle |
| Scaleway | Un instantané, un volume, un groupe de sécurité, une instance |
| OVHcloud | Un instantané, un volume, une instance ; aucune clé n'est enregistrée par l'API du cloud |
Tout est supprimé à la fin du scan, dans l'ordre inverse de la création, en cas de succès comme d'échec, d'annulation ou d'arrêt inattendu du scan. Les ressources sont marquées : étiquette ctadel-managed=true et nom ctadel-scanner-ephemeral sur AWS et OUTSCALE, libellé ctadel-managed=true sur Google Cloud et Azure, tags ctadel-scanner et ephemeral sur Scaleway, noms préfixés ctadel-snap-, ctadel-vol- et ctadel-scanner- sur OVHcloud. Un balayage, au plus une fois par heure et par compte, supprime les ressources ainsi marquées depuis plus de deux heures qu'un arrêt brutal aurait laissées. Ces ressources vous sont facturées par votre cloud le temps de leur existence. Les droits nécessaires sont décrits dans Droits demandés.
Limites
- Les réglages par compte n'existent que pour AWS, OUTSCALE et Google Cloud. Sur Azure, la machine démarre dans le groupe de ressources
ctadel-scan-<région>; sur Scaleway et OVHcloud, dans le projet ; ces emplacements ne sont pas réglables dans l'interface. - Le transport SSM n'existe que sur AWS.
- Sur Google Cloud, le réseau et le sous-réseau du scanner sont fixés pour toute l'instance par Ctadel ; un compte ne peut pas choisir le sien.
- Une adresse privée sans SSM suppose un chemin réseau entre l'instance Ctadel et votre VPC ; Ctadel ne le crée pas. Sans ce chemin, l'alternative est de ne pas accorder les droits de copie de disques (snapshots, volumes, machines éphémères ;
EnableDiskScanningàfalsedans le gabarit AWS) : le reste de l'inventaire continue de fonctionner, sans vulnérabilités, secrets, données ni HCR sur les disques des machines. - La machine de scan installe ses outils d'analyse depuis des dépôts publics et vérifie l'accès à Internet avant de lister les paquets ; dans un sous-réseau sans sortie, les vulnérabilités du disque ne sont pas évaluées.
- Les réglages s'appliquent au scan suivant ; un scan en cours garde son emplacement.
- Il n'y a pas de test de connectivité depuis l'interface : un sous-réseau inaccessible se voit à l'échec du scan.