Architecture de sécurité

Surveiller les certificats sans gérer les clés privées

Nocert surveille les certificats sur les points de terminaison publics ainsi que dans les réseaux, systèmes de fichiers et clusters Kubernetes que vous autorisez Sentinel à analyser. Nocert n’émet, ne renouvelle, ne déploie ni ne révoque ces certificats. Il n’assure pas la terminaison du trafic TLS et ne demande ni ne conserve leurs clés privées.

Limite de données Sentinel

Ce que Sentinel envoie à Nocert

Sentinel est un agent sous licence Apache-2.0 qui s’exécute sur votre infrastructure. Son code source complet est publié, afin que vous puissiez l’examiner avant de l’exécuter. Il envoie à Nocert les données des certificats et les métadonnées nécessaires pour localiser chacun d’eux. Selon les analyses que vous activez, celles-ci peuvent comprendre des chemins de fichiers, des adresses internes et des noms d’objets Kubernetes.

Reste sous votre contrôle

Clés privées des certificats surveillés, clé privée de signature de Sentinel et identifiants Kubernetes

Contenu des rapports

Ce que Nocert reçoit des analyses activées

Données de certificat
Certificat au format DER, son empreinte SHA-256 et les empreintes de la chaîne présentée.
Détails du point de terminaison et de TLS
Adresse IP, port, valeur SNI facultative, version TLS, suite cryptographique, groupe négocié et agrafage OCSP. Les protocoles pris en charge et l’énumération des suites cryptographiques sont inclus lorsque ces vérifications sont exécutées.
Métadonnées du système de fichiers et de Kubernetes
Les rapports sur le système de fichiers peuvent inclure les chemins des certificats et des avertissements concernant les droits des fichiers de clé privée. Les rapports Kubernetes peuvent inclure le cluster, l’espace de noms, l’objet et le champ de données contenant le certificat. L’état de l’analyse est inclus afin que Nocert puisse rapprocher les changements d’inventaire.
Champs exclus

Sentinel ne signale pas

  • Octets des clés privées des certificats et clé privée de signature de Sentinel
  • Informations d’identification Kubernetes, contenu de kubeconfig et données de clé privée telles que tls.key
  • Contenu des fichiers autres que les certificats, identifiants des services analysés et charges utiles des applications
Comment Sentinel s’authentifie auprès de Nocert Après son inscription à l’aide d’un jeton, Sentinel signe avec Ed25519 les requêtes de récupération des tâches, les rapports et les rotations de clés

Pour s’inscrire, Sentinel envoie un jeton émis par l’organisation et sa clé publique. Il peut également envoyer son nom d’hôte, son système d’exploitation, son architecture, sa version, son adresse IP principale détectée localement et les sous-réseaux de ses interfaces non virtuelles.

Après l’inscription, Sentinel utilise Ed25519 et la RFC 9421 pour signer les requêtes de récupération des tâches, les rapports et les rotations de clés. Nocert identifie l’organisation et Sentinel à partir de la clé authentifiée, rejette les nonces rejoués et ajoute un horodatage côté serveur aux observations acceptées.

Opérations de certificat

Nocert n’intervient ni dans le cycle de vie des certificats ni dans le chemin TLS

Nocert n’émet, ne renouvelle, ne déploie ni ne révoque vos certificats et n’assure pas la terminaison de votre trafic TLS. Si Nocert est indisponible, vos services continuent à fournir leurs connexions TLS.

Si le service Nocert était compromis, un attaquant pourrait accéder aux données de l’espace de travail et déclencher tout type d’analyse autorisé dans la configuration locale de Sentinel. Sentinel ne fournit aucun accès shell et n’écoute aucune connexion entrante. Vous pouvez désactiver chaque type d’analyse localement.

Conception du système

Authentification, analyse et isolation des locataires

Nocert est proposé sous la forme d’un service hébergé dans l’UE. Avec un déploiement Custom auto-hébergé, vous exécutez l’application et l’analyseur de certificats dans votre environnement.

Chaque requête de Sentinel adressée à Nocert est authentifiée Sentinel n’accepte aucune connexion entrante. Après son inscription, il signe chaque requête adressée à Nocert.

Sentinel n’accepte aucune connexion entrante. Il s’inscrit à l’aide d’un jeton valable pour toute l’organisation. Ce jeton est réutilisable, afin qu’un parc d’agents puisse s’inscrire automatiquement à partir d’une même image. Chaque instance de Sentinel génère ensuite sa propre paire de clés Ed25519 en local et n’en transmet jamais la partie privée. Après l’inscription, elle utilise Ed25519 et la RFC 9421 pour signer les requêtes de récupération des tâches, les rapports et les rotations de clés ; le jeton d’inscription ne sert plus à l’authentifier. Vous pouvez renouveler à tout moment le jeton de l’organisation : le précédent est immédiatement invalidé, sans perturber les instances de Sentinel déjà inscrites.

La vérification du domaine étend les possibilités de découverte publique Un domaine reste non vérifié tant que vous n’avez pas publié un enregistrement DNS TXT dans une zone que vous contrôlez. La vérification autorise de nouvelles interrogations des jeux de données de sous-domaines, les importations depuis des connecteurs DNS et les points de terminaison ajoutés manuellement.

Lors de la création d’une organisation, Nocert lance une analyse publique unique du domaine situé après le signe @ dans l’adresse e-mail professionnelle que vous confirmez au moyen du code à usage unique. Le domaine saisi sur le site marketing est transmis à l’inscription et préremplit ce champ d’adresse e-mail professionnelle ; il n’est pas choisi séparément comme cible d’analyse. Un premier parcours des jeux de données publics de noms d’hôte fournit les cibles initiales. L’analyse ne contacte ensuite que les hôtes rattachés au domaine de l’adresse e-mail confirmée, depuis l’Internet public et sur des ports TLS, comme pourrait le faire tout observateur. Les hôtes ainsi observés sont réanalysés par la suite, et les noms d’hôte SAN appartenant au même domaine sont suivis. Pour étendre ce périmètre, une preuve de contrôle est nécessaire : toute nouvelle interrogation des jeux de données de sous-domaines, toute analyse de noms d’hôte importés depuis un connecteur DNS et tout ajout manuel de point de terminaison attendent que vous publiiez un jeton de vérification sous la forme d’un enregistrement TXT nocert-verify dans une zone que vous contrôlez. Seule une personne qui contrôle cette zone peut effectuer cette opération. La connexion au compte et la réinitialisation du mot de passe utilisent des codes à usage unique envoyés par e-mail et valables 20 minutes. L’authentification multifacteur TOTP est facultative.

Le parsing des certificats est isolé dans un bac à sable Le certificat DER est analysé dans des processus nsjail de courte durée et aux ressources limitées.

Nocert analyse les données DER du certificat dans des sous-processus nsjail éphémères. Chaque processus dispose de ses propres espaces de noms réseau, utilisateur, montage et PID. La création de sockets est bloquée, /proc n’est pas monté, et des limites sont imposées au processeur, à la mémoire, au nombre de processus et aux fichiers produits. Dans un déploiement Custom auto-hébergé, l’application et l’analyseur de certificats s’exécutent sur l’infrastructure que vous contrôlez.

Nocert sépare les données de chaque organisation Nocert détermine l’organisation à partir de la session et utilise des index de recherche distincts pour chacune.

Nocert détermine l’organisation à partir de la session authentifiée. Il utilise des index Elasticsearch distincts pour chaque organisation et restreint les requêtes PostgreSQL à cette même organisation.

Vous contrôlez ce que Sentinel peut scanner Les analyses réseau, du système de fichiers, par écoute locale et Kubernetes peuvent être désactivées indépendamment.

Vous pouvez désactiver indépendamment les analyses réseau, du système de fichiers, par écoute locale et Kubernetes. Le service Linux empaqueté s’exécute sous un compte dédié non privilégié, sans aucune capacité Linux, avec une unité systemd renforcée. Les analyses du système de fichiers sont limitées par les droits du compte de service de Sentinel. Vous fournissez les identifiants et les autorisations RBAC en lecture seule utilisés pour l’analyse Kubernetes.

Déploiement hébergé

Contrôles pour le service hébergé

Identités et accès Argon2id, TOTP, cookies de session sécurisés, rôles et OpenID Connect.
Mots de passe et MFA
Les mots de passe sont protégés avec Argon2id. Des codes à usage unique basés sur le temps sont disponibles pour l’authentification multifacteur.
Sessions
Les déploiements HTTPS utilisent des cookies de session __Host- réservés à l’hôte, avec les attributs Secure, HttpOnly et SameSite=Strict. Le cookie d’état de courte durée OIDC utilise SameSite=Lax pour les rappels du fournisseur d’identité.
Rôles et SSO
Les routes de l’application appliquent les autorisations associées aux rôles Owner, Operator et Viewer. L’authentification unique OpenID Connect et les associations entre groupes et rôles nécessitent un droit Business ou Custom actif.
Protection des données Les secrets enregistrés sont chiffrés. Nocert stocke les données clients en France et en Allemagne.
Secrets chiffrés
Les informations d’identification du connecteur, les valeurs de configuration secrètes, les jetons d’inscription stockés et les jetons d’ID OIDC sont chiffrés avec AES-256-GCM. La clé de chiffrement est conservée séparément de la base de données.
Où les données sont hébergées
Nocert stocke les données de l’application hébergée sur l’infrastructure d’OVHcloud, en France et en Allemagne. Les fonctions principales d’analyse et d’alerte sont exécutées dans l’UE. Les traitements et transferts limités effectués par les prestataires de paiement et d’e-mail sont décrits dans l’Accord sur le traitement des données. Consultez la section « Où se trouvent vos données » ci-dessous et la page Sous-traitants ultérieurs pour connaître les rôles et lieux de traitement actuels.
Journaux de réseau et d’activité Le service hébergé exige TLS 1.2 ou une version ultérieure, utilise Cloudflare en périphérie et consigne les événements de sécurité.
Transports
Le trafic vers le site Web et l’API destinés aux clients nécessite TLS 1.2 ou une version ultérieure. L’analyseur de certificat n’expose aucun port public et son sous-processus d’analyse ne peut pas créer de sockets.
Périphérie
Cloudflare fournit un WAF et une protection contre les attaques DDoS en amont du service hébergé.
Historique d’activité
Le journal d’activité de l’espace de travail enregistre les événements liés à la sécurité, notamment les modifications de configuration, les événements du cycle de vie Sentinel et les envois d’alertes.

Nocert n’est pas certifié ISO 27001 et ne dispose pas de rapport SOC 2.

Résidence des données

Où se trouvent vos données

Les données de l’application hébergée sont stockées sur l’infrastructure d’OVHcloud, en France et en Allemagne. Les fonctions principales d’analyse et d’alerte sont exécutées dans l’UE. Les traitements et transferts limités effectués par les prestataires nommés sont décrits ci-dessous et sur la page Sous-traitants ultérieurs.

  • Données client Stocké

    Certificats, inventaire, résultats, historique d’activité et données de compte.

    OVHcloud France et Allemagne
  • Relais sortants En transit uniquement

    L’analyse TLS publique et l’envoi des alertes vers Slack, Teams et Discord utilisent des relais éphémères qui traitent les données en transit sans conserver de données personnelles des clients.

    Scaleway UE
  • Diffusion en périphérie En transit uniquement

    Atténuation WAF et DDoS devant le service hébergé, gestion des demandes et métadonnées techniques limitées.

    Cloudflare Périphérie dans l’EEE

Le traitement des paiements et l’envoi des e-mails font intervenir des prestataires situés hors de l’EEE, selon les mécanismes de transfert indiqués dans l’Accord sur le traitement des données. Les prestataires de paiement ne reçoivent jamais les certificats ni les données d’analyse. Les e-mails d’alerte contiennent les détails du certificat et du nom d’hôte concernés.

Divulgation responsable

Vous avez trouvé une vulnérabilité ?

Envoyez les détails via la page de contact. Les coordonnées de contact conformes à la RFC 9116 sont publiées dans security.txt.

Signaler une vulnérabilité