Repository navigation
Portal
EN | FR | 🟠 AUTH | the box's front door: services, session, protection
What it is for.
secubox-portalprovides the login of the box and the/portal/page: a read-only overview of the services, the identity and sessions of the person logged in, the protection state and the certificates. It decides nothing: it only displays.
- Package:
secubox-portal· page/portal/· API/api/v1/portal/· config/etc/secubox/portal.toml - Accounts are read from
/etc/secubox/users.json(same store assecubox-auth).
Read-only. Without a session the page says "Aucune mesure : session requise" with
a link to the login form; a missing measurement shows "—", never a made-up zero.
?embed=1 embeds it (it announces its height), ?demo=1 shows fictitious data
under an orange banner.
| Block | Content |
|---|---|
| Tiles | health score and uptime, services online (WAF, HAProxy, nginx, system), active sessions and accounts, logins in 24 h, active bans, valid certificates and next renewal |
| Services | the four services tracked by the health report; a link is offered only when it exists |
| Quick access | links to the main panels, system resources |
| Session and identity | who is logged in (/portal/verify) |
| Open sessions | administrator sessions |
| Protection | today's WAF activity |
| Certificates | summary from the certificate monitor, see Certificates |
| Cookies · GDPR | cookie audit summary |
| Most visited sites / origin networks | last 60 minutes, by host and by AS |
| Latest events | the 5 latest portal events |
A search box filters services, links and sites.
| Method | Path | Guard | Purpose |
|---|---|---|---|
| GET | /health |
none | liveness |
| GET | /status |
read | version, number of sessions and accounts |
| GET | /summary |
read | accounts, logins 24 h, recent events, webhooks |
| GET | /verify |
read | validity and identity of the current session |
| GET |
/theme, /branding
|
read | look of the login page |
| POST |
/login, /logout, /recover
|
login | open and close a session; password recovery |
| GET/DELETE |
/sessions, /sessions/{user}
|
session | list or close sessions |
| GET/POST/DELETE |
/users, /users/create, /users/{user}, /users/change-password
|
session | accounts |
| GET |
/history, /stats
|
session | events and counters |
| GET/POST/DELETE | /webhooks |
session | notifications |
The login form is the file /usr/share/secubox/www/login.html. It is shipped
by secubox-portal alone (Replaces/Breaks: secubox-hub (<< 1.9.6~)). It
handles the password step, the TOTP challenge for enrolled users, forced TOTP
enrolment for the administrator, the one-minute elevation token handed over by
the identity manager (#elevation=…) and ?deconnexion=1.
Why this matters. An old secubox-hub build used to ship its own bootstrap
login.html (without TOTP) at the same path. Reinstalling it replaced the TOTP
page: the administrator could no longer finish logging in, sessions.json stayed
empty, and since sessions fail closed every module rejected every session —
a box-wide lockout.
- Never ship
login.htmlfrom another package, and never copy a stale one by hand. - After reinstalling or downgrading
secubox-huborsecubox-portal, check that the file is the portal's (it must contain the TOTP step). - If a lockout happens, restore the portal's
login.htmlfrom thesecubox-portalpackage and log in again to recreate the sessions. - The
/portal/page redesign (portal 2.4.0) does not touchlogin.html.
-
Certificates — the
/certs/page and renewal chain - NAC — who is on the network
- WAF — the protection shown in the Protection block
- Admin-Panels-Gallery — the common Aurora panel style
- Architecture — the six-module stack
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