Supervision Drupal
Confiance et sécurité
Où sont vos données, qui les traite, ce que reçoit l'IA, et comment l'accès à Sentinel est protégé. Cette page ne présente les données d'aucun client.
Hébergement
- Tous les échanges avec la plateforme sont chiffrés (HTTPS), et les navigateurs sont tenus de ne jamais revenir en clair (HSTS).
- Les e-mails (alertes, rapports, invitations) partent par le serveur de messagerie de l'hébergeur.
Sous-traitants
| Sous-traitant | Rôle | Données |
|---|---|---|
| Anthropic (États-Unis) | Rédaction des synthèses et du commentaire du rapport mensuel (modèle claude-sonnet-4-6) ; revue technique ponctuelle demandée par l'équipe Sentinel (modèle claude-opus-5-5). | Synthèses : faits de sécurité agrégés, pseudonymisés. Revue technique ponctuelle : mesures de pages publiques du site, captures d'écran PageSpeed, configuration lue par le connecteur et notes de suivi saisies par l'équipe Sentinel, pseudonymisées et sans adresse e-mail. Le nom de l'organisation, des sites et des domaines est remplacé par un pseudonyme avant l'envoi ; aucune adresse e-mail n'est transmise. Détail plus bas. Désactivable par organisation. |
| New Relic (États-Unis), mis en place par l'hébergeur | Supervision technique du serveur et des pages. | Côté serveur : temps de réponse, requêtes SQL masquées, messages d'erreur et journaux d'avertissement. Dans le navigateur : mesures de chargement des pages. |
| Slack, seulement si votre organisation le configure | Réception des alertes dans votre espace. | Le message d'alerte, envoyé au webhook que vous avez fourni. |
Sources publiques interrogées
Pour détecter les failles et les fins de support, Sentinel interroge des sources publiques avec des noms et des versions de paquets, sans aucune donnée personnelle ; seul RDAP reçoit le nom de domaine des sites, pour en lire la date d'expiration. Sources : drupal.org, Packagist, OSV, GitHub, NVD, FIRST (EPSS), CISA (KEV), CERT-FR, RDAP (enregistrement des domaines) et php.net.
Ce que reçoit l'IA
Avant chaque appel, l'organisation devient « ORG_1 », chaque site « SITE_A », « SITE_B »…, et chaque domaine « HOTE_A »… Les vrais noms sont remis dans le texte à son retour, sur nos serveurs. Si le texte reçu contient un pseudonyme inconnu, il est écarté et remplacé par un texte rédigé par règles. Les synthèses de site et le rapport mensuel sont en plus vérifiés : un chiffre absent des faits fait remplacer le texte de la même façon.
L'IA peut être coupée pour votre organisation : les textes sont alors entièrement rédigés par règles, et aucun appel ne part. L'administrateur de la plateforme ou un DSI sans restriction de sites la coupe ou la réactive dans Paramètres → Rédaction par IA ; chaque bascule est inscrite au journal d'audit de l'organisation. L'état de l'IA est affiché au même endroit pour tous les comptes.
Synthèse d'un site
Déclenchement : Quand les faits d'un site changent (vérifié toutes les heures, 3 fois par jour au plus), et à la demande d'un administrateur Sentinel.
| Champ | Contenu |
|---|---|
| site | Nom du site, remplacé par un pseudonyme |
| drupal_version | Version de Drupal |
| php_version | Version de PHP |
| core_eol | Version de Drupal en fin de vie (oui ou non) |
| score | Score de sécurité |
| connector_active | Connecteur actif (oui ou non) |
| a_traiter | Modules publics à traiter en priorité et nombre de failles |
| a_surveiller | Modules publics à surveiller et nombre de failles |
| exploites | Nombre de failles exploitées |
| oldest_open_days | Ancienneté de la plus vieille faille ouverte, en jours |
| oldest_open_critical_days | Ancienneté de la plus vieille faille critique, en jours |
| overdue_count | Nombre de failles hors délai |
| failles | Nombre de failles par gravité |
| autres_risques | Autres risques (obsolescence), avec leur libellé |
| modules_desactives | Failles de modules désactivés |
| hors_score | Échéances de support (date, retard en jours) et durcissement, hors score |
Synthèse du rapport d'un site
Déclenchement : Bouton « Régénérer la synthèse » d'un administrateur Sentinel ; jamais pour un export anonymisé.
| Champ | Contenu |
|---|---|
| score_moyen | Score |
| grade | Note de A à E |
| failles_ouvertes | Nombre de failles ouvertes |
| autres_risques_obsolescence | Nombre d'autres risques |
| critiques_ouvertes | Nombre de failles critiques |
| exploitees | Nombre de failles exploitées |
| remediation_30j | Failles corrigées et ouvertes sur 30 jours |
| sites | Par site : nom (pseudonyme), score, version du cœur, failles critiques et exploitées |
| repartition_severite | Failles par gravité et hors délai |
| top_modules_a_risque | Modules publics les plus à risque, avec leur nombre de CVE |
| cve_exploitees | Avis de sécurité exploités : identifiant public, titre, score CVSS |
| priorite_1 | Première priorité : site (pseudonyme), module, gravité |
| hors_score | Échéances de support (date, retard en jours) et durcissement, hors score |
Rapport mensuel
Déclenchement : Le 1er de chaque mois.
| Champ | Contenu |
|---|---|
| factsVersion | Version du format des faits |
| org | Organisation : pseudonyme et numéro interne |
| period | Mois couvert |
| totals | Totaux du mois, sans aucun décompte de failles |
| sites | Par site : nom (pseudonyme), score, échéances (domaine en pseudonyme), préparation de la migration, collecte, disponibilité |
| actions | Composants à traiter : site (pseudonyme) et module public, sans gravité ni décompte |
Revue technique ponctuelle demandée par l'équipe Sentinel
Déclenchement : À la demande d'un administrateur Sentinel.
| Champ | Contenu |
|---|---|
| run | Date de la revue et pages examinées (domaine en pseudonyme) |
| pieces | Mesures des pages publiques du site (PageSpeed, plan du site, contenu des pages), configuration lue par le connecteur et constats du suivi quotidien (domaine en pseudonyme) |
| problems | Problèmes relevés par les règles : type, gravité, pages touchées, textes |
| previousAiProblems | Problèmes relevés lors des revues précédentes : titre, constat, date |
| interventions | Demandes d'intervention ouvertes du site : numéro et description (adresses e-mail retirées, noms des utilisateurs en pseudonyme) |
| backlog | Notes de suivi saisies par l'équipe Sentinel (adresses e-mail retirées, noms des utilisateurs en pseudonyme) |
| images | Captures d'écran mobiles des pages relevées par PageSpeed |
Sécurité de l'accès
- Connexion par e-mail et mot de passe. Les liens reçus par e-mail sont à usage unique : 1 heure pour réinitialiser un mot de passe, 24 heures pour une invitation. Un lien de connexion directe, réservé au dépannage, expire au bout de 15 minutes.
- 5 tentatives par 15 minutes pour une même adresse IP et un même identifiant ; un compte désactivé reçoit le même message qu'un mauvais mot de passe.
- Chaque utilisateur voit ses sessions ouvertes (appareil, adresse IP, dernière activité) et peut les fermer. Une session non mémorisée se ferme après 2 h d'inactivité ; « Rester connecté » dure 14 jours après la dernière reconnexion automatique. Changer ou réinitialiser son mot de passe ferme les autres sessions et retire la mémorisation de l'appareil, comme « Déconnecter les autres sessions ». Fermer une session exige de s'être connecté avec son mot de passe, pas seulement par reconnexion automatique.
- Les organisations sont cloisonnées à chaque requête : un utilisateur ne lit que les sites de son organisation.
- Les actions sensibles (comptes, rapports, exports, paramètres, connexions réussies et échouées) sont tracées dans un journal d'audit que le DSI consulte.
- Une connexion réussie est inscrite au journal d'audit de chaque organisation du compte, avec l'adresse IP, conservée sans être affichée.
- Un échec de connexion sur un compte existant est inscrit au journal d'audit de chaque organisation du compte, avec l'adresse IP, conservée sans être affichée, et le motif (identifiants incorrects, compte désactivé, formulaire expiré, lien de connexion invalide ou expiré). Un identifiant qui ne correspond à aucun compte n'y est jamais inscrit : il n'a pas d'organisation, et l'écrire ailleurs révélerait quels comptes existent. Les connexions et les tentatives d'un compte d'administration de la plateforme, rattaché ou non à des organisations, et les essais bloqués par la limite de 5 tentatives, ne figurent que dans le journal de sécurité.
Données personnelles
- Comptes : adresse e-mail, nom (facultatif), rôle et organisation.
- Sessions : adresse IP, navigateur, dates de connexion et de dernière activité. Effacées à la déconnexion, à la fermeture de la session, ou 14 jours après la dernière activité.
- Journal de sécurité (connexions réussies et échouées, avec l'identifiant saisi et l'adresse IP) : fichier technique, hors de l'application, conservé 90 jours.
- Journal d'audit : actions des utilisateurs dans leur organisation et adresses IP des connexions (conservées sans être affichées), sans purge automatique ; il peut être purgé au-delà de 5 ans.
- Sites supervisés : le connecteur transmet l'inventaire technique et des compteurs de santé et d'accès (détail ci-dessous), sans contenu ni donnée nominative des utilisateurs des sites.
- Pour exercer vos droits (accès, rectification, effacement) : k.nguyen@parker-parker.com. Un compte peut être anonymisé à la demande.
Ce que transmet le connecteur
Le connecteur installé sur chaque site envoie des faits techniques, signés, à chaque collecte.
| Donnée | Contenu |
|---|---|
| Inventaire technique | Versions de Drupal, de PHP et de la base de données, modules et paquets installés, correctifs appliqués, réglages de sécurité. |
| Santé du site | Nombres du jour : erreurs PHP, erreurs et avertissements du rapport d'état de Drupal (avec leur titre), nom et nombre d'éléments de chaque file d'attente ; date du dernier passage du cron ; version du connecteur. |
| Échecs de connexion | Un nombre par jour, sans identifiant saisi ni adresse IP, et sa source : journal Drupal en base, ou à défaut compteur anti-force brute de Drupal. |
| Comptes à privilèges | Comptes actifs avec le rôle administrateur, un droit sensible (administrer la configuration du site ou les utilisateurs) ou le compte n° 1. Pour chaque compte : un identifiant pseudonymisé (empreinte calculée sur le site avec une clé qui ne le quitte jamais), sa date de création et sa date de dernière connexion. |
Jamais transmis
- Noms, identifiants de connexion et adresses e-mail des comptes
- Adresses IP
- Contenu du site : pages, fichiers, messages, formulaires
- Texte des journaux de Drupal
Les signaux de santé et d'accès ne font pas partie des données envoyées à l'IA.
Signaler une vulnérabilité
Écrivez à k.nguyen@parker-parker.com en décrivant le problème et la façon de le reproduire. Merci de nous laisser le temps de le corriger avant toute publication. Contact lisible par machine : security.txt.