Wazuh : Une plateforme SIEM Open Source pour une supervision de sécurité complète

Dans un environnement informatique où les menaces évoluent rapidement, la supervision centralisée des logs et la détection proactive des incidents ne sont plus des options, mais des nécessités. Les entreprises doivent faire face à des cyberattaques de plus en plus sophistiquées, à des obligations réglementaires croissantes et à des infrastructures de plus en plus complexes et distribuées. Parmi les nombreuses solutions disponibles, Wazuh se démarque comme une plateforme Open Source complète, capable de répondre aux besoins des entreprises en matière de SIEM (Security Information and Event Management) et de supervision, sans les contraintes budgétaires des solutions propriétaires.

Qu’est-ce que Wazuh ?

Wazuh est une plateforme gratuite et Open Source dédiée à la détection de menaces, à la surveillance de la sécurité et à la conformité réglementaire. Utilisée dans le monde entier par des organisations de toutes tailles, elle protège aussi bien les serveurs et postes de travail que les périphériques réseau et les environnements cloud. Sa conception modulaire et son modèle de développement ouvert en font une solution particulièrement adaptée aux besoins évolutifs des infrastructures modernes.

Le fonctionnement de Wazuh repose sur des agents légers installés sur les systèmes à surveiller. Ces agents collectent en temps réel des données de logs, analysent leur contenu selon des règles de sécurité prédéfinies, et génèrent des alertes en cas de comportement suspect. Ils sont capables de détecter des intrusions, de surveiller l’intégrité des fichiers, d’analyser les configurations système et de vérifier la conformité aux normes de sécurité en vigueur. Cette approche distribuée permet une surveillance granulaire de chaque composant de l’infrastructure tout en centralisant l’analyse et la corrélation des événements.

L’architecture de Wazuh s’articule autour de trois composants principaux qui travaillent en synergie pour offrir une vision complète de la sécurité. Le premier composant est le Wazuh Agent, installé sur chaque système à surveiller. Cet agent joue le rôle de capteur local, détectant les anomalies et collectant les données de sécurité pertinentes avant de les transmettre au composant central. Le deuxième élément est le Wazuh Server, également appelé Manager, qui constitue le cerveau de la plateforme. C’est lui qui analyse les données reçues, applique les règles de corrélation et orchestre l’ensemble du processus de détection. Enfin, le troisième composant s’appuie sur la stack OpenSearch : le Wazuh Indexer assure l’indexation et la recherche performante dans les données, tandis que Wazuh Dashboards offre une interface de visualisation et de gestion des alertes intuitive et puissante.

Principales fonctionnalités

Wazuh propose un système de SIEM complet et natif qui constitue l’une de ses forces majeures. La plateforme effectue une corrélation d’événements en temps réel, permettant de détecter des schémas d’attaque complexes qui ne seraient pas visibles en analysant les événements de manière isolée. Elle dispose de règles de détection prêtes à l’emploi couvrant un large spectre de menaces, des intrusions aux anomalies comportementales en passant par les malwares. Les alertes générées sont automatiquement enrichies avec des données réglementaires conformes aux standards internationaux tels que PCI DSS, GDPR, HIPAA et NIST, et sont mappées avec les références du framework MITRE ATT&CK, facilitant ainsi la compréhension du contexte et de la gravité des incidents.

La collecte et la normalisation des logs constituent un autre pilier de la solution. Wazuh supporte une grande variété de formats de logs, incluant journald, syslog, JSON et de nombreux formats spécifiques à différentes applications et systèmes. Cette compatibilité étendue permet d’intégrer facilement des sources de données hétérogènes au sein d’une même plateforme de supervision. L’intégration avec Filebeat optimise davantage le parsing et l’indexation des logs, assurant des performances élevées même dans des environnements générant des volumes massifs de données.

La surveillance de l’intégrité des fichiers, connue sous l’acronyme FIM (File Integrity Monitoring), représente une fonctionnalité critique pour la détection des compromissions. Wazuh détecte instantanément les modifications non autorisées sur les fichiers critiques, qu’il s’agisse de changements dans le contenu, les permissions ou le propriétaire. Le système effectue un suivi précis de tous les fichiers ajoutés, modifiés ou supprimés, avec une journalisation détaillée des actions et de l’utilisateur à l’origine des changements. Cette capacité permet de détecter rapidement les tentatives de modification de fichiers système ou de configuration qui pourraient indiquer une intrusion ou une élévation de privilèges.

L’analyse de vulnérabilités intégrée à Wazuh apporte une dimension proactive à la sécurité. La plateforme maintient automatiquement un inventaire des logiciels installés sur les systèmes surveillés et corrèle ces informations avec les bases de données CVE mises à jour en temps réel, notamment celles du National Vulnerability Database (NVD), de Red Hat et de Canonical. Dès qu’une application vulnérable est détectée, Wazuh génère une alerte avec une classification par niveau de criticité, permettant aux équipes de sécurité de prioriser les actions de remédiation.

La protection des endpoints est assurée par une surveillance continue multi-dimensionnelle. Wazuh surveille en permanence les processus en cours d’exécution, les ports ouverts, les connexions réseau actives et les configurations sensibles du système. Cette approche holistique permet de détecter des anomalies comportementales et des rootkits qui pourraient échapper à des outils de surveillance plus traditionnels. La plateforme effectue également un audit des commandes exécutées et des accès aux fichiers sensibles, créant ainsi une piste d’audit complète de l’activité sur les endpoints.

L’intégration avec OpenSearch constitue un atout majeur de Wazuh, offrant des capacités de stockage et de recherche haute performance même à grande échelle. Cette intégration permet de gérer efficacement des volumes considérables d’événements tout en maintenant des temps de réponse rapides pour les requêtes. La solution propose des tableaux de bord de sécurité préconfigurés couvrant la détection des menaces, la conformité réglementaire et l’analyse forensique. L’interface Wazuh, intégrée à OpenSearch Dashboards, offre une visualisation intuitive qui facilite l’analyse rapide et efficace des incidents, permettant aux analystes de se concentrer sur l’investigation plutôt que sur la manipulation des données.

Pourquoi choisir Wazuh ?

Wazuh présente de nombreux avantages qui en font une solution de choix pour la supervision de sécurité. Sa réactivité se manifeste par une détection en temps réel des menaces, avec des alertes enrichies et une corrélation avancée intégrant des données d’intelligence sur les menaces. Cette capacité à identifier rapidement les incidents permet de réduire considérablement le temps de réponse et de limiter l’impact potentiel des attaques.

La polyvalence de la plateforme constitue un autre atout majeur. Wazuh assure la surveillance des hôtes et du réseau, et offre des possibilités d’intégration avec d’autres outils de sécurité. Par exemple, il peut être couplé avec Suricata pour la détection d’intrusions réseau (NIDS), ou avec VirusTotal pour l’analyse de réputation des fichiers. Cette capacité d’intégration permet de construire un écosystème de sécurité cohérent et complet, où Wazuh joue le rôle de point central de corrélation et de visualisation.

La personnalisation est profondément ancrée dans l’ADN de Wazuh. Les règles de détection peuvent être modifiées et adaptées aux besoins spécifiques de chaque organisation. La plateforme offre également des possibilités d’intégration via API, permettant d’automatiser des workflows et d’adapter la solution aux processus métiers existants. Cette flexibilité est essentielle dans un contexte où chaque organisation présente des spécificités et des exigences particulières en matière de sécurité.

Les dashboards prêts à l’emploi facilitent grandement la mise en place initiale. Les équipes peuvent disposer rapidement d’une supervision opérationnelle sans nécessiter des semaines de configuration. Cette approche permet de générer de la valeur dès les premières heures de déploiement, tout en laissant la possibilité d’affiner progressivement la configuration au fil du temps.

Wazuh s’avère particulièrement adapté aux environnements distribués, qu’il s’agisse d’infrastructures multi-sites ou multi-clusters. Son architecture scalable permet de gérer aussi bien une dizaine que plusieurs milliers d’agents, tout en maintenant des performances élevées. Cette capacité à s’adapter à des environnements complexes et géographiquement dispersés en fait une solution de choix pour les organisations de moyenne et grande taille.

Enfin, le caractère Open Source de Wazuh représente un avantage considérable. L’absence de coûts de licence permet aux organisations de déployer la solution à grande échelle sans contraintes budgétaires, contrairement aux solutions SIEM propriétaires qui peuvent atteindre des coûts prohibitifs. La communauté active qui gravite autour du projet assure un développement continu, des mises à jour régulières et un support communautaire réactif. La documentation riche et constamment mise à jour facilite l’adoption et la montée en compétence des équipes.

Cas d’usage : génération et visualisation d’une alerte Wazuh

architecture wazuh

Pour illustrer concrètement le fonctionnement de Wazuh, examinons un cas d’usage pratique montrant le parcours complet d’un événement, depuis sa génération jusqu’à sa visualisation dans les dashboards. L’architecture typique d’un déploiement Wazuh implique que les agents surveillent chaque serveur, machine virtuelle ou conteneur de l’infrastructure. Les événements détectés sont envoyés au manager central qui applique les règles de corrélation pour identifier les incidents de sécurité. Les données sont ensuite indexées dans OpenSearch, et le dashboard permet leur visualisation et leur analyse par les équipes de sécurité.

Création de l’alerte

Pour tester la détection d’événements et vérifier le bon fonctionnement de la chaîne de traitement, une tentative de connexion SSH invalide a été générée volontairement sur une machine virtuelle Wazuh du site A. Cette simulation peut être réalisée de deux manières : soit en injectant directement un message de log formaté avec la commande logger "sshd: Failed password for root from 1.2.3.4 port 22 ssh2", soit plus simplement en effectuant une vraie tentative de connexion avec un utilisateur inexistant via la commande ssh invaliduser@localhost.

Les agents déployés sur le site A ont correctement récupéré le log généré, en y ajoutant automatiquement un horodatage précis, puis l’ont transmis au manager central. Celui-ci a ensuite appliqué les règles de corrélation configurées pour identifier l’événement comme une alerte de sécurité. Le processus de corrélation examine le contenu du log, le compare aux patterns définis dans les règles, et détermine le niveau de sévérité approprié en fonction du contexte.

La configuration des règles dans Wazuh est réalisée au format XML, offrant à la fois structure et lisibilité. Voici un exemple d’extrait de configuration d’une règle personnalisée dans le Wazuh Manager :

<group name="test,">
  <rule id="100002" level="2">
    <decoded_as>json</decoded_as>
    <field name="test_alert">true</field>
    <description>Test custom alert</description>
  </rule>
</group>

Cette règle simple illustre les composants de base d’une règle Wazuh : un identifiant unique, un niveau de sévérité, des critères de détection basés sur des champs spécifiques, et une description claire de l’alerte générée. Dans des scénarios réels, les règles peuvent devenir beaucoup plus complexes, intégrant des conditions multiples, des seuils de fréquence, et des corrélations avec d’autres événements.

Indexation dans OpenSearch

Une fois l’événement analysé par le manager, celui-ci l’a transmis vers l’infrastructure OpenSearch pour indexation et stockage. Dans cet exemple d’architecture multi-sites, le manager a envoyé les données vers l’indexer A, qui correspond au cluster OpenSearch du site A. Une fonctionnalité particulièrement puissante d’OpenSearch entre alors en jeu : le Cross Cluster Search (CCS).

Le CCS permet de relier plusieurs clusters OpenSearch entre eux, créant ainsi une fédération de recherche. Dans notre configuration, l’indexer A est relié à l’indexer B, qui joue le rôle de cluster principal. Cette architecture présente l’avantage de distribuer la charge d’indexation entre plusieurs sites tout en offrant un point d’accès centralisé pour les recherches. Ainsi, lorsque le Wazuh Dashboard filtre les logs par index spécifique (par exemple index-A), l’indexer B interroge automatiquement l’indexer A à travers la connexion CCS et affiche les résultats sur le dashboard centralisé, créant ainsi une expérience transparente pour l’utilisateur.

Pour vérifier que le Cross Cluster Search fonctionne correctement, il est possible d’interroger l’API OpenSearch avec la commande suivante :

curl -X GET "localhost:9200/_remote/info?pretty"

Un résultat attendu confirmant la bonne configuration ressemble à ceci :

{
  "opensearch-cluster-A": {
    "connected": true,
    "mode": "sniff",
    "seeds": [ "172.16.35.47:9300" ],
    "num_nodes_connected": 1,
    "max_connections_per_cluster": 1,
    "initial_connect_timeout": "30s",
    "skip_unavailable": true
  }
}

Ce résultat indique que la connexion vers le cluster distant opensearch-cluster-A est active, que le mode de découverte “sniff” est utilisé pour identifier automatiquement les noeuds du cluster, et que le système est configuré pour continuer à fonctionner même si ce cluster distant devient temporairement indisponible (skip_unavailable: true).

Visualisation dans OpenSearch Dashboards

La dernière étape consiste à configurer correctement OpenSearch Dashboards pour visualiser les données provenant des différents clusters. Il est nécessaire de créer des index patterns globaux qui permettront d’interroger les données à travers les connexions CCS. Cette configuration se réalise en accédant à la section Stack Management puis Index Patterns dans l’interface d’OpenSearch Dashboards.

Il convient de créer des patterns distincts pour chaque cluster (Indexer A, B et C dans notre exemple). Ces patterns définissent quels index seront visibles et interrogeables depuis l’interface de visualisation. Pour vérifier les index disponibles sur un cluster distant, on peut utiliser la commande :

curl -X GET "localhost:9200/_cat/indices/opensearch-cluster-A:*?v"

Cette commande liste tous les index du cluster distant opensearch-cluster-A, permettant de vérifier que les données sont correctement indexées. Pour aller plus loin et interroger un index précis, par exemple nommé test-index, on peut exécuter :

curl -X GET "http://localhost:9200/opensearch-cluster-A:test-index/_search?pretty"

Une réponse typique à cette requête ressemble à ceci :

{
  "took" : 6,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "_clusters" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "opensearch-cluster-A:test-index",
        "_id" : "ck65dZgB6xFtj57rdv-J",
        "_score" : 1.0,
        "_source" : {
          "message" : "Unknown user",
          "timestamp" : "2025-08-04T15:35:45Z"
        }
      }
    ]
  }
}

Cette réponse confirme que l’index distant est accessible, que la recherche a abouti en 6 millisecondes, et qu’un document correspondant à notre alerte a été trouvé. Le champ _source contient les données brutes de l’événement, incluant le message d’erreur et l’horodatage précis.

Pour visualiser ces données dans l’interface graphique, il suffit de se rendre dans la section Discover d’OpenSearch Dashboards et de sélectionner le nouvel index pattern créé précédemment, par exemple “test-index”. L’interface permet ensuite de basculer facilement entre les différents index patterns correspondant aux trois Wazuh indexers A, B et C, offrant ainsi une vue unifiée sur l’ensemble de l’infrastructure distribuée.

Il est important de noter que le contenu du champ message dans l’index peut varier selon plusieurs facteurs. Premièrement, le type de log généré influence directement le contenu : un message injecté via logger produira un contenu différent d’une vraie tentative SSH, qui pourrait générer des messages variés comme “Failed password for root”, “Invalid user” ou “Unknown user” selon le contexte. Deuxièmement, le parsing effectué par Wazuh joue un rôle crucial : certaines règles extraient des champs spécifiques (comme src ip, user ou program) et normalisent l’événement, ce qui signifie que l’indexation ne contiendra pas toujours la même structure JSON. Enfin, la version et la configuration d’OpenSearch influencent également la présentation des données, le mapping et les index patterns pouvant modifier la façon dont les logs apparaissent dans l’interface.

architecture wazuh

Le résultat attendu dans OpenSearch Dashboards présente une vue structurée de l’alerte, avec tous les champs extraits et normalisés clairement affichés. Il est crucial de comprendre que le contenu affiché dépend directement des règles configurées dans le Wazuh Manager. Dans l’exemple présenté, la règle personnalisée génère une description spécifique et un champ full_log contenant le message “Second manual alert for testing”. Selon la règle appliquée ou le scénario d’attaque détecté, le message peut donc varier considérablement, mais le flux fondamental reste identique : détection par l’agent, corrélation par le manager, indexation dans OpenSearch, et visualisation dans les dashboards.

Conclusion

Wazuh est bien plus qu’un simple outil de collecte de logs. C’est une plateforme SIEM complète et mature, prête à renforcer significativement la sécurité de votre infrastructure tout en assurant une supervision efficace et continue. Dans un monde où les cybermenaces évoluent chaque jour et où les exigences réglementaires se renforcent constamment, Wazuh offre une combinaison rare de puissance technique, de flexibilité opérationnelle et d’absence de coûts de licence qui en fait un choix stratégique pour de nombreuses entreprises.

La plateforme permet non seulement de détecter les incidents de sécurité en temps réel, mais aussi de maintenir une posture de conformité réglementaire, de gérer les vulnérabilités de manière proactive, et de disposer d’une piste d’audit complète de toutes les activités sur l’infrastructure. Son architecture distribuée et scalable s’adapte aussi bien aux petites organisations qu’aux grandes entreprises multi-sites, et sa nature Open Source garantit une évolution continue portée par une communauté internationale active.

Pour les organisations cherchant à moderniser leur approche de la sécurité informatique sans engagement financier majeur, Wazuh représente une opportunité exceptionnelle de déployer une solution de classe entreprise qui rivalise avec les offres commerciales les plus sophistiquées, tout en conservant la maîtrise totale de l’infrastructure et des données de sécurité.