Agent IA d'Auto-Remediation
Dans nos articles précédents, nous avons exploré comment sécuriser nos serveurs avec CrowdSec et comment les surveiller avec Prometheus et Grafana. Maintenant, il est temps de lier ces deux mondes avec une intelligence automatisée. L’objectif ? Créer un système qui non seulement détecte les problèmes, mais qui les résout aussi. C’est le concept de l’Action-to-Action (A2A), et nous allons le mettre en œuvre avec N8N.
Qu’est-ce que N8N ?
N8N (prononcé “n-eight-n”) est une plateforme d’automatisation de flux de travail open-source. Pensez-y comme un “Zapier” ou un “Integromat” que vous pouvez héberger vous-même. Il vous permet de connecter différentes applications et services (APIs, bases de données, services de messagerie, etc.) pour créer des workflows complexes sans écrire une seule ligne de code, ou en en écrivant très peu.
Le Principe de l’Agent d’Auto-Réparation
Notre agent intelligent sera un workflow N8N qui écoute les alertes de notre système de monitoring (comme Prometheus Alertmanager) et exécute une série d’actions prédéfinies en réponse.
Scénario 1 : Le Service Web est Inaccessible
- Déclencheur : Prometheus détecte que votre site web ne répond plus et envoie une alerte via un webhook à N8N.
- Diagnostic Automatisé :
- Le workflow N8N reçoit l’alerte.
- Il utilise un nœud HTTP Request pour vérifier si le serveur lui-même répond (par exemple, en pingant une autre machine sur le même réseau).
- Il se connecte en SSH (via un nœud “Execute Command”) pour vérifier l’état du service (ex:
systemctl status nginx
).
- Action Corrective :
- Si le service est arrêté, le workflow tente de le redémarrer (
systemctl restart nginx
). - Il attend quelques secondes et vérifie à nouveau si le site est accessible.
- Si le service est arrêté, le workflow tente de le redémarrer (
- Notification :
- Si la remédiation a réussi, il envoie une notification sur Slack ou Telegram : “✅ Le service Nginx était arrêté et a été redémarré avec succès.”
- Si la remédiation a échoué, il escalade le problème en créant un ticket dans Jira ou en envoyant un message urgent à l’équipe d’astreinte.
Scénario 2 : Attaque par Force Brute Détectée
- Déclencheur : Notre agent CrowdSec détecte une attaque par force brute et envoie une alerte via un webhook.
- Enrichissement de l’Information :
- Le workflow N8N reçoit l’alerte contenant l’IP de l’attaquant.
- Il utilise des nœuds d’API pour interroger des services de géolocalisation (comme ip-api.com) et de réputation d’IP (comme AbuseIPDB).
- Action et Notification :
- Il envoie un message détaillé sur un canal de sécurité : “🚨 Attaque par force brute détectée depuis l’IP
123.45.67.89
(Chine, ASN: China Telecom). L’IP a été bannie par le bouncer. - Il peut également ajouter automatiquement cette IP à une liste de surveillance dans un autre outil de sécurité.
- Il envoie un message détaillé sur un canal de sécurité : “🚨 Attaque par force brute détectée depuis l’IP
Mise en Place de l’Environnement
Vous pouvez facilement déployer N8N avec Docker. Voici un exemple de docker-compose.yml
:
version: '3.7'
services:
n8n:
image: n8nio/n8n
container_name: n8n_workflow_automation
restart: always
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=Europe/Paris
volumes:
- ./n8n_data:/home/node/.n8n
Une fois lancé, vous pouvez accéder à l’interface de N8N sur http://localhost:5678
et commencer à construire vos workflows.
Conclusion : Vers une Infrastructure Autonome
En combinant la surveillance (Prometheus), la sécurité (CrowdSec) et l’automatisation (N8N), nous passons d’une gestion réactive à une gestion proactive, voire prédictive. Cet “agent d’auto-réparation” réduit non seulement le temps moyen de résolution (MTTR), mais libère également les ingénieurs des tâches répétitives et stressantes, leur permettant de se concentrer sur l’innovation et l’amélioration continue. C’est un pas de plus vers une infrastructure véritablement autonome et résiliente.