Repository navigation
DNS Filtrage
À quoi ça sert. Cinq modules agissent sur le DNS de la box, qui n'a qu'un seul moteur : Unbound. Chacun a son rôle : retirer les publicités et les traceurs (ad-guard), repérer les noms de domaine anormaux (dns-guard), mesurer la normale du réseau (network-anomaly), classer par catégorie (webfilter), nommer le réseau local (dns-lan).
| Module | Rôle | Panneau |
|---|---|---|
| ad-guard | publicités et traceurs, par appareil ; tableau de bord Guardian |
/ad-guard/, /guardian/
|
| dns-guard | anomalies DNS, domaines suspects, puits DNS d'Unbound | /dns-guard/ |
| network-anomaly | collecteur et lignes de base, anomalies du réseau | /network-anomaly/ |
| webfilter | contrôle parental et sites dangereux | /webfilter/ |
| dns-lan | noms du réseau local | (configuration) |
Retire les publicités et les traceurs au niveau DNS, par appareil (téléviseurs, streamers, tablettes). Chaque appareil géré a sa propre vue Unbound et ses propres règles ; les domaines utiles à un service peuvent être autorisés explicitement. La réponse par défaut est NXDOMAIN, ce qui évite les roues de chargement bloquantes observées avec d'autres réponses. Il mesure honnêtement : « réduction des domaines publicitaires résolus par DNS », pas une suppression de publicités (ni MITM, ni cookie).
- Panneau simplifié : l'état en une phrase, une carte par appareil, un interrupteur anti-pub (mode automatique en interne). Après chaque bascule, le filtre Unbound est relu et le panneau dit si le changement est bien appliqué ou ce qui diverge. La liste « une pub passe encore ? » propose, pour les noms servis qui ressemblent à de la pub, Bloquer ou C'est légitime. Les anciens onglets (Overview, Devices, Blocklist, Delayed, DNS AdBlock TV) restent sous « Avance ».
-
Modes par appareil :
observe(rien n'est bloqué, on compte ce qui l'aurait été),block,off; un appareil déclaré sans mode est en auto (apprentissage, essai, confirmation, retour arrière). -
Listes : jeu versionné (
advertising,tracking,telemetry,social,custom, profil TV de base), vérifié par empreinte (MANIFEST.json). Un domaine personnalisé s'ajoute ou se retire depuis le panneau. - Capteur DNS d'Actor Intelligence : une minuterie de 60 s ne dépose un signalement vers actord que pour un domaine malveillant ou anormal, jamais pour une requête ordinaire. Règles : domaine de la liste de l'opérateur, DGA, tunnel DNS, dérive d'un domaine connu, et détournement d'un domaine normal vers un réseau inattendu (référence apprise en silence pendant 3 jours). L'appareil est la source ; seul le domaine enregistré est conservé.
-
Seule porte root :
secubox-adguard-tv(apply/disable/status), qui revalide l'état et exécuteunbound-checkconfavant de garder le changement.

Depuis secubox-ad-guard 1.12.0, la page est refaite au profil Aurora : tuiles, onglets en pastilles, familles de blocage en pastilles de filtre, libellés en français. Toutes les actions et le balisage sont conservés. Les fenêtres confirm(), prompt() et alert(), ignorées par le navigateur du Hall, sont remplacées par des dialogues intégrés à la page ; les noms de domaine, motifs et noms d'appareil venus de l'API sont échappés avant insertion. La page offre une démonstration (?demo=1), ?embed=1 et annonce sa hauteur à l'hôte.

Une page unique (complète, ou en cartelette avec ?embed=1) : appareils connectés (lus dans le NAC, conteneurs exclus), requêtes DNS du jour et d'hier, domaines bloqués, menaces sur 24 h, courbe sur 7 jours, types de domaines bloqués, catégories, appareils principaux. Données réelles uniquement ; une mesure indisponible s'affiche « — », jamais 0.
Détecte les anomalies DNS (DGA, tunnel, exfiltration) et pilote le puits DNS d'Unbound. Il ne touche plus à dnsmasq : POST /sync répond honnêtement « aucun_moteur » s'il n'y a pas de moteur, au lieu de « synced ».
Le panneau /dns-guard/ (page « Garde DNS ») montre :
| Bloc | Contenu |
|---|---|
| Tuiles | requêtes et blocages du jour, taille de la liste, alertes 24 h (un chiffre absent vaut « — ») |
| Domaines suspects | classement avec type, gravité, nombre, première et dernière vue |
| Répartition par type | anomalies sur 24 h |
| Domaines les plus bloqués | sans aucun client dans la réponse |
| Clients concernés | adresse portée par l'alerte, quand le résolveur la connaît |
| Vérifier un domaine | saisie d'un nom (exemple.test) : verdict |
| Puits anti-pub du résolveur | état, sources de filtres, liste blanche, clients exemptés |
Actions du puits, chacune avec confirmation intégrée : Synchroniser (recompile les listes et réécrit Unbound, environ une minute), Activer / Désactiver, activer ou couper une source de filtres, ajouter ou retirer un domaine en liste blanche (jamais bloqué), exempter ou rétablir un client (il contourne le puits). Le bouton « Block » de l'ancienne page, qui visait une route inexistante, n'a pas été repris.
Depuis la 1.4.0, la page est refaite au profil Aurora (secubox-dns-guard 1.4.x) ; les actions du puits sont reprises à l'identique, avec confirmation intégrée.
Les compteurs viennent des mesures DNS d'ad-guard et de l'état du puits : le blocage réel vit dans Unbound. Le puits ne distingue pas malware et phishing, ces deux champs restent donc vides.
Composant de dns-guard (mêmes URL, mêmes unités). Chaque mesure du réseau est comparée à sa ligne de base (moyenne et écart-type) ; au-delà d'un seuil exprimé en écarts-types, une anomalie est enregistrée avec un score.
| Type | Seuil (écarts-types) |
|---|---|
bandwidth_spike (pic de débit) |
3,0 |
connection_flood (afflux de connexions) |
2,5 |
port_scan (balayage de ports) |
2,0 |
dns_anomaly |
2,5 |
protocol_anomaly |
3,0 |
La gravité est medium au-delà du seuil, high au-delà de 1,5 fois le seuil, critical au-delà de 2 fois.
- Lignes de base automatiques (1.4.2) : le passage planifié les construit lui-même avant la détection (30 échantillons au moins) et les rafraîchit toutes les heures ; l'API relit le fichier écrit par ce processus. Avant, seul un appel manuel les construisait, et sans elles la détection ne pouvait jamais alerter.
- Des débits, pas des compteurs (1.4.3) : les octets d'interface et les requêtes DNS totales sont des compteurs cumulatifs, qui dépassent en permanence une ligne de base. Ils deviennent des débits (octets/s, requêtes/s) avant stockage et détection ; une remise à zéro du compteur ou un trou de mesure ne donne pas de débit. La page affiche les débits (Kio/s…). Les anciens historiques de compteurs et leurs lignes de base sont retirés au premier passage.
-
Collecteur :
secubox-network-anomaly-collecte.timerlance un passage chaque minute (mesure, historique, alertes). Avant la 1.3.1, rien ne se déclenchait sans appel manuel : la page restait vide et les lignes de base ne se construisaient jamais. Un échec est écrit sur stderr et sort en erreur. -
Panneau
/network-anomaly/: état du collecteur, histogramme des anomalies sur 24 h, répartition par type et gravité, classement par score avec détail, tableau des lignes de base (moyenne, écart-type, min, max). -
Action conservée : Acquitter une anomalie (marquée traitée dans le journal des alertes, sans retour arrière). Routes :
GET /alerts,POST /alerts/{id}/acknowledge,GET /baselines,POST /baselines/update.
Classe les requêtes DNS par catégorie : adulte, jeux d'argent, phishing et malware. Les listes sont téléchargées à l'exécution, jamais livrées dans le paquet.
- Observation par défaut : rien n'est bloqué tant que l'administrateur ne l'a pas décidé.
-
Profils : par catégorie,
observeoublock, plus une liste d'autorisations. - Appareils : rattachés à un profil par adresse MAC, avec exceptions. Les appareils gérés par ad-guard sont exclus en v1.
- Application : la configuration est écrite par l'API, puis appliquée par un contrôleur root déclenché par fichier (jamais par sudo). Unbound est rechargé, ce qui coupe le DNS une dizaine de secondes ; un retour arrière automatique rétablit l'ancien fichier octet pour octet si le contrôle échoue. Les changements de listes sont rechargés une fois par nuit vers 4 h.
-
Domaines toujours bloqués (0.4.0) : un profil et un appareil peuvent porter une liste
bloque, refusée même quand la catégorie qui la liste est enobserve. - Panneau :
/webfilter/(Aurora depuis la 0.3.0). Page dédiée : Webfilter-FR.
Fournit à Unbound les noms et zones du réseau local à partir d'un fichier de configuration /etc/secubox/dns-lan.toml.
Profils, Webfilter-FR, WAF, NAC, ToolBox (l'interrupteur Ad-Guard de l'onglet Pubs), Admin-Panels-Gallery-FR.
SecuBox-Deb · Licence : CMSD-1.0 (Source-Disclosed)
Contact : CyberMind · Gérald Kerma · Notre-Dame-du-Cruet, Savoie
Hardware-Matrix · Acknowledgments · Wiki v2.5.0
SecuBox | FR | DE | 中文 | v3.0.0-alpha.12
- Home
- Architecture
- Trixie | FR
- Hardware-Matrix
- Roadmap
- Profils
- Modules-by-Profile 📦 lite / isp / full : ce qu'embarque chaque profil | FR
- Modules-by-Family 🗂️ les modules par famille | FR
- DNS-Filtrage
- Multiboot ⭐
-
Live-USB-VirtualBox
run-vbox.sh -
Live-USB-QEMU
run-qemu.sh - Live-USB | FR | DE | 中文
- Auto-Load 🚚 boxes sans écran | FR
- First-Boot-Premier-Pas 🧭 premier pas | FR
- Installation | FR | DE | 中文
- ARM-Installation | FR | DE | 中文
- Netboot-Install 🔧 MOCHAbin netboot + signed install
- ESPRESSObin | FR | DE | 中文
- Eye-Remote 📡
- Android-ToolBox 📱 one-tap R3
- Browser-Extension 🧩 cartographie
- QEMU-ARM64 🖥️
- Configuration | FR | DE | 中文
- Troubleshooting | FR | DE | 中文
- ToolBox 👁️ cabine numérique · rapport vie privée
- Anti-Track 🛡️ bloque · empoisonne · anonymise
- Billets 📮 micro-blog gateway · média vignette zoomable
- Messagerie 💬 mur public, messages privés, radio/Billets/BBS centralisés
- Identite-SBX-OS 🪪 personnes, appareils, comptes liés, connexion passive
- Metalogue 🕸️ OSINT suite · Maigret + SpiderFoot (Maltego-style)
- WAF 🛡️ pare-feu applicatif autonome (nft direct, hors-HTTP) | FR
- SOC 🎯 vues rassemblées | FR
- Actor-Intelligence 🕵️ acteurs, échelle de réponse | FR
- NAC 🔐 contrôle d'accès réseau | FR
- Webfilter 🧹 filtrage DNS par catégories et par appareil | FR
- Interceptor 🎯 supervision de l'inspection (sbxmitm, sbxwaf, nDPI) | FR
- Network-Modes 🌐 modes réseau, WAN, interfaces | FR
- Caches-and-Mirrors 💾 caches de la box et dépôt APT local | FR
- Portal 🚪 portail de session | FR
- Certificates 📜 certificats | FR
- Metrics 📊 mesures, sites, cartes, rapport PDF | FR
- SBX-OS 🧩 le Hall en application | FR
- Aurora-Design 🎨 design system admin | FR
- Admin-Panels-Gallery 🖼️ galerie des 37 pages | FR
- ThreatMesh 🛰️ blocklist souveraine (feeds + mesh, sans CAPI) | FR
- Modules 🇬🇧
- MODULES-FR 🇫🇷
- MODULES-DE 🇩🇪
- MODULES-ZH 🇨🇳
-
Operations-Runbook 🛠️ incidents | FR
-
API-Reference | FR | DE | 中文
- Multi-Agent-Worktree — un agent · une issue · une branche