Déchiffrement LUKS auto avec Clevis et Tang
Jérémy Lecour
17 mars 2026
Cet article a pour but de décrire le dispositif de déchiffrement automatique de volumes chiffrés avec LUKS. Il ne décrit pas la manière de créer un volume chiffré, ni le déchiffrement manuel (qui restera possible en plus du déchiffrement automatique).
Contexte
Lorsqu’un serveur démarre, ses volumes chiffrés ne sont pas déchiffrés et pas montés. Par défaut, si les partitions ne sont pas en montage automatique il faut faire les actions à la main après le démarrage, et si les partitions sont configurées pour un montage auto alors il faut saisir la passphrase au démarrage.
Dans notre cas (chez Evolix), ce déchiffrement n’est pas fait automatiquement car nous n’avons pas mis en place de moyen de déchiffrement stocké localement de manière sécurisée.
En revanche, en utilisant le binôme « Clevis + Tang » il est possible de faire ce déchiffrement automatiquement grace à un moyen de déchiffrement distant et sécurisé.
Clevis + Tang
Clevis est un outil qui permet d’automatiser le déchiffrement. Parmi les méthodes possibles il y a l’utilisation d’une ressource réseau pour obtenir des éléments de déchiffrement.
Tang est cette ressource réseau (un très simple serveur HTTP) qui stocke et communique des éléments qui seront utilisés par Clevis pour le déchiffrement.
C’est un peu comme si on stockait la passphrase ailleurs sur le réseau pour éviter de la stocker localement. En réalité ça n’est pas la passphrase elle-même mais une partie d’une information qui va autoriser le déchiffrement. Si le serveur qui a son volume chiffré (et Clevis configuré) est séparé (en termes de réseau) du serveur Tang, alors le déchiffrement automatique ne peut pas avoir lieu.
Il est important de préciser que la partie Tang doit être protégée, car si on arrive à extraire à la fois le volume chiffré et les données de Tang, il devient possible de déchiffrer le volume.
Par exemple, si la partie Clevis et la partie Tang sont physiquement proches (dans la même baie ou salle de datacenter, ou dans 2 serveurs virtuels gérés par le même hyperviseur) il faut que les données de Tang soient stockées de manière chiffrées elles-aussi. On retrouve alors le problème de départ : comment déchiffrer le volume qui contient ces données ?
Jusque-là nous avons accepté les contraintes d’un déchiffrement manuel pour Tang, en estimant que ça sera suffisamment rare pour ne pas être problématique. Mais on peut envisager de déchiffrer automatiquement les données de Tang grâce un autre serveur Tang qui ne souffre pas des limites de proximité. On ne fait que reporter le problème, mais ça reste envisageable si on a plusieurs frontières réseau et physiques disponibles.
Il est aussi conseillé de protéger Tang au niveau réseau ; si possible avec des restrictions d’interfaces d’écoute (uniquement sur un LAN…), et à minima avec des restrictions d’IP source pour ne pas que n’importe qui puisse récupérer en HTTP les informations de Tang.
Scenarios opérationnels
Si le serveur Tang est le seul à redémarrer (pour une maintenance…), alors il faut s’y connecter (en console ou SSH), déverrouiller/monter le volume chiffré pour Tang. Et c’est tout. Tang ne doit être disponible qu’au moment du déchiffrement automatique.
Si un serveur avec Clevis redémarre et le serveur Tang est disponible, alors le déchiffrement du volume et le montage de la partition va se faire automatiquement. Il n’y a aucune action manuelle à faire.
Si un serveur avec Clevis redémarre et le serveur Tang n’est pas disponible, alors on peut faire le déchiffrement manuellement, ou bien rendre le serveur avec Tang disponible et déclencher le déverrouillage par Clevis.
Evolix vu par Madame Pea
Blog Evolix
13 février 2026
Depuis quelques années, nous donnons carte blanche à un(e) artiste que l’on apprécie pour réaliser une œuvre en lien avec Evolix pour nos cartes de vœux. Maintenant que tous nos clients, fournisseurs et partenaires ont reçu leur carte de vœux fin janvier, on vous dévoile notre collaboration 2026 avec l’artiste marseillaise Madame Pea : vous reconnaîtrez sûrement nos bureaux à Marseille dans cette création unique réalisée au feutre Rotring ! C’est garanti sans IA et l’œuvre originale est exposée dans nos bureaux :
FoxyProxy : accès facile aux ressources privées
Jérémy Lecour
05 février 2026
Lorsqu’on souhaite utiliser des interfaces web qui ne sont accessibles que depuis un certain réseau (et qu’on ne peut pas être directement dans ce réseau, physiquement ou via un VPN) il y a plusieurs moyens.
Proxy HTTP
Dans certains cas on peut mettre un proxy HTTP en bordure du réseau (par exemple HAProxy), accessible depuis l’extérieur. Celui-ci va exposer le service interne à l’extérieur, tout en appliquant des logiques de filtrage. Mais souvent, on ne souhaite pas du tout exposer de tels services, même avec un filtrage par IP ou authentification.
Redirection de port par SSH
Si on dispose d’un bastion ou d’un serveur de rebond (à la fois dans le réseau publique et dans le réseau interne), on peut aussi utiliser le principe du tunnel SSH. On démarre une connexion SSH vers le serveur intermédiaire. Cette connexion SSH ouvre un port local pour lequel il va transmettre le trafic avec un certain port distant :
$ ssh -L <LOCAL_PORT>:<REMOTE_HOST>:<REMOTE_PORT> <FORWARD_HOST>`
Par exemple, ssh -L 8443:192.168.2.1:443 203.0.113.1 permettra se se connecter sur https://127.0.0.1:8443 pour en réalité contacter https://192.168.2.1:443 en passant par 203.0.113.1.
C’est bien mais limité ; on n’a qu’un seul port (à moins de faire plusieurs -L XXX), l’hôte de connexion est 127.0.0.1 au lieu de l’hôte réel et ça peut causer des soucis de certificats…
Redirection dynamique par SSH
Il est aussi possible d’utiliser le « dynamic forwarding » de SSH. On ouvre aussi une connexion vers son hôte intermédiaire, mais cette connexion servira de proxy SOCKS5.
En configurant son navigateur pour utiliser ce proxy, on y fera passer tout le trafic voulu comme pour une connexion directe. : ssh -D LOCAL_PORT FORWARD_HOST.
C’est très bien mais fastidieux car les navigateurs courants présentent des interfaces très limitées pour la configuration. Et si on ne veut pas que tout le trafic du navigateur passe par ce proxy on se retrouve à activer/désactiver ça en permanence.
Heureusement, il existe l’extension FoxyProxy qui permet de le faire de manière conditionnelle et plus ergonomique (Merci à Laurent Guerby de m’avoir fait découvrir ça pendant le FOSDEM 2026).
Il y a plusieurs mode pour l’utilisation de FoxyProxy : global, par onglet ou par motif d’URL. Si les interfaces utilisées sont sur des domaines ou IP fixes et peu nombreuses, le mieux est d’utiliser des motifs d’URL.
Une fois FoxyProxy installé dans votre navigateur, il est conseillé de l’épingler dans la barre d’outils du navigateur. On accède alors facilement à ses fonctionnalités et sa configuration.
La configuration est accessible par l’icone de l’extension, puis le bouton « Options ». On crée alors un ou plusieurs proxys. Voici un exemple de configuration :
- Nom :
localhost:9090 - Type :
SOCKS5 - Hostname :
127.0.0.1
Dans la section « Proxy by Patterns » on ajoute autant de lignes que souhaité, par exemple :
- Proxy By Patterns :
Include / RegExp - Nom :
10.42.*.* - Modèles :
^(http|ws)s?://10\.42(\.\d+)(\.\d+)/
On active ensuite le mode Proxy by Patterns dans le menu déroulant de l’extension.
Si vous activez la fonctionnalité Proxy DNS vous utiliserez alors la résolution DNS du serveur de rebond (y compris les entrées de /etc/hosts).
Mise en pratique
Pour l’ouverture de la connexion SSH, vous pouvez le faire avec la ligne de commande complète : ssh -D 9090 203.0.113.1. On peut aussi ajouter une entrée dans la config SSH locale (à laquelle vous pouvez évidemment ajouter toutes les options utiles ; User, Port, clés SSH…) :
# vim ~/.ssh/config
[…]
Host bastion-forward
Hostname 203.0.113.1
DynamicForward 9090
[…]
On peut alors simplifier la connexion :
$ ssh bastion-forward
En se rendant sur une URL qui correspond aux motifs configurés, ou si vous êtes sur un onglet concerné, ou si vous avez activé le mode global, votre trafic sera dirigé sur le proxy SOCKS5 local et passera par votre connexion SSH.
DebConf 2025
Jérémy Lecour
25 octobre 2025
Ces 2 dernières semaines (c’était du 7 au 19 juillet), la communauté Debian avait posé ses valises (et toute sa geekerie) à Brest pour le DebCamp et la DebConf 2025. Et grâce à un déplacement organisé par Evolix (mon employeur) j’ai pu y participer pleinement.
Une DebConf est une conférence dédiée à la distribution Debian, organisée par la communauté. Elle a lieu tous les ans dans une ville différente du monde. C’est l’occasion pour quelques centaines de personnes de se rencontrer physiquement pour des discussions, travaux, présentations, et moments sociaux. Elle est reconnue comme étant un élément clé dans la cohésion de cette communauté globale. Généralement la DebConf se déroule du lundi au samedi avec un planning dense de présentations et quelques moments plus détendus pour favoriser la socialisation. Elle est souvent précédée par une semaine de DebCamp, beaucoup plus informel qui permet à des équipes spécialisées de se retrouver pour des sessions de travail en face-à-face, organisées ou impromptues
Ma première participation à une DebConf était en 2017 à Montréal. Depuis j’ai participé à l’organisation de plusieurs Mini DebConf (Toulouse 2017, Marseille 2019, Toulouse 2024). Ce sont des versions plus modestes et plus courtes, mais l’esprit reste identique.
Sans grande poésie je vais passer en revue les différents aspects qui m’ont marqué pendant ces 12 jours.
Travaux internes
Les quelques personnes d’Evolix qui étaient là ont pu se réserver quelques heures de travail, plus ou moins focalisées sur Debian et des projets internes en cours. On n’a rien révolutionné, mais on a pu faire avancer les choses sur plusieurs points. C’était cool d’avoir une occasion supplémentaire de le faire car dans le feu du quotidien, ça n’arrive pas si souvent que ça. Personnellement j’ai très peu gardé le contact avec le reste de l’activité de la boîte. J’avoue avoir beaucoup de mal à être dans deux dynamiques à la fois.
Video-team
J’avais très envie de mettre un peu les pieds dans l’équipe vidéo de Debian. C’est un pilier des événements car c’est ça qui fait que les présentations sont filmées pour être diffusées en direct puis disponibles au visionnage. Ils ont mis sur pieds il y a bien longtemps et raffinent année après année un dispositif professionnel de captation, de mixage, de diffusion… Ça résonne particulièrement avec mes hobbies donc je voulais m’impliquer plus. J’ai suivi leur formation pour la manipulation en direct : technicien son, opérateur caméra et réalisateur. J’ai pu assurer un de ces rôles pendant une quinzaine de sessions. Au delà de l’utilité pour la conférence, j’ai appris plein de choses en posant mille questions aux vétérans. La prochaine étape pourrait être de rentrer plus dans les coulisses. Ça sera peut-être pour une prochaine fois.
Contenu
Les contenus et les sujets présentés pendant une DebConf sont très variés mais tournent exclusivement autour de la distribution. Certaines pésentations sont très techniques et pointues, d’autres sont orientées sur la communication, la gouvernance, la diversité, la communication… Il y a en pour tous les goûts. Il arrive que je sois dans une salle et qu’une présentation me parle plus que la moyenne, mais généralement je me sens moyennement connecté car je n’ai pas un rôle central dans cette communauté. Je ne suis pas mainteneur de paquets, ni aucune autre équipe. Voici quelques présentations qui m’ont intéressé ou marqué :
- Semi-serious stand up comedy, 10 years later
- wcurl - one year later
- reproduce.debian.net - rebuilding what is distributed from ftp.debian.org
- Bits from APT
- Meet the Technical Committee
- debian.social BoF
DayTrip
Généralement en milieu de conférence, une journée spéciale — le Day Trip — permet à tout le monde de s’écarter des salles de travail et de présentation, pour aller passer une journée plus touristique. Il y a souvent plusieurs choix possibles. J’ai choisi l’option de la journée de balade à vélo sur l’Île d’Ouessant. Après 1h30 d’une traversée en bateau qui a tracassé l’estomac de quelques personnes, on a été accueilli par un grand soleil et des vélos rouges. Une belle crêperie a pris soin de nos papilles et nous a donné des forces pour arpenter l’île. On y a rencontré quelques chèvres, moutons et vaches, une végétation visiblement influencée par un climat marin rigoureux et plusieurs phares ou vigies. Les coups de soleil ont surpris les maladroits qui n’avaient pas anticipé.
Soirée « Cheese & Wine »
Autre tradition depuis 2004, une soirée est dédiée au partage de denrées alimentaires variées, par toutes les personnes intéressées. Ça va bien-sûr au-delà du vin et du fromage, même s’ils restent les composants phares de la soirée. Au total ce sont des dizaines de kilos de fromages et de litres de vin (ou autres alcools plus ou moins forts) qui ont été engloutis en 3 heures, après un après-midi entier nécessaire à la découpe, étiquetage, présentation… Anecdote marseillaise ; à Montréal nous avions apporté du pastis et des non connaisseurs s’étaient lancés dans une dégustation sans eau ajoutée. Ça nous avait fait bien rire à l’époque (plus qu’eux), donc cette année j’avais mis une étiquette explicite sur la bouteille : « add water : 5×1 ». Il faut croire que les gens ne lisent pas, car très peu d’eau a été ajoutée au super « Pastis de la Plaine » apporté par Grégory. Pour ma part, j’ai abusé d’un Parmesan de 150 mois, de la caïpirinha préparée par les brésiliens, de Gins de Martinique et de Suisse (et oui !). Je suis rentré repu et saoul, mais dignement !
Les langues
Il y avait des personnes de plus de 50 pays différents. Évidemment l’anglais est la langue de référence dans ces cas-là, mais occasionnellement des groupes se replient temporairement sur leur langue commune. On a beaucoup entendu d’allemand, de français, de portuguais/brésilien… On peut noter l’effort important que cela demande aux personnes dont l’anglais n’est pas la langue maternelle ou une langue massivement enseignée.
Notre présentation
Grégory et moi travaillons depuis plusieurs mois à une présentation de la manière dont nous maintenons à jour nos serveurs sous Debian. Après plusieurs itérations, nous avons préparé une version en anglais qui couvrait en 40 minutes les mises à jour mineures (de sécurité) et les majeures (changement de version). Un mauvais virus a malheureusement empêché Grégory de faire la présentation avec moi. J’ai l’impression que ça s’est bien déroulé. Il y a eu plusieurs questions pertinentes sur place et plus tard. La captation vidéo est de mauvaise qualité. Les diapos ont été coupées et le cadrage n’est pas super. Et comme pour quelques autres présentations, le son a été dégradé par l’enregistrement. Nous présenterons d’ailleurs (en français) ce même sujet au Capitole du Libre à Toulouse le samedi 14 novembre 2015.
Rencontres
La DebConf est surtout un événement social. C’est l’occasion de rencontrer ou retrouver des gens qui sont directement responsables de parties de la distribution ou de la communauté. Nous avons notamment pu discuter avec Lee Garrett qui maintient Ansible dans Debian. Nous avons mis en évidence que la version de Debian 13 est incompatible avec des serveurs en Debian 10 ou inférieur. Ça permis de discuter de solutions ou contournements possibles. J’ai aussi longuement discuté avec des personnes qui font un métier d’hébergeur/infogérant comme Evolix. Nous avons partagé des approches, techniques, difficultés… En dehors des paquets et du code on retrouve la très grande diversité de Debian au travers des humains qui la font vivre ; religions, langues, cultures, identités de genre… Dans un monde polarisé, chargé d’antagonismes, ça fait du bien de trouver de l’ouverture (d’esprit, de bras, de code).
