Aller au contenu principal

Post-mortem : quand une sauvegarde de routine fige un serveur entier

· 11 minutes de lecture
BENE Maël
Administrateur Système

Un serveur de base de données métier (moteur SGBD propriétaire, sous Ubuntu 22.04) s'est figé un après-midi pendant une sauvegarde qui tournait depuis des mois sans le moindre incident. Huit minutes d'indisponibilité, aucune donnée perdue, mais j'ai fini par relier ce blocage à une saturation mémoire survenue la nuit précédente, sur un mécanisme en apparence totalement différent.

Schéma montrant le job de sauvegarde interne du moteur SGBD comme cause commune à trois symptômes : la RAM qui monte à 60 Go, l'accumulation d'archives locales, et la sauvegarde NAS qui sature

Ne jamais exposer le socket Docker : Traefik en frontal, un tunnel SSH pour tout accès

· 5 minutes de lecture
BENE Maël
Administrateur Système

Le socket Docker donne un accès root de facto à la machine qui l'expose. Ce post décrit le pattern que j'ai mis en place pour permettre à un reverse proxy de découvrir les containers d'un hôte Docker distant sans jamais exposer ce socket sur le réseau : un tunnel SSH point à point, doublé d'un proxy qui filtre l'API elle-même.

Schéma : le trafic entrant atteint Traefik en zone DMZ, traverse un tunnel SSH restreint vers un socket-proxy filtrant en zone backend, seul habilité à dialoguer avec le socket Docker

Ce que l'infra-as-code ne couvre pas : les machines configurées à la main

· 4 minutes de lecture
BENE Maël
Administrateur Système

Tout un parc de VMs versionné, avec un pipeline qui vérifie des signatures et se redéploie tout seul toutes les 30 minutes. Et puis deux ou trois machines, en dehors de ce système, dont l'état ne vit que sur elles-mêmes. Ce post parle d'un cas que j'observe régulièrement, et rarement documenté honnêtement : la dette technique qui s'accumule sur les exceptions au système qu'on a soi-même construit.

Le lock GPG qui n'aurait jamais dû exister

· 6 minutes de lecture
BENE Maël
Administrateur Système

Un parc d'une dizaine de VMs qui se déploient elles-mêmes via ansible-pull toutes les 30 minutes. De temps en temps, l'une d'elles arrête de converger, bloquée sur une erreur gpg: waiting for lock ou SQL library used incorrectly. La cause : une tâche qui importait une clé GPG dont plus rien ne se servait, quelque part dans un rôle partagé exécuté par toutes les VMs.

Schéma montrant deux chemins dans le pipeline : un chemin mort qui importe une clé GPG et finit en verrou orphelin, et le chemin réel qui vérifie une signature SSH et exécute le playbook

SSH sans clés statiques : des certificats de 10h adossés à Entra ID

· 8 minutes de lecture
BENE Maël
Administrateur Système

Remplacer les clés SSH statiques d'une équipe d'admins par des certificats éphémères, émis à la demande via une authentification OIDC (Entra ID + MFA), valables 10 heures. Ce post décrit l'architecture mise en place sur un parc d'une dizaine de VMs, et surtout les deux ou trois surprises qu'on ne trouve pas dans la doc tant qu'on ne l'a pas vraiment mise en prod.

Schéma du flux : un admin s'authentifie via OIDC auprès d'Entra ID, step-ca signe un certificat SSH éphémère à partir des claims du jeton, présenté ensuite à la VM cible

GitOps sans Vault : réduire le blast radius en vérifiant plutôt qu'en stockant

· 12 minutes de lecture
BENE Maël
Administrateur Système

Déployer un parc de VMs sans serveur central qui pousse la configuration, sans coffre-fort de secrets exposé en permanence, et avec une question simple posée à chaque cycle : "est-ce que ce que je m'apprête à exécuter a été signé par quelqu'un d'autorisé ?" Ce post décrit l'architecture GitOps pull-based que j'ai mise en place autour de cette question, et pourquoi elle réduit mécaniquement la surface d'attaque comparée à un modèle push classique.

Schéma du pipeline ansible-pull : une VM récupère le dépôt Git, vérifie la signature du tag avant toute exécution, exécute le playbook seulement si la vérification passe, sinon abandonne sans rien exécuter

Freeze de session SSH, MTU et MSS clamping

· 6 minutes de lecture
BENE Maël
Administrateur Système

Session SSH gelée

Après avoir déployé des tunnels GREtap pour étendre mes VLANs à travers mon mesh WiFi OpenWRT, j'ai rencontré un problème frustrant : mes sessions SSH se figeaient aléatoirement et nécessitaient un redémarrage complet. La cause ? Un problème classique de MTU et de fragmentation. Voici comment le MSS clamping a résolu le problème.