Air-gapper sa machine d'inférence
Pour les contextes les plus sensibles (défense, juridique de haut niveau, recherche confidentielle), "local" n'est pas assez : il faut air-gap — isoler physiquement la machine de tout réseau extérieur. Ce guide montre comment configurer un poste Linux (et macOS/Windows à un moindre degré) pour une inférence LLM sans la moindre fuite possible, et comment quand même mettre à jour les modèles via transferts contrôlés.
#Quand air-gapper
- Données classifiées
- Défense, renseignement, secret industriel de haut niveau.
- Compliance stricte
- Données de santé sous certification HDS, données financières sous ACPR, données juridiques couvertes par secret professionnel absolu.
- Environnements air-gap existants
- Si votre organisation a déjà une pratique air-gap, le LLM doit s'y intégrer.
- Paranoia raisonnée
- Pour un avocat travaillant sur des dossiers ultra-sensibles, un poste dédié air-gappé est une protection de bon sens.
#Le principe
"Air-gap" vient du réseau : on met un "trou d'air" entre la machine et tout câble ou ondes connectés à Internet. Les données entrent et sortent uniquement par support physique contrôlé (clé USB scannée, partage NFS vers un réseau interne sans accès extérieur).
#1. Préparer la machine
- OS minimal
- Ubuntu Server ou Debian sans GUI si c'est un serveur d'inférence. Pas de snap connecté au store, pas de tracker du genre apt-daily-upgrade.
- Comptes utilisateurs dédiés
- Un compte pour l'usage LLM, sudo restreint. Pas de navigateur web installé.
- Wi-Fi désactivé au BIOS
- Physiquement absent pour un serveur, désactivé au firmware pour un laptop. Bluetooth aussi.
- Pas de dual boot avec un OS connecté
- Une partition "habituelle" créerait une faille via le swap ou des fichiers partagés.
#2. Firewall strict
#3. Exceptions localhost uniquement
Ollama et ses amis parlent naturellement sur localhost:11434. Le firewall ci-dessus autorise localhost, donc Ollama + Open WebUI cohabitent sans problème.
#4. Transférer modèles et mises à jour
Une machine air-gappée a besoin de recevoir : les modèles (quelques Go), les mises à jour logicielles (Ollama, llama.cpp), parfois des documents à traiter.
- 01Sur une machine connectée (scanner)Téléchargez le modèle (ollama pull mistral sur cette machine). Exportez-le : ollama list puis cp ~/.ollama/models/... sur une clé USB.
- 02Scan antimalwarePassez la clé au ClamAV ou équivalent. Pour les contextes très sensibles, utilisez une "data diode" qui ne laisse passer les données que dans un sens.
- 03Sur la machine air-gapCopiez depuis la clé vers ~/.ollama/models/. Ollama détecte le modèle automatiquement au prochain lancement.
#5. Tester l'étanchéité
- Test mode avion
- Débranchez câble et Wi-Fi. Lancez votre workflow LLM complet. Tout doit marcher.
- Test tcpdump
- sudo tcpdump -i any -n not port 22 et tapez sur Ollama. Vous ne devez voir QUE du trafic loopback.
- Test DNS
- cat /etc/resolv.conf : aucun DNS externe. host google.com doit échouer (pas de résolution hors LAN interne).
- Test pings
- ping 8.8.8.8 doit échouer (no route to host).
#Audit régulier
- Mensuel : reconfirmer le firewall
- sudo ufw status. Aucune règle ajoutée par inadvertance ("juste pour essayer un truc") ne doit persister.
- Mensuel : scanner les binaires
- Surtout après mise à jour d'Ollama/llama.cpp. sha256sum des binaires, comparaison avec le site officiel lors du transfert.
- Trimestriel : réinstaller propre
- Pour les contextes très stricts, réimager la machine périodiquement. Élimine les backdoors potentiels accumulés.
- Annuel : revue complète
- Nouvelle menace ? Nouveau matériel ? Rapport d'audit formel, archivage.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.