🛡️ SecuBox OpenWrt : La Suite de Sécurité Nouvelle Génération
SecuBox est une suite de sécurité et de gestion réseau complète pour routeurs OpenWrt, développée par CyberMind.FR . Avec plus de 35 modules , elle transforme n’importe quel routeur compatible en appliance de sécurité professionnelle.
📊 Vue d’Ensemble du Projet
📈 Métrique
📋 Valeur
📦 Packages totaux
35+
🖥️ Applications LuCI
22
⚙️ Services backend
13
🏗️ Architectures supportées
15+
🔌 Méthodes RPCD
150+
📅 Versions OpenWrt
21.02 → 25.12
🎯 Capacités Principales SecuBox offre un écosystème unifié couvrant tous les aspects de la sécurité réseau :
🛡️ Intelligence Collaborative : Intégration CrowdSec avec réputation IP communautaire
🔍 Inspection Profonde : Détection d’applications et protocoles via Netifyd DPI
🚪 Contrôle d’Accès : Client Guardian avec portail captif et contrôle parental
🔐 Sécurité Matérielle : Gestion de clés HSM (Nitrokey/YubiKey)
📡 Pont IoT : MQTT avec 17+ types d’adaptateurs USB (Zigbee, Z-Wave, ModBus)
🎬 Intelligence Média : Détection de streaming avec estimation de qualité
🌐 Réseau Avancé : VPN, proxy inverse, cache CDN, gestion QoS
🔒 Modules de Sécurité 🛡️ CrowdSec Dashboard (v0.6.0) Le module phare de SecuBox intègre CrowdSec , le moteur de sécurité collaboratif open-source. Il offre une surveillance en temps réel des menaces avec partage communautaire de l’intelligence.
✨ Fonctionnalités
🎯 Fonction
📝 Description
🚫 Gestion des bans
Visualisation et contrôle des IP bloquées
⚠️ Alertes temps réel
Notification des tentatives d’intrusion
📊 Métriques moteur
Statistiques parseurs, scénarios, bouncers
🌍 Géolocalisation
Carte des menaces par pays
🔧 Hub Collections
Installation/suppression de parseurs et scénarios
🖥️ Console CrowdSec
Enrôlement pour gestion centralisée
🔌 API RPCD (22 endpoints) 1 2 3 4 5 6 ubus call luci.crowdsec-dashboard decisions ubus call luci.crowdsec-dashboard alerts '{"limit":50}' ubus call luci.crowdsec-dashboard ban '{"ip":"1.2.3.4","duration":"24h"}' ubus call luci.crowdsec-dashboard metrics ubus call luci.crowdsec-dashboard console_enroll '{"key":"xxx"}'
🔐 Séparation ACL Les permissions sont strictement séparées :
📖 Lecture : decisions, alerts, metrics, status, bouncers, collections
✏️ Écriture : ban, unban, configure_metrics, install_collection, service_control
🔑 Key Storage Manager - KSM (v0.4.0) Gestion cryptographique de niveau entreprise avec support HSM matériel pour Nitrokey et YubiKey.
🔐 Périphériques HSM Supportés
🔧 Appareil
🆔 VID:PID
💪 Capacités
🔴 Nitrokey Pro 2
20a0:42b1
RSA, ECDSA, Ed25519
🔴 Nitrokey Storage
20a0:42b2
+ Stockage chiffré
🟢 YubiKey 5
1050:*
FIDO2, PIV, OpenPGP
✨ Fonctionnalités Clés
🔑 Génération de clés : RSA (2048/4096), ECDSA (P-256/P-384), Ed25519
📤 Import/Export : Formats PEM, DER, PKCS#12 avec protection par phrase de passe
📜 Gestion certificats : Génération CSR, vérification chaîne, alertes expiration
🔒 Stockage secrets : Chiffrement AES-256-GCM avec rotation automatique
📋 Journalisation : Audit complet avec export CSV
1 2 3 4 5 6 ubus call luci.ksm-manager generate_hsm_key '{ "serial": "NITROKEY-001", "key_type": "ed25519", "label": "vpn-server-key" }'
👨👩👧👦 Client Guardian NAC (v0.4.0) Système de Contrôle d’Accès Réseau implémentant les principes Zero Trust avec quarantaine automatique des appareils inconnus.
🏠 Architecture des Zones
🏷️ Zone
🌐 Internet
🏠 Local
🔒 Isolation
🚪 Portail
🟢 LAN Privé
✅ Complet
✅ Complet
❌ Non
❌ Non
🔵 IoT
✅ Complet
❌ Non
✅ Oui
❌ Non
🟡 Enfants
⚠️ Filtré
✅ Complet
❌ Non
❌ Non
🟠 Invités
⚠️ Limité
❌ Non
✅ Oui
✅ Oui
🔴 Quarantaine
❌ Portail seul
❌ Non
✅ Oui
✅ Oui
⚫ Bloqué
❌ Aucun
❌ Aucun
✅ Oui
❌ Non
👶 Contrôle Parental
⏰ Plages horaires : Blocage nocturne, heures scolaires configurables
🚫 Filtrage contenu : Adulte, violence, jeux d’argent
🔍 SafeSearch forcé : Google, Bing, YouTube mode restreint
⏱️ Quotas écran : Limites journalières avec application automatique
📱 Alertes : SMS (Twilio/Nexmo/OVH) et notifications email
1 2 3 4 5 6 ubus call luci.client-guardian approve_client '{ "mac": "AA:BB:CC:DD:EE:FF", "name": "iPhone de Marie", "zone": "children" }'
🔐 Auth Guardian (v0.4.0) Système d’authentification complet avec support OAuth2/OIDC .
🎫 Fonctionnalités
🎨 Portail captif personnalisable avec logo et CGU
🔑 OAuth intégré : Google, GitHub, Facebook, Twitter/X
🎟️ Système vouchers : Codes d’accès temporaires avec limites bande passante
🍪 Sessions sécurisées : HttpOnly, SameSite, timeout configurable
⏭️ Règles bypass : Whitelist MAC, IP, domaines
🌐 Modules Réseau 🔄 Network Modes (v0.3.6) Changement de configuration réseau en un clic avec gestion automatique des services.
📡 Modes Disponibles
🎯 Mode
📝 Configuration
🔍 Sniffer Bridge
Pont L2 transparent, mode promiscuité, analyse inline
👁️ Sniffer Passive
Monitoring via SPAN/TAP, zero impact réseau
📶 Point d’Accès
WiFi AP avec roaming 802.11r/k/v, band steering
🔄 Relay/Extender
Relais réseau avec VPN WireGuard, optimisation MTU/BBR
🌐 Routeur
Routeur complet avec proxy, DNS-over-HTTPS, reverse proxy
🆕 Nouveautés v0.3.6
🔐 Automatisation WireGuard : Génération paires de clés, déploiement interface wg0
⚡ Optimisations TCP : MTU clamping, TCP BBR automatique
🔧 Proxies intégrés : Squid/TinyProxy/Privoxy avec redirection transparente
📊 Bandwidth Manager (v0.4.0) Gestion avancée de la QoS avec intégration SQM/CAKE et quotas par client.
🎚️ Classes de Priorité QoS
⬆️ Priorité
🎯 Usage Typique
⚙️ Comportement
1️⃣ (Haute)
VoIP, Visio
Bande passante garantie, latence minimale
2️⃣
Gaming
Priorité faible latence
3️⃣-4️⃣
Interactif
Navigation web, SSH
5️⃣ (Normal)
Défaut
Trafic standard
6️⃣-7️⃣
Streaming
Téléchargements avec burst autorisé
8️⃣ (Basse)
Background
Torrents, sauvegardes, mises à jour
📏 Gestion des Quotas 1 2 3 4 5 6 7 8 ubus call luci.bandwidth-manager set_quota '{ "mac": "AA:BB:CC:DD:EE:FF", "name": "Tablette Enfant", "limit_mb": 10240, "action": "throttle", "reset_day": 1 }'
📊 Quotas mensuels par adresse MAC
⚙️ Actions configurables : throttle, block, notify
🔄 Reset automatique mensuel
📈 Dashboard temps réel avec visualisation progression
🏠 VHost Manager (v2.0.0) Gestion de proxy inverse nginx avec certificats SSL Let’s Encrypt automatisés.
📦 Templates de Services Internes (19 disponibles)
🎯 Service
📂 Catégorie
⚙️ Configuration
☁️ Nextcloud
Productivité
SSL, WebSocket, auth personnalisée
🏠 Home Assistant
IoT
SSL requis, WebSocket
🎬 Jellyfin
Media
SSL, optimisé streaming
🔐 Vaultwarden
Sécurité
SSL requis, WebSocket
🐙 Gitea
Productivité
SSL, support protocole Git
🐳 Portainer
Hosting
SSL, gestion Docker
📊 Netdata
Monitoring
SSL optionnel
🛡️ CrowdSec
Sécurité
SSL, API locale
↪️ Règles de Redirection
🏷️ Template
📤 Code HTTP
🎯 Usage
🎮 Steam CDN cache
302
Redirection vers cache local
🔒 YouTube → Invidious
307
Redirection vie privée
📧 Mail failover
302
Basculement serveur mail
🚫 Ad Blocker
301
Redirection serveurs pub
💾 CDN Cache (v0.5.0) Proxy cache CDN local pour optimiser la bande passante.
🎯 Hit ratio : 60-80%
💰 Économies : 40-60% de bande passante
⚡ Latence : < 1ms pour les hits
📋 Policies de Cache
📦 Policy
🌐 Domaines
📁 Extensions
⏱️ Durée
🪟 Windows Update
windowsupdate.com
exe, msu, cab
7 jours
🐧 Linux Repos
archive.ubuntu.com, deb.debian.org
deb, rpm
3 jours
📄 Contenu Statique
*
js, css, png, jpg, woff
1 jour
🔐 WireGuard Dashboard (v0.5.0) Tableau de bord moderne pour la supervision VPN WireGuard .
📊 Indicateurs de Statut Peer
🔵 Statut
📝 Signification
⏱️ Âge Handshake
🟢 Actif
Communication récente
< 3 minutes
🟡 Idle
Pas de trafic récent
3-10 minutes
⚪ Inactif
Pas de handshake
> 10 minutes
🔒 Sécurité
⚠️ Important : Les clés privées ne sont jamais exposées via le dashboard. Seules les clés publiques et configurations sont affichées.
📡 IoT & Domotique 🔌 MQTT IoT Bridge (v0.5.0) Pont USB vers MQTT avec détection automatique de 17+ types d’adaptateurs IoT.
📻 Adaptateurs USB Supportés 📡 Zigbee (6 appareils)
🔧 Appareil
🆔 VID:PID
📝 Notes
🔵 Texas Instruments CC2531
0451:16a8
Classique, bien supporté
🟣 ConBee II (Dresden)
1cf1:0030
Recommandé
🟢 Sonoff Zigbee 3.0 Plus
1a86:55d4
Bon rapport qualité/prix
⚪ Silicon Labs CP2102
10c4:ea60
Générique
📻 Z-Wave (3 appareils)
🔧 Appareil
🆔 VID:PID
🔵 Aeotec Z-Stick Gen5
0658:0200
🟢 Aeotec Z-Stick 7
0658:0280
⚪ Z-Wave.Me UZB
10c4:8a2a
🔌 ModBus RTU (4 appareils)
🔧 Appareil
🆔 VID:PID
🔵 FTDI FT232
0403:6001
🟣 Prolific PL2303
067b:2303
🟢 CH340
1a86:7523
⚪ CP210x UART
10c4:ea60
🔗 Intégrations 1 2 3 4 5 6 7 8 mqtt: broker: <ip-routeur-openwrt> port: 1883 username: secubox password: secubox discovery: true discovery_prefix: homeassistant
1 2 3 4 5 6 7 serial: port: /dev/ttyUSB0 adapter: zstack mqtt: base_topic: zigbee2mqtt server: mqtt://<ip-routeur-openwrt>
Détection en temps réel des services de streaming avec estimation de qualité.
📺 Services Détectés
📂 Catégorie
🎯 Services
🎬 Vidéo
Netflix, YouTube, Disney+, Prime Video, Twitch, HBO, Hulu, Vimeo
🎵 Audio
Spotify, Apple Music, Deezer, SoundCloud, Tidal, Pandora
📹 Visio
Zoom, Microsoft Teams, Google Meet, Discord, Skype, WebEx
📊 Estimation de Qualité
📺 Qualité
📈 Bande Passante
📺 SD
< 1 Mbps
📺 HD
1-3 Mbps
📺 FHD (1080p)
3-8 Mbps
📺 4K UHD
> 8 Mbps
1 2 3 4 5 6 ubus call luci.media-flow set_alert '{ "service": "Netflix", "threshold_hours": 4, "action": "notify" }'
🖥️ Système & Infrastructure 🎛️ System Hub (v1.0.0) Centre de contrôle système unifié pour OpenWrt.
✨ Fonctionnalités
📊 Monitoring temps réel : CPU, RAM, Disque avec jauges visuelles
⚙️ Gestion services : Start/Stop/Restart/Enable/Disable
📋 Journaux système : Visualiseur avec filtrage (50-1000 lignes)
💾 Backup/Restore : Sauvegarde configuration avec téléchargement
🌡️ Température : Monitoring zones thermiques (vert < 60°C, orange < 80°C, rouge ≥ 80°C)
📊 Netdata Dashboard (v0.5.0) Tableau de bord monitoring système avec métriques temps réel.
📈 Graphiques CPU, mémoire, disque, réseau
🌡️ Capteurs température
⚙️ Moniteur processus avec utilisation ressources
🎨 Jauges animées et sparklines
🔄 Rafraîchissement auto 2 secondes
🔍 Netifyd DPI Dashboard Interface complète pour le moteur Deep Packet Inspection Netifyd.
📡 Capacités
🔍 Tracking flux temps réel via interface socket
📱 Détection applications : HTTP, HTTPS, SSH, DNS, QUIC, etc.
💻 Découverte appareils automatique avec corrélation MAC/IP
📊 Catégorisation trafic : Web, Streaming, Gaming, VoIP
🔐 Inspection SSL/TLS : Extraction certificats et détails cipher
📤 Export : JSON ou CSV des flux
🎨 Système de Thème 🌈 CyberMood Design System Le package luci-theme-secubox fournit un système de design unifié pour tous les modules SecuBox.
🎭 Variantes de Thème
🎨 Thème
🖌️ Couleurs
🎯 Usage
🌑 Dark
#0a0a0f bg, #6366f1 accent
Par défaut, environnements sombres
☀️ Light
#ffffff bg, #4f46e5 accent
Forte luminosité ambiante
🌆 Cyberpunk
#0d0d1a bg, gradients néon
Contraste élevé, accessibilité
🔤 Typographie
🚀 Display : Orbitron (titres futuristes)
📖 Body : Inter (contenu lisible)
💻 Monospace : JetBrains Mono (code, valeurs)
🧩 Bibliothèque de Composants 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 'require secubox-theme/theme as Theme' ;Theme .createCard ({ title : Theme .t ('dashboard.title' ), icon : '🚀' , content : E ('p' , {}, 'Contenu ici' ), badge : Theme .createBadge ('Actif' , 'success' ) }); Theme .createButton ({ label : Theme .t ('common.save' ), variant : 'primary' , attrs : { 'click' : handleSave } }); Theme .t ('dashboard.welcome' , { name : 'Jean' });
🌍 Internationalisation 4 langues incluses : Français (fr), Anglais (en), Allemand (de), Espagnol (es)
Clés organisées par domaine : common.*, dashboard.*, modules.*, settings.*, errors.*
🏗️ Architecture Technique 📁 Structure Standard des Packages 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 luci-app-*/ ├── 📄 Makefile # Définition package OpenWrt ├── 📄 README.md # Documentation module ├── 📂 htdocs/luci-static/resources/ │ ├── 📂 view/*/ # Modules JavaScript ES6 │ └── 📂 */ │ ├── 📄 api.js # Wrapper API RPC │ └── 📄 dashboard.css # Styles module └── 📂 root/ ├── 📂 etc/config/ # Configuration UCI └── 📂 usr/ ├── 📂 libexec/rpcd/ # Backend RPCD (shell/exec) └── 📂 share/ ├── 📂 luci/menu.d/ # JSON menu └── 📂 rpcd/acl.d/ # JSON permissions ACL
🔧 Permissions Fichiers
📁 Type
🔐 Permissions
📝 Notes
Scripts RPCD
755
Exécutables par root, requis pour ubus
Scripts helper
755
Si exécutables
Fichiers config
644
Lisibles par tous, modifiables par root
CSS/JS
644
Défini automatiquement par luci.mk
🔄 Pipeline CI/CD Les workflows GitHub Actions automatisent la compilation, les tests et les releases.
🏗️ Matrice de Build
📂 Catégorie
🎯 Cibles
🦾 ARM64
aarch64-cortex-a53, aarch64-cortex-a72, mediatek-filogic, rockchip-armv8
💪 ARM32
arm-cortex-a7-neon, arm-cortex-a9-neon, qualcomm-ipq40xx/806x
🔧 MIPS
mips-24kc, mipsel-24kc, mipsel-74kc
🖥️ x86
x86-64, x86-generic
📦 Appareils Supportés
🎯 Architecture
📱 Appareils
aarch64-cortex-a53
ESPRESSObin, Sheeva64, BananaPi R64
aarch64-cortex-a72
MOCHAbin , Raspberry Pi 4, NanoPi R4S
mediatek-filogic
GL.iNet MT3000, BananaPi R3
rockchip-armv8
NanoPi R4S/R5S, FriendlyARM
qualcomm-ipq40xx
Google WiFi, Zyxel NBG6617
mips-24kc
TP-Link Archer, Ubiquiti
x86-64
PC, VMs, Docker, Proxmox
🔒 Évaluation Sécurité ✅ Bonnes Pratiques Implémentées
🔐 Séparation ACL : Isolation stricte permissions lecture/écriture
✔️ Validation entrées : Extraction paramètres jsonfilter avec gestion null
🏠 Isolation services : Espaces de noms configuration indépendants
📋 Journalisation audit : Intégration secubox-log pour analyse forensique
🚫 Gestion erreurs : Réponses JSON sans exposition stack trace
📁 Permissions fichiers : RPCD=755, config=644 appliquées dans Makefiles
🔑 Protection clés privées : Dashboard WireGuard n’expose jamais les clés privées
🔐 Intégration HSM : Option stockage clés matériel
📋 Recommandations
⏱️ Rate limiting : Ajouter throttling endpoints sensibles (ban/unban)
✍️ Signatures modules : Activer vérification signatures en production
🔒 Durcissement TLS : Imposer TLS 1.3 pour communications API externes
⏰ Timeout session : Revoir configurations session LuCI modules sensibles
🛡️ Protection CSRF : Vérifier validation tokens sur opérations modificatrices
📦 Installation 🚀 Depuis les Packages Pré-compilés 1 2 3 4 5 6 7 8 9 10 11 12 wget https://github.com/gkerma/secubox-openwrt/releases/latest/download/packages-aarch64-cortex-a72.tar.gz opkg update opkg install luci-app-secubox_*.ipk opkg install luci-app-crowdsec-dashboard_*.ipk opkg install luci-app-client-guardian_*.ipk /etc/init.d/rpcd restart /etc/init.d/uhttpd restart
🔧 Compilation depuis les Sources 1 2 3 4 5 6 7 8 9 cd ~/openwrt-sdk/package/git clone https://github.com/gkerma/secubox-openwrt.git secubox cd ~/openwrt-sdk/make package/secubox/luci-app-secubox/compile V=s make package/secubox/luci-app-crowdsec-dashboard/compile V=s
📡 Ajout au Feed OpenWrt Ajouter dans feeds.conf.default :
1 src-git secubox https://github.com/gkerma/secubox-openwrt.git
Puis :
1 2 3 4 ./scripts/feeds update secubox ./scripts/feeds install -a -p secubox make menuconfig make V=s
🔗 Ressources
🎯 Conclusion SecuBox représente une suite de sécurité mature et professionnellement architecturée pour les plateformes OpenWrt. Son design modulaire permet un déploiement flexible, du réseau domestique à l’appliance de sécurité périmétrique d’entreprise.
🏆 Points Forts Différenciants
🛡️ Intégration Complète : CrowdSec + Netifyd DPI + Support HSM matériel
🏢 Fonctionnalités Entreprise : NAC avec quarantaine, OAuth/OIDC, gestion VPN
📡 Prêt pour l’IoT : 17+ types d’adaptateurs USB avec pont MQTT
🎨 UX Professionnelle : Système de thème unifié multi-langues
⚙️ Qualité Production : CI/CD automatisé sur 15+ architectures
📝 Article rédigé par Gandalf - CyberMind.FR 🇫🇷 Made with ❤️ in France
ℹ️
**💡 Vous souhaitez contribuer ?** SecuBox est open-source sous licence Apache-2.0. Les contributions sont les bienvenues sur [GitHub](https://github.com/gkerma/secubox-openwrt) !