Retour aux articles
vendredi 28 août 20260 vues0

Sécuriser Hermes sur un VPS : mon audit en 3 niveaux

Mike Codeur

Agents
IA
Outils

Sécuriser Hermes sur un VPS

Un agent Hermes installé sur un VPS peut lire des fichiers, appeler des API, lancer des commandes et exécuter des tâches pendant que tu dors. Cette autonomie est utile. Elle augmente aussi le rayon d'action d'une erreur, d'un accès volé ou d'un contenu malveillant.

J'ai donc repris mon installation comme un système à vérifier, pas comme une application qu'on déploie une fois avant de l'oublier. L'audit suit trois niveaux : le VPS, la configuration de Hermes et les usages à risque. À chaque niveau, je cherche une preuve visible et un chemin de retour.

1. Le VPS : réduire ce qui est exposé

La première question n'est pas « mon agent répond-il ? », mais « qu'est-ce qu'Internet peut atteindre ? ». Un service qui fonctionne derrière une interface peut laisser ouverts des ports inutiles, un accès SSH trop large ou une console d'administration publique.

Le contrôle de base tient en cinq points :

  1. inventorier les ports réellement ouverts ;
  2. identifier le processus derrière chaque port ;
  3. fermer ce qui n'a pas besoin d'être public ;
  4. appliquer les mises à jour du système et des conteneurs ;
  5. préparer une sauvegarde ou un snapshot avant toute mutation.
ContrôlePreuve attendueRetour arrière
Ports exposésliste des sockets et test depuis l'extérieurrègle firewall précédente
Accès administrateurconnexion autorisée, mot de passe refusé si les clés sont imposéesconsole de récupération
Servicesétat et logs des conteneursimage ou configuration précédente
Sauvegardesnapshot daté et visiblerestauration testée sur un environnement isolé

Une règle firewall enregistrée ne suffit pas. Il faut vérifier le résultat depuis l'extérieur. Une sauvegarde affichée dans un tableau de bord ne suffit pas non plus : il faut savoir où elle se trouve et comment revenir à l'état précédent.

2. Hermes : limiter les droits sans casser l'usage

Retirer tous les outils à Hermes donnerait un chatbot de plus. Le bon réglage conserve les tâches autorisées et bloque le reste par l'architecture.

Je contrôle notamment :

  • qui peut envoyer des demandes à l'agent ;
  • quels outils sont disponibles dans chaque contexte ;
  • quels dossiers peuvent être lus ou modifiés ;
  • où sont stockés les secrets ;
  • quelles actions demandent une approbation ;
  • quelles automatisations continuent sans présence humaine.

La vérification doit montrer les deux côtés. Une tâche légitime doit encore réussir après le durcissement. Une tâche interdite doit échouer clairement. Si l'on ne teste que le blocage, on peut croire le système sécurisé alors qu'on l'a seulement rendu inutilisable.

Une séquence de maintenance reproductible

Observer l'état
→ diagnostiquer la configuration
→ créer une sauvegarde
→ appliquer un changement borné
→ vérifier la santé
→ tester une action autorisée
→ tester une action interdite
→ conserver ou restaurer

Cette séquence évite les modifications à l'aveugle. Elle transforme chaque conseil de sécurité en opération observable.

3. Les usages à risque : crons, secrets et contenus externes

Les tâches planifiées méritent une revue séparée. Elles s'exécutent sans que tu voies le prompt, le contexte ou l'action au moment où elle se produit. Pour chaque cron, je vérifie son objectif, ses outils, son périmètre de fichiers, ses accès réseau et son mode d'alerte en cas d'échec.

Les contenus externes posent un autre problème. Une page web, un email ou un document peut contenir des instructions destinées à détourner l'agent. Demander au modèle d'être prudent n'est pas une barrière suffisante. Le test utile consiste à placer une instruction malveillante contrôlée dans une donnée non fiable, puis à vérifier que les permissions empêchent l'accès à un faux secret ou l'envoi d'une requête interdite.

Ce test prouve la qualité des limites techniques, pas l'impossibilité de toute attaque. Il doit utiliser un canary factice, un compte isolé et aucun secret de production.

Les six règles que je garde

  1. Exposer seulement les services nécessaires.
  2. Donner à chaque tâche le minimum de droits utile.
  3. Séparer les secrets du contexte courant.
  4. Demander une approbation pour les mutations sensibles.
  5. Prouver qu'une tâche autorisée fonctionne et qu'une action interdite échoue.
  6. Préparer le rollback avant la mise à jour.

La vidéo montre l'audit complet, les commandes, les preuves visibles et les limites de chaque démonstration : voir la vidéo.

Pour recevoir mes prochains workflows d'agents IA et mes retours de production, inscris-toi à The Agentic Dev.

Rejoins The Agentic Dev

Chaque semaine : outils, workflows et stratégies pour coder avec les agents IA comme un pro.

Workflows agentic testés en prod
Outils IA qui marchent vraiment
+35 000 développeurs déjà inscrits

Gratuit · 1 email / semaine · +1250€ de formations offertes