Aller au contenu
Sécurité medium

Gestion des secrets : le hub pour s'y retrouver

8 min de lecture

Un mot de passe commité « temporairement » dans Git, retrouvé trois mois plus tard par un attaquant : le commit était supprimé, mais l'historique conserve tout. La gestion des secrets consiste à éviter exactement ce scénario, et tous ses cousins. Cette page est le point d'entrée de la section : elle pose les repères et vous oriente vers le bon guide selon votre besoin, du concept fondamental au coffre-fort concret. Chaque carte mène à une page dédiée qui traite son sujet en profondeur.

La section suit une logique simple : d'abord comprendre (qu'est-ce qu'un secret, comment il vit et fuit), puis outiller (coffres, détection, identités). Les concepts sont la matière ; les guides outils la déclinent ensuite de bout en bout.

Commencez par ces concepts. Ils forment la matière que tous les outils implémentent ensuite. Si vous débutez, lisez-les dans cet ordre.

Les secrets ne fuient pas que dans le code : historique Git, images conteneur, journaux, variables. Voici les surfaces d'exposition et la conduite à tenir face à une fuite.

Les contraintes changent selon le terrain. Ces guides traitent les deux environnements les plus exposés.

Une fois les concepts en place, voici les outils qui les déclinent de A à Z : coffres pour applications, gestionnaires pour équipes, chiffrement de fichiers.

Quel que soit l'outil, une gestion saine repose sur quelques principes que les guides détaillés reprennent chacun à leur niveau.

  • Séparer le code et les secrets : le code source ne contient jamais de secret ; il est injecté au démarrage depuis une source sûre.
  • Chiffrer, centraliser, tracer : les secrets vivent dans un coffre chiffré, à un point unique, avec chaque accès audité (qui, quand).
  • Moindre privilège : chaque secret donne accès au strict nécessaire, jamais un accès admin « par facilité ».
  • Rotation et révocation : un secret doit pouvoir être changé et invalidé vite ; s'il est pénible à tourner, il ne le sera pas.
  • Automatiser : l'humain est le maillon faible, on automatise génération, distribution et rotation.
  • Réduire les secrets persistants : privilégier les secrets dynamiques (générés à la demande, à durée de vie courte) et l'identité de charge (prouver son identité plutôt que détenir un secret durable).

La gestion des secrets n'est pas que l'affaire de la sécurité : elle touche toute personne qui manipule du code, de l'infrastructure ou des données. Chaque rôle a sa part.

ProfilResponsabilitéPriorité
DéveloppeurNe jamais commiter de secret, utiliser l'injection au démarrageQuotidienne
Ops / SREConfigurer les coffres, automatiser rotation et révocationCritique
DevSecOpsDétecter les secrets exposés, intégrer les scans en CI/CDContinue
RSSIPolitique de gestion, audit de conformitéStratégique
Tech LeadRevue de code, culture d'équipe, choix des outilsEncadrement

Il n'y a pas d'outil universel. Le bon choix dépend de qui ou quoi consomme le secret. Voici les quatre cas les plus courants.

  • Pour un humain : un gestionnaire de mots de passe (Bitwarden, Passbolt), une MFA (authentification à plusieurs facteurs) obligatoire, un partage contrôlé et audité.
  • Pour une application simple : un coffre central (Vault, Infisical), l'injection au démarrage plutôt qu'un fichier .env versionné, une rotation programmée.
  • Pour une plateforme cloud-native : des secrets dynamiques, une identité de charge (SPIFFE, IAM cloud), des certificats courts et des accès temporaires en CI/CD via OIDC.
  • Pour du legacy : un secret statique fortement contrôlé, roté aussi souvent que possible, avec surveillance des accès et moindre privilège strict.

Ces erreurs reviennent même dans les organisations qui utilisent déjà un coffre. Chacune a une parade, détaillée dans les guides liés plus haut.

PiègeConséquenceParade
Secret statique partagé entre servicesImpossible d'attribuer un incidentIdentité ou secret distinct par charge
Rotation manuelle rareSecret valide trop longtempsSecrets dynamiques ou rotation automatisée
Kubernetes Secrets comme seul coffreFaux sentiment de sécuritéChiffrement etcd + RBAC + External Secrets
Jeton cloud longue durée en CI/CDCompromission durableOIDC, accès temporaires, identité de charge
Secrets en variables d'environnement seulesExposition dans les journaux et les dumpsInjection contrôlée, durée de vie minimale
Même secret en dev, préprod et prodUne fuite en dev compromet la prodSecrets séparés par environnement
Commiter « temporairement »L'historique Git conserve toutHook pre-commit avec détection de secrets

Ces principes ne sont pas des voeux : le référentiel du site les traduit en exigences vérifiables. Le modèle de menaces SOCLE pour les secrets recense les vecteurs d'attaque (secret en clair, jeton volé, OIDC mal configuré) et les relie aux exigences du domaine secrets (inventaire, coffre chiffré, accès scopés et tracés, rotation, identités éphémères, détection de fuite). Chaque concept fondamental ci-dessus est rattaché à ces exigences.

  1. Le code source ne doit jamais contenir de secrets : c'est la règle de base.

  2. Un secret statique doit être l'exception, pas la norme : visez les secrets dynamiques et l'identité de charge.

  3. Un secret dynamique bat un secret longue durée : il réduit la fenêtre d'exploitation et se révoque tout seul.

  4. Pour le machine à machine, pensez identité avant mot de passe : SPIFFE, workload identity, OIDC.

  5. Réduire progressivement les secrets persistants, pas tout d'un coup : on commence par les plus durables, partagés et critiques.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn