Plugin GLPI SIEM-Wazuh
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
- Se connecter en tant qu'administrateur GLPI
- Aller dans Configuration > Plugins
- Localiser le plugin "SIEM - Wazuh"
- Cliquer sur Installer
- Cliquer sur Activer
3. Configuration Initiale
Configuration des Droits
- Administration > Profils
- Sélectionner le profil à configurer
- Onglet SIEM Wazuh Rights
- Attribuer les droits appropriés :
- Configuration : Accès à la configuration
- Servers : Gestion des serveurs Wazuh
- Alerts : Consultation des alertes
Ajout d'un Serveur Wazuh
- Administration > Serveurs Wazuh
- Cliquer sur + (Ajouter)
- 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)
- Tester la connexion
- Enregistrer
Configuration Générale
- Outils > Configuration SIEM Wazuh
- 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 :
- Par nom d'hôte :
agent.name
→computers.name
- Par adresse IP :
agent.ip
→networkports.ip
- Sensible à la casse : Configurable
- 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
- Administration > Tâches automatiques
- Rechercher "Wazuh"
- Activer les tâches
- 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 :
- Niveau de règle minimum trop élevé
- Serveur inactif
- Pas d'alertes récentes dans Wazuh
- Erreurs dans les logs : Debug & Logs
Logs de Débogage
Activer le mode debug :
- Outils > Configuration SIEM Wazuh
- Onglet Debug & Logs
- Mode debug : Activé
- Niveau de log : Debug
- 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
- Fork le projet
- Créer une branche feature (
git checkout -b feature/nouvelle-fonctionnalite
) - Commiter les modifications (
git commit -m 'Ajout nouvelle fonctionnalité'
) - Pousser sur la branche (
git push origin feature/nouvelle-fonctionnalite
) - Créer une Pull Request
Licence
Ce plugin est distribué sous licence GPL v2+. Voir le fichier LICENSE pour plus de détails.
Support
- 🐛 Issues : GitHub Issues
- 💬 Discussions : GitHub Discussions
- 📧 Email : support@siem-wazuh.org
- 📖 Documentation : Wiki
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
SIEM - Wazuh
Latest
Languages
PHP
87.1%
JavaScript
8.3%
CSS
4.6%