Wazuh : un SIEM/XDR sur mon VPS
Wazuh installé sur mon VPS ARM64 pour voir comment un SIEM/XDR fonctionne sur une vraie machine : collecte de logs, détection d'intrusion et premier audit de conformité CIS.
- L'objectif
- Voir comment fonctionne un SIEM/XDR sur une vraie machine, pas seulement en cours.
- Ma démarche
- Wazuh déployé sur mon VPS : collecte de logs système et Docker, détection d'intrusion, et un premier audit de conformité CIS.
- Ce que j'en retiens
- L'intérêt n'est pas la course au 100 % de conformité, mais le travail de lecture et de priorisation des alertes.
Contexte
Wazuh est revenu souvent dans mes lectures sur la détection d'intrusion et la supervision de sécurité. Plutôt que de le lire en théorie, j'ai voulu le faire tourner sur quelque chose de réel : mon VPS ARM64, qui héberge déjà mon portfolio, mon VPN WireGuard et quelques services.
L'idée n'était pas de produire un rapport d'audit parfait, mais de comprendre ce qu'un SIEM voit quand il surveille un système en production.
Architecture
Comme le reste du homelab, le dashboard n'est pas exposé sur Internet : il n'est accessible que depuis le VPN WireGuard.
Ce que Wazuh remonte
Une fois l'agent actif, le dashboard devient intéressant rapidement. Quelques exemples concrets sur mon serveur :
- Tentatives de connexion SSH sur des ports non standard détectées et classifiées
- Alertes sur des modifications de fichiers système (
/etc/passwd,/etc/shadow) - Activité Docker : création et destruction de conteneurs tracée en temps réel
- Authentifications réussies et échouées avec géolocalisation des IPs sources
Ce n'est pas spectaculaire en isolation, mais voir ces événements corrélés dans un seul endroit change la façon dont on lit un système.
La vue SCA
Le module SCA lance des vérifications automatiques contre le CIS Ubuntu 24.04 LTS Benchmark.

La capture montre le résultat sur mon serveur : 118 passed, 119 failed, score de 49 %.
Ce chiffre n'est pas une alerte en soi. Le Benchmark CIS est exigeant par construction, et beaucoup de contrôles concernent des configurations qui n'ont pas de sens pour tous les contextes. Ce qui est utile, c'est de lire pourquoi un contrôle échoue et décider si ça compte pour ton cas précis.
C'est ce travail de lecture et de priorisation qui m'intéresse, pas la course au 100 %.
Ce que j'en retiens
Déployer un SIEM sur son propre infra oblige à prendre des décisions concrètes : qu'est-ce qu'on surveille, à quel niveau de bruit on tolère, qu'est-ce qu'on considère comme une vraie alerte. Ce sont exactement les questions qu'on se pose en SOC ou en réponse à incident, juste à plus petite échelle.
Projets proches
Indian Food : pipeline DevSecOps pour un site vitrine
Site vitrine statique d'un restaurant, déployé sur Oracle Cloud ARM64 derrière une chaîne DevSecOps : analyse statique, scan de dépendances, tests dynamiques et déploiement automatisé.
2026DevSecOpsDockerNginxCI/CD
Mon budget : une application de prévision de solde
Application web qui répond à "combien j'aurai à telle date ?" et "quand est-ce que ça coince ?", avec un moteur de calcul testé, plusieurs budgets étanches et une authentification à double vérification. Déployée sur mon VPS ARM64.
2026Next.jsTypeScriptSQLiteargon2id
Umami : statistiques de visite auto-hébergées
Statistiques de visite sans cookie, auto-hébergées sur VPS ARM64. La collecte est publique, le dashboard n'est accessible que par le VPN WireGuard.
2026UmamiDockerTraefikWireGuard