Aller au contenu principal
TheRustLab Logo Baptiste Ochlafen
Vue "Sous le capot"

Architecture Live

Ce que vous voyez ici est une vue sous le capot — votre requête web traverse cette stack.

● ONLINE • 22:31:12
Requêtes HTTP 362
Data Sortante 2.97 MB
Uptime 817h 3m

Sous le capot

Architecture du labo

Une requête traverse 8 couches avant de vous atteindre. Cliquez pour explorer.

L7 🦀
Application Rust / Axum / HTMX / PostgreSQL / Redis / CouchDB
Portfolio therustlab/portfolio-axum:v13 — Rust + Axum, ~147 MB image Docker, zéro dépendance runtime
Frontend HTMX — hypermedia côté client, le serveur envoie du HTML, pas du JSON
Bases de données PostgreSQL 16 + Redis 7 (projets futurs) · CouchDB 3.3 (Obsidian LiveSync)
Performance < 2ms latence, backend HTTP async, 0 runtime GC
L6 📊
Observabilité & Alerting Prometheus / Grafana / Loki / AlertManager
Métriques Prometheus (rétention 30j) + Node Exporter + cAdvisor (mode global)
Logs Loki + Promtail — agrégation conteneurs + auditd + système
Dashboards Grafana — single pane of glass, accès SSH tunnel uniquement
Alertes AlertManager → webhook Discord — notification temps réel
L5 🔀
Ingress, TLS & Reverse Proxy Nginx / Traefik / Let's Encrypt
Nginx (host) Premier point d'entrée VPS (80/443), failover maintenance automatique
Traefik v2.10 Reverse proxy dynamique, autodétecte les services via labels Docker
TLS Let's Encrypt (ACME) — TLS 1.2 minimum, 1.3 prioritaire
Routage Par labels Docker — zéro config centralisée à éditer manuellement
L4 🛡️
Sécurité périmétrique CrowdSec (L3+L7) / Fail2ban (L3) / WAF (L7)
Fail2ban (L3) Ban d'IP automatique sur auth.log — première ligne de défense SSH
CrowdSec (L3+L7) IPS collaboratif, base communautaire (millions d'IPs partagées)
WAF Traefik (L7) Whitelist IPs Cloudflare, masquage headers serveur
Honeypot Trap applicatif — classifie CMS scans, injections, vol de secrets
L3 🌐
Réseau interne (overlay) 3 overlays Docker · Segmentation fonctionnelle
net_traefik Ingress + services exposés au public uniquement
net_monitor Prometheus, Grafana, Loki, Promtail, cAdvisor, Node Exporter, AlertManager
net_shared PostgreSQL, Redis, CouchDB — jamais exposés à l'extérieur
Isolation Conteneur compromis dans net_traefik ≠ accès à net_shared
L2 🐳
Orchestration (runtime) Docker Swarm / Rolling updates / 16 services
Engine Docker Swarm single-node — orchestration native, pas de K8s overhead
Deploy Rolling updates zero-downtime, rollback automatique
Fallback Nginx statique en systemd hors Docker — si la stack tombe entièrement
Secrets Docker Secrets — 9 secrets injectés au runtime, zéro env var en clair
L1 🖥️
Infrastructure physique VPS Contabo / Debian 12 / nftables / auditd
Hardware VPS Contabo EU — 4 cores, 8 GB RAM, 200 GB SSD, 1 Gbps
OS Debian 12 Bookworm — hardené, aucun service superflu exposé
Firewall nftables — ports 80, 443, 22 uniquement (liste blanche)
Audit auditd (appels système) + Fail2ban (SSH) — logs upstream vers Loki
L0 ☁️
Edge & CDN Cloudflare · DDoS mitigation · Cache edge
Cloudflare Proxy DNS et CDN en amont — DDoS, cache, terminaison TLS publique
Flux Client → Cloudflare (TLS) → nginx:443 → Traefik:8443 → services
Protection IP réelle du VPS jamais exposée — tout passe par le proxy
Edge cache Assets statiques (CSS, images, fonts) servis depuis les PoPs Cloudflare

↑ Votre requête a traversé ces 8 couches — du CDN Cloudflare jusqu'au binaire Rust.


Stack & Environnement

Stack Technique

Code & Systèmes

  • Rust (avancé), Python, Bash, C/C++, TypeScript
  • Tokio, Axum, Tauri, Leptos, Serde
  • Linux, Docker Swarm, Terraform, Raspberry Pi

Cybersécurité & Gouvernance

  • EBIOS RM, ISO 27001, audits AD/O365
  • Wazuh, MISP, OpenCTI, YARA-X (Rust), Shuffle (SOAR)
  • OSINT, MITRE ATT&CK
  • RGPD, NIS2, ANSSI

Outils & Environnement

  • GitHub, GitLab, Slack, Element/Matrix, MS Teams
  • Obsidian (PKM)
  • Zed (éditeur principal)
  • Arduino IDE / PlatformIO (IoT)

Security Operations Center

Périmètre de Sécurité

Tentatives d'intrusion détectées par l'application Rust (Layer 7). Les attaques massives sont bloquées en amont par CrowdSec (Layer 4).

775
CMS Scans
302
Injections
1389
Secrets
2466
Total

* Données cumulées sur le serveur actuel depuis sa création.
Faible volumétrie normale : trafic illégitime filtré en amont par CrowdSec.

root@honeypot:/var/log/threats# tail -f • LIVE
Connexion au flux SOC...