Skip to content

Ventaryss/HERMES

Repository files navigation

🛡️ HERMES v3

Highly Efficient Real-time Monitoring and Event System

Plateforme Unifiée de Monitoring, Logs & Sécurité


Version Docker License Status

Solution professionnelle tout-en-un pour le monitoring, l'agrégation de logs et la sécurité IT


📋 Table des matières


🎯 Présentation

HERMES v3 centralise logs, métriques et événements de sécurité dans une solution unifiée et clé en main.

🌟 Points forts

  • 🚀 Déploiement 1-click : Installation complète automatisée
  • 🔐 Sécurité intégrée : Génération auto de mots de passe sécurisés
  • 📡 Multi-sources : Firewalls, serveurs, applications, Docker
  • 🛡️ SIEM intégré : Wazuh pour détection d'intrusions
  • 📊 Visualisation : Grafana + Wazuh Dashboard
  • Léger : Stack PLG (10x moins de RAM qu'ELK)

✨ Nouveautés v3

🎨 Script de Gestion Unifié

sudo ./gestion_HERMES.sh  # 29 options complètes

Catégories :

  • ⚙️ Installation & Démarrage (1-6)
  • 📊 Dashboards Grafana (7-11)
  • 💾 Sauvegardes (12-14)
  • 📝 Logs (15-16)
  • 💉 Healthcheck (17-19)
  • 📡 Sources de Logs (20-24) ← NOUVEAU
  • 🔐 Gestion Credentials (25-29) ← NOUVEAU

🔐 Credentials Sécurisés

  • ✅ Génération auto mots de passe forts (24-48 car.)
  • ✅ Backup sécurisé .credentials_backup (chmod 600)
  • ✅ Options régénération et récupération

📡 Gestion Sources

  • ✅ Ajout interactif (firewalls, serveurs, apps, Docker)
  • ✅ Auto-config Promtail et rsyslog
  • ✅ Templates pré-config (pfSense, Palo Alto, etc.)

🛡️ Wazuh SIEM

  • ✅ Détection intrusions (IDS/IPS)
  • ✅ File Integrity Monitoring
  • ✅ Conformité (PCI DSS, HIPAA)
  • ✅ Analyse vulnérabilités

🏗️ Architecture

HERMES v3 Platform
├─ Interfaces Web
│  ├─ Grafana (3000)
│  ├─ Wazuh Dashboard (5601)
│  └─ Prometheus (9090)
├─ Data Layer
│  ├─ Loki (logs)
│  ├─ Wazuh Indexer (security)
│  ├─ InfluxDB (time-series)
│  └─ Prometheus (metrics)
└─ Collection
   ├─ Promtail (logs)
   ├─ Wazuh Agent (security)
   └─ Node Exporter (metrics)

⚙️ Stack Technologique

Monitoring & Métriques

Service Version Port
Prometheus 2.48.1 9090
Node Exporter 1.7.0 9100
InfluxDB 2.7 8086

Logs

Service Version Port
Loki 2.9.3 3100
Promtail 2.9.3 9080
Grafana 10.2.3 3000

Sécurité

Service Version Port
Wazuh Manager 4.7.2 1514, 55000
Wazuh Indexer 4.7.2 9200
Wazuh Dashboard 4.7.2 5601

🚀 Installation

Prérequis

OS: Linux (Ubuntu 20.04+, Debian 11+)
RAM: 4 GB min (8 GB recommandé)
Disque: 50 GB min
CPU: 2 cores min
Docker: 24.0+
Docker Compose: v2.20+

Installation 3 commandes

# 1. Cloner
git clone https://github.com/votre-org/HERMES.git
cd HERMES

# 2. Permissions
chmod +x gestion_HERMES.sh

# 3. Installer
sudo ./gestion_HERMES.sh
# Choisir option 1

✅ Installation Docker
✅ Génération mots de passe
✅ Configuration auto
✅ Déploiement conteneurs
✅ Affichage credentials

⏱️ Durée : 5-10 minutes


📦 Services

Interfaces Web

🎨 Grafana           → http://localhost:3000
   User: admin / Pass: [auto-généré]
   
🛡️ Wazuh Dashboard   → http://localhost:5601
   User: admin / Pass: [auto-généré]
   
📊 Prometheus        → http://localhost:9090
   
🗄️ InfluxDB          → http://localhost:8086
   User: admin / Pass: [auto-généré]

Vérifier

# État services
sudo docker compose ps

# Via script (option 6)
sudo ./gestion_HERMES.sh

🔐 Credentials

Afficher

sudo ./gestion_HERMES.sh
# Option 25 : Masqués
# Option 26 : En clair (confirmation)

Regénérer

# TOUS les mots de passe
sudo ./gestion_HERMES.sh  # Option 27

# Un service spécifique  
sudo ./gestion_HERMES.sh  # Option 28

Exporter

sudo ./gestion_HERMES.sh  # Option 29
# Fichier: hermes-credentials-DATE.txt (chmod 600)

Fichiers

.credentials_backup               # Backup auto
.env.backup-YYYYMMDD-HHMMSS      # Backup avant modif

📡 Sources de Logs

Ajouter

sudo ./gestion_HERMES.sh  # Option 21

Types supportés

1. 🔥 Firewalls

Templates : pfSense, Palo Alto, Stormshield, Fortinet, Cisco

Auto-config :

  • Règle rsyslog
  • Port d'écoute
  • Forward Promtail

2. 🖥️ Serveurs Linux

Config serveur distant :

# /etc/rsyslog.conf
*.* @@<IP_HERMES>:514
sudo systemctl restart rsyslog

3. 📱 Applications

Formats : JSON, Nginx, Apache, Custom regex

Exemple :

Nom: nginx-app
Chemin: /var/log/nginx/*.log
Format: nginx

4. 🐳 Docker

Auto-découverte :

Pattern: nginx-*
Format: json

Gestion

# Lister
sudo ./gestion_HERMES.sh  # Option 20

# Supprimer
sudo ./gestion_HERMES.sh  # Option 22

# Appliquer changements
sudo ./gestion_HERMES.sh  # Option 23

🛠️ Gestion

Menu (29 options)

⚙️ INSTALLATION

  1. Installation complète
  2. Installation rapide
  3. Démarrer
  4. Arrêter
  5. Redémarrer
  6. Statut

📊 DASHBOARDS

  1. Lister
  2. Importer JSON
  3. Installer template
  4. Exporter
  5. Redémarrer Grafana

💾 SAUVEGARDES

  1. Complète
  2. Configuration
  3. Volumes

📝 LOGS

  1. Suivre service
  2. Exporter

💉 DIAGNOSTIC

  1. Santé services
  2. Ports
  3. Complet

📡 SOURCES

  1. Lister
  2. Ajouter
  3. Supprimer
  4. Appliquer
  5. Guide config

🔐 CREDENTIALS

  1. Afficher (masqués)
  2. Révéler (clair)
  3. Regénérer
  4. Changer spécifique
  5. Exporter

Docker Compose

# Démarrer
sudo docker compose up -d

# Arrêter
sudo docker compose down

# Logs
sudo docker compose logs -f grafana

# Statut
sudo docker compose ps

Sauvegardes

# Via script (recommandé)
sudo ./gestion_HERMES.sh  # Option 12

# Manuel config
tar -czf backup.tar.gz docker-compose.yml .env config/

# Restaurer
tar -xzf backup.tar.gz
sudo docker compose up -d

🔍 Troubleshooting

Services ne démarrent pas

# Diagnostic
sudo ./gestion_HERMES.sh  # Option 19

# Logs
sudo docker compose logs grafana

# Ports
sudo ./gestion_HERMES.sh  # Option 18

Permissions

# Corriger
sudo chown -R $USER:$USER config/ logs/
chmod 755 config/
chmod 600 .env .credentials_backup

Connexion impossible

# Vérifier credentials
sudo ./gestion_HERMES.sh  # Option 26

# Régénérer si oublié
sudo ./gestion_HERMES.sh  # Option 27

Wazuh mémoire

# Augmenter vm.max_map_count
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# Redémarrer
sudo docker compose restart wazuh-indexer

📂 Structure

HERMES/
├── gestion_HERMES.sh          # Script principal
├── docker-compose.yml         # Stack
├── .env.example              # Template
├── config/                   # Configs
│   ├── grafana/
│   ├── prometheus/
│   ├── loki/
│   ├── promtail/jobs/       # Sources custom
│   ├── wazuh/
│   └── sources.json
├── modules/                  # Modules script
│   ├── core.sh
│   ├── sources.sh           # NOUVEAU
│   └── credentials.sh       # NOUVEAU
├── dashboards/              # Grafana
├── backups/                 # Sauvegardes
└── logs/                    # Logs

🔒 Sécurité

Checklist

  • Changer mots de passe par défaut
  • Sauvegarder .credentials_backup
  • Configurer firewall (UFW)
  • Reverse proxy HTTPS
  • 2FA Grafana
  • Planifier backups
  • Documenter architecture

Ports à protéger

# Publics (reverse proxy)
3000, 5601

# Internes (localhost/VPN)
9090, 9200, 8086, 3100, 55000

📞 Support


📝 Changelog

v3.0.0 (2025-11-14)

Nouvelles fonctionnalités

  • Script gestion unifié gestion_HERMES.sh (29 options)
  • Gestion automatique credentials sécurisés
  • Module sources de logs avec auto-configuration
  • Intégration Wazuh SIEM
  • Templates firewalls pré-configurés

🔧 Améliorations

  • Architecture complètement refactorisée
  • Auto-génération mots de passe forts
  • Backup automatique credentials
  • Support formats logs custom
  • Healthchecks améliorés

🐛 Corrections

  • Gestion permissions automatique
  • Chemins absolus dans .env
  • Conflits variables readonly
  • Erreurs Docker volumes

Made with ❤️ for IT Infrastructure Monitoring

HERMES v3 - 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages