freedzhost.cloud

Des secrets qui ne touchent jamais un fichier : les mots de passe des scripts et des agents

Niveau IntermédiaireTemps estimé 1 hÀ lire avant Homelab 3 : votre propre gestionnaire de mots de passe avec VaultwardenUn mot inconnu ? Lexique

Les scripts et les agents ont besoin de secrets : un mot de passe de base de données, un jeton d'API, le mot de passe administrateur d'un service. La solution facile, un fichier .env ou une variable tapée dans une commande, les répand partout : sauvegardes, historique du shell, liste des processus, captures d'écran, contexte d'un agent IA. Nous appliquons une seule règle à la place.

Voustapez la phrase maîtreCoffredéverrouillé pour la sessionLe programmele lit sur son entréeget NOM |jamais dans✕ un fichier✕ la ligne de commande✕ l'écran
Le secret passe du coffre au programme qui en a besoin par un tuyau, et nulle part ailleurs. C'est vous qui déverrouillez le coffre ; un script, ou un agent, ne fait que demander un secret par son nom et le transmettre, sans le voir.

1. Deux sortes de secrets, deux endroits

2. Lire par un tuyau

Les deux ont un client en ligne de commande. Déverrouillez une fois par session (vous tapez vous-même la phrase maître, dans un terminal que le script ne lit pas), puis passez le secret directement au programme :

bw unlock                          # vous, une fois : il rend une clé de session
bw get password "admin base de données" | outil-admin --password-stdin

Le secret n'existe que dans le tuyau entre les deux programmes. Il n'est pas écrit sur le disque, il n'est pas dans la ligne de commande (que ps montre à chaque utilisateur), et il n'est pas à l'écran.

3. Avec un agent IA

Un agent peut lancer le tuyau sans jamais voir la valeur : il demande un secret par son nom et le passe au programme. Ne laissez jamais un agent lire un fichier de secrets, afficher une valeur pour la vérifier, ou déverrouiller le coffre : le déverrouillage, c'est vous. Une règle qu'un agent peut enfreindre par erreur doit être imposée par un contrôle de ses commandes, pas seulement écrite dans ses instructions.

Pièges que nous avons payés

Ranger avant d'appliquer. Quand vous créez ou changez un secret, écrivez-le d'abord au coffre, puis appliquez-le au service. Si l'écriture au coffre échoue, rien n'a changé ; dans l'autre sens, un échec vous enferme dehors.

Copiez un secret, ne le déplacez jamais. Quand vous transférez un secret vers un nouvel endroit, l'ancien reste là où son programme le lit, jusqu'à ce que ce programme ait prouvé qu'il démarre sans lui.

Après avoir reconnecté un client de gestionnaire de mots de passe, synchronisez-le avant de lire : une copie locale toute neuve peut ne pas encore connaître vos dossiers et répondre « introuvable » pour une fiche qui existe.

Utile ? Dites-nous ce qu'il faut mesurer ensuite.