🚀 CrowdSec Dashboard pour OpenWrt
v1.0 ✅ Active

🚀 CrowdSec Dashboard pour OpenWrt

Dashboard de sécurité moderne et responsive pour surveiller CrowdSec directement depuis LuCI sur votre routeur OpenWrt.

tools
CrowdSec Dashboard pour OpenWrt
🖥️ Démonstration interactive
🛡️ Open Source

CrowdSec Dashboard

Surveillance de sécurité en temps réel pour OpenWrt

Une interface moderne et responsive pour monitorer votre protection CrowdSec directement depuis LuCI. Visualisez les bans, alertes et métriques sans quitter votre navigateur.

CrowdSec Dashboard Preview

✨ Fonctionnalités

📊

Vue d'ensemble

Statistiques temps réel : bans actifs, alertes 24h, bouncers. Graphiques des top scénarios et pays d'origine des attaques.

🚫

Gestion des décisions

Recherche, filtrage et tri des IP bannies. Actions bulk pour débannir plusieurs IP. Ajout manuel de bans avec durée personnalisée.

⚠️

Historique des alertes

Consultation complète des alertes passées avec statistiques agrégées par scénario. Bannissement direct depuis une alerte.

📈

Métriques détaillées

État des bouncers et machines, hub status (collections, parsers, scénarios), métriques Prometheus brutes.

🔄

Auto-refresh

Les données se mettent à jour automatiquement toutes les 30 secondes. Pas besoin de rafraîchir manuellement.

📱

Responsive

Interface adaptée desktop, tablette et mobile. Vérifiez la sécurité de votre réseau depuis n'importe où.


🎮 Démo interactive {#demo}

Testez l'interface avec des données simulées. Toutes les fonctionnalités sont actives : navigation, recherche, tri, modales d'ajout de ban, etc.

💡 Mode démo — Données fictives Ouvrir en plein écran ↗

📦 Installation

Prérequis

  • OpenWrt 21.02 ou supérieur
  • CrowdSec Security Engine installé
  • LuCI (interface web OpenWrt)
1
2
3
# Installer CrowdSec si ce n'est pas déjà fait
opkg update
opkg install crowdsec crowdsec-firewall-bouncer

Depuis les sources (recommandé)

1
2
3
4
5
6
7
8
9
# Dans votre environnement de build OpenWrt
cd ~/openwrt/feeds/luci/applications/
git clone https://github.com/gkerma/luci-app-crowdsec-dashboard.git

# Mettre à jour les feeds et compiler
cd ~/openwrt
./scripts/feeds update -a && ./scripts/feeds install -a
make menuconfig # Sélectionner LuCI > Applications > luci-app-crowdsec-dashboard
make package/luci-app-crowdsec-dashboard/compile V=s

Installation manuelle du .ipk

1
2
3
4
5
6
7
8
9
10
# Transférer le package sur votre routeur
scp luci-app-crowdsec-dashboard_1.0.0-1_all.ipk root@192.168.1.1:/tmp/

# Se connecter et installer
ssh root@192.168.1.1
opkg install /tmp/luci-app-crowdsec-dashboard_1.0.0-1_all.ipk

# Redémarrer les services
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restart

Accès au dashboard

Après installation, le dashboard est accessible dans LuCI :

Services → CrowdSec Dashboard


🏗️ Architecture

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
┌─────────────────────────────────────────────────────────────┐
│ Navigateur Web │
│ (LuCI JavaScript) │
└─────────────────────────┬───────────────────────────────────┘
│ ubus RPC (WebSocket)

┌─────────────────────────────────────────────────────────────┐
│ rpcd daemon │
│ /usr/libexec/rpcd/crowdsec │
└─────────────────────────┬───────────────────────────────────┘
│ Shell exec

┌─────────────────────────────────────────────────────────────┐
│ cscli (CrowdSec CLI) │
│ decisions | alerts | metrics | bouncers │
└─────────────────────────┬───────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ CrowdSec Local API │
│ (SQLite / REST) │
└─────────────────────────────────────────────────────────────┘

Le dashboard n’accède pas directement à la base CrowdSec. Il utilise cscli via un backend RPCD,
ce qui garantit la compatibilité avec toutes les versions de CrowdSec et respecte les permissions système.


🎨 Design

Le thème s’inspire des dashboards de SOC (Security Operations Center) avec une esthétique cybersecurity industrielle :

Élément Valeur
Background #0a0e14 (noir profond)
Accent principal #00d4aa (cyan/vert)
Alertes/Danger #ff6b6b (rouge corail)
Warning #ffa94d (orange)
Typographie données JetBrains Mono
Typographie UI Inter

Le design est optimisé pour :

  • Réduire la fatigue visuelle (thème sombre)
  • Hiérarchiser l’information (couleurs sémantiques)
  • Fonctionner sur tous les écrans (responsive)

📋 Roadmap

  • Vue Overview avec stats et graphiques
  • Gestion complète des décisions
  • Historique des alertes
  • Métriques et status hub
  • Export CSV/JSON des données
  • Notifications push (Telegram, email)
  • Graphiques temporels (évolution sur 7j/30j)
  • Intégration Console CrowdSec
  • Thème clair optionnel
  • Traductions (FR, DE, ES)

🤝 Contribuer

Le projet est open-source sous licence Apache-2.0. Les contributions sont bienvenues !


📚 Ressources