Files
SIEM---Wazuh/README.md
2025-08-27 21:17:28 +02:00

10 KiB

Plugin GLPI SIEM-Wazuh

Version GLPI License

Description

Le plugin SIEM-Wazuh permet l'intégration complète entre Wazuh (solution SIEM open source) et GLPI (système de gestion des services IT). Il permet de :

  • Surveiller automatiquement les serveurs Wazuh configurés
  • Récupérer les alertes de sécurité en temps réel
  • Associer automatiquement les alertes aux assets de l'inventaire GLPI
  • Créer automatiquement des tickets pour les incidents critiques
  • Gérer centralement la configuration depuis l'interface GLPI

Fonctionnalités

🛡️ Surveillance Proactive

  • Synchronisation automatique des alertes Wazuh
  • Configuration de multiples serveurs Wazuh
  • Filtrage par niveau de règle et sévérité
  • Intervalle de synchronisation configurable

🔗 Intégration Assets

  • Association automatique alertes ↔ ordinateurs
  • Association automatique alertes ↔ équipements réseau
  • Correspondance par nom d'hôte et adresse IP
  • Onglets dédiés sur chaque asset

🎫 Gestion des Tickets

  • Création automatique de tickets GLPI
  • Configuration des types et catégories
  • Priorité automatique basée sur la sévérité
  • Assignation automatique configurables

🌍 Interface Multilingue

Support complet pour :

  • 🇫🇷 Français
  • 🇬🇧 Anglais
  • 🇩🇪 Allemand
  • 🇪🇸 Espagnol
  • 🇮🇹 Italien
  • 🇵🇹 Portugais
  • 🇵🇱 Polonais

⚙️ Configuration Avancée

  • Interface de configuration intuitive
  • Gestion granulaire des droits utilisateur
  • Logs de débogage détaillés
  • Statistiques et tableaux de bord

Prérequis

Système

  • GLPI : Version 10.0.0 minimum
  • PHP : Version 7.4 minimum
  • Extensions PHP : curl, json, mbstring, openssl
  • Base de données : MySQL 5.7+ ou MariaDB 10.2+

Wazuh

  • Wazuh Manager : Version 4.0+ recommandée
  • API Wazuh : Accès avec authentification
  • Wazuh Indexer : Optionnel (pour requêtes avancées)

Installation

1. Téléchargement

cd /path/to/glpi/plugins/
wget https://github.com/siem-wazuh/glpi-plugin/releases/download/1.0.0/siem-wazuh-1.0.0.tar.gz
tar -xzf siem-wazuh-1.0.0.tar.gz

2. Installation via Interface GLPI

  1. Se connecter en tant qu'administrateur GLPI
  2. Aller dans Configuration > Plugins
  3. Localiser le plugin "SIEM - Wazuh"
  4. Cliquer sur Installer
  5. Cliquer sur Activer

3. Configuration Initiale

Configuration des Droits

  1. Administration > Profils
  2. Sélectionner le profil à configurer
  3. Onglet SIEM Wazuh Rights
  4. Attribuer les droits appropriés :
    • Configuration : Accès à la configuration
    • Servers : Gestion des serveurs Wazuh
    • Alerts : Consultation des alertes

Ajout d'un Serveur Wazuh

  1. Administration > Serveurs Wazuh
  2. Cliquer sur + (Ajouter)
  3. Remplir les informations :
    Nom connexion: Serveur Wazuh Production
    URL Serveur Wazuh: https://wazuh-manager.domain.com
    Port API: 55000
    Login API: wazuh
    Mot de passe API: [mot_de_passe_sécurisé]
    Intervalle de synchronisation: 300 (secondes)
    
  4. Tester la connexion
  5. Enregistrer

Configuration Générale

  1. Outils > Configuration SIEM Wazuh
  2. Configurer les paramètres selon vos besoins :
    • Synchronisation automatique : Activé
    • Création automatique de tickets : Activé
    • Niveau de règle minimum : 5
    • Rétention des alertes : 90 jours

Configuration

Paramètres de Synchronisation

Paramètre Description Valeur par défaut
sync_enabled Active la synchronisation 1 (Oui)
max_alerts_per_sync Maximum d'alertes par sync 100
min_rule_level Niveau minimum des règles 5
sync_interval Intervalle en secondes 300

Mapping des Assets

Le plugin associe automatiquement les alertes aux assets GLPI :

  1. Par nom d'hôte : agent.namecomputers.name
  2. Par adresse IP : agent.ipnetworkports.ip
  3. Sensible à la casse : Configurable
  4. Patterns à ignorer : localhost, 127.0.0.1, etc.

Création de Tickets

Les tickets sont créés automatiquement selon ces règles :

Niveau Règle Sévérité Priorité Ticket
1-4 Low Très faible
5-6 Low Faible
7-9 Medium Moyenne
10-11 High Élevée
12+ Critical Très élevée

Utilisation

Consultation des Alertes

Sur les Assets

  • Aller sur un ordinateur ou équipement réseau
  • Cliquer sur l'onglet "Alertes Wazuh"
  • Consulter le résumé et la liste des alertes

Vue Globale

  • Outils > Configuration SIEM Wazuh
  • Consulter les statistiques générales
  • Filtrer par serveur, sévérité, statut

Actions Disponibles

Sur les Alertes

  • Marquer comme traitée
  • Ignorer l'alerte
  • 🎫 Créer un ticket manuellement
  • 📊 Exporter en CSV

Sur les Serveurs

  • 🔧 Tester la connexion
  • 🔄 Synchroniser manuellement
  • ⏯️ Activer/Désactiver
  • 📈 Consulter les statistiques

Tâches Automatisées

Cron Jobs

Le plugin configure automatiquement deux tâches :

# Synchronisation des alertes (toutes les 5 minutes)
*/5 * * * * php /path/to/glpi/front/cron.php --force=PluginSiemWazuhAlert-sync_alerts

# Nettoyage des anciennes alertes (quotidien)
0 2 * * * php /path/to/glpi/front/cron.php --force=PluginSiemWazuhAlert-cleanup_old_alerts

Activation des Tâches

  1. Administration > Tâches automatiques
  2. Rechercher "Wazuh"
  3. Activer les tâches
  4. Configurer la fréquence si nécessaire

Dépannage

Problèmes Courants

Connexion Échouée

Erreur: Connection failed: cURL error 7: Failed to connect

Solutions :

  • Vérifier l'URL et le port du serveur
  • Contrôler les règles de firewall
  • Tester depuis le serveur GLPI : curl -k https://wazuh-server:55000

Authentification Échouée

Erreur: Authentication failed: 401 Unauthorized

Solutions :

  • Vérifier les identifiants API
  • Contrôler les permissions utilisateur Wazuh
  • Vérifier que l'utilisateur existe : GET /security/users

Pas d'Alertes Synchronisées

Vérifications :

  1. Niveau de règle minimum trop élevé
  2. Serveur inactif
  3. Pas d'alertes récentes dans Wazuh
  4. Erreurs dans les logs : Debug & Logs

Logs de Débogage

Activer le mode debug :

  1. Outils > Configuration SIEM Wazuh
  2. Onglet Debug & Logs
  3. Mode debug : Activé
  4. Niveau de log : Debug
  5. Consulter la section Logs récents

Support et Logs Système

# Logs Apache/Nginx
tail -f /var/log/apache2/error.log | grep -i wazuh

# Logs PHP
tail -f /var/log/php/error.log | grep -i wazuh

# Logs GLPI
tail -f /var/log/glpi/glpi.log | grep -i wazuh

API et Intégration

Endpoints Disponibles

Le plugin expose quelques endpoints pour intégration :

GET  /plugins/siem-wazuh/ajax/sync_alerts.php?action=status
POST /plugins/siem-wazuh/ajax/sync_alerts.php (sync)
POST /plugins/siem-wazuh/ajax/test_connection.php

Webhooks Wazuh

Pour recevoir les alertes en temps réel, configurez un webhook :

<!-- /var/ossec/etc/ossec.conf -->
<integration>
  <name>webhook</name>
  <hook_url>https://glpi.domain.com/plugins/siem-wazuh/webhook.php</hook_url>
  <level>7</level>
  <rule_id>100001,100002</rule_id>
  <alert_format>json</alert_format>
</integration>

Développement

Structure du Plugin

plugins/siem-wazuh/
├── README.md                 # Documentation
├── CHANGELOG.md             # Historique des versions
├── LICENSE                  # Licence GPL v2+
├── SIEM-Wazuh.xml          # Descripteur plugin
├── setup.php               # Configuration principale
├── hook.php                # Installation/désinstallation
├── inc/                    # Classes PHP
│   ├── wazuhserver.class.php
│   ├── wazuhalert.class.php
│   ├── wazuhconfig.class.php
│   ├── wazuhtab.class.php
│   └── wazuhapi.class.php
├── front/                  # Interface web
│   ├── wazuhserver.php
│   ├── wazuhserver.form.php
│   └── wazuhconfig.php
├── ajax/                   # Requêtes AJAX
│   ├── test_connection.php
│   └── sync_alerts.php
├── locales/               # Traductions
│   ├── fr_FR.po
│   ├── en_GB.po
│   └── ...
├── css/                   # Feuilles de style
│   └── style.css
├── js/                    # JavaScript
│   └── wazuh.js
├── pics/                  # Images
│   └── wazuh-logo.png
└── sql/                   # Scripts SQL
    ├── install.sql
    └── uninstall.sql

Contribution

  1. Fork le projet
  2. Créer une branche feature (git checkout -b feature/nouvelle-fonctionnalite)
  3. Commiter les modifications (git commit -m 'Ajout nouvelle fonctionnalité')
  4. Pousser sur la branche (git push origin feature/nouvelle-fonctionnalite)
  5. Créer une Pull Request

Licence

Ce plugin est distribué sous licence GPL v2+. Voir le fichier LICENSE pour plus de détails.

Support

Changelog

Version 1.0.0 (2024-01-01)

  • 🎉 Version initiale
  • Support multiples serveurs Wazuh
  • Synchronisation automatique des alertes
  • Association avec assets GLPI
  • Création automatique de tickets
  • Interface multilingue (7 langues)
  • Gestion des droits utilisateur
  • API REST pour intégration
  • Logs de débogage complets

Made with ❤️ by the SIEM-Wazuh Team