Contexte / Besoin
Avec la multiplication des services auto-hébergés (TrueNAS, Home Assistant, reverse proxy exposé sur Internet, VPN…), il devenait nécessaire de cloisonner logiquement le réseau pour limiter la surface d’attaque : un service exposé sur Internet (reverse proxy) ne doit pas pouvoir compromettre directement les données sensibles (NAS, sauvegardes).
L’objectif était de séparer les usages sans tomber dans une architecture trop complexe à maintenir pour un homelab domestique (pas de VLAN pour l’instant, séparation par LAN physiques/logiques).
Stack utilisée
- MikroTik : cœur de réseau, routage entre les zones
- TrueNAS SCALE : serveur de stockage et d’applications (LAN Serveur)
- Raspberry Pi 3 : VPN SSL, UPS, AdGuard (LAN Serveur)
- Raspberry Pi 4 : Home Assistant (LAN Utilisateur, pour raisons de stabilité Wi-Fi avec les objets connectés)
- Laptop (transformé en fixe) : reverse proxy + CrowdSec + Portfolio, isolé en DMZ
Architecture
graph TD
Internet((Internet))
subgraph DMZ["🟪 DMZ"]
HP[Laptop
Reverse Proxy / CrowdSecPortfolio]
end
subgraph LAN_SERVEUR["🟧 LAN Serveur"]
TN[TrueNAS SCALE]
RPI3[RPI3
VPN SSL / UPS / AdGuard]
end
subgraph LAN_USER["🟦 LAN Utilisateur"]
Users[Postes utilisateurs]
HA[RPI4
Home Assistant]
end
MKT{{"🟩 Mikrotik
Cœur de réseau - VPN Wireguard"}}
Internet --> MKT
MKT --> HP
MKT --> TN
MKT --> RPI3
MKT --> Users
MKT --> HA
HP -.->|logs / backup optionnel| TN
Légende :
- 🟩 Vert : Mikrotik (cœur de réseau, VPN, RouterOS v7)
- 🟧 Orange : LAN Serveur (TrueNAS, RPI3)
- 🟦 Bleu : LAN Utilisateur (postes clients, Home Assistant - reste sur ce LAN pour la stabilité Wi-Fi des objets connectés)
- 🟪 Rose : DMZ (Laptop, reverse proxy + CrowdSec)
Logique de segmentation
- 🟪 DMZ : seule zone exposée à Internet, isolée du reste du réseau. Compromission limitée au reverse proxy.
- 🟧 LAN Serveur : services internes sensibles (stockage, VPN, DNS), jamais exposés directement.
- 🟦 LAN Utilisateur : postes clients et objets connectés, séparé du LAN Serveur mais pas encore isolé du reste (pas de VLAN).
Choix techniques et compromis
- Pas de VLAN pour l’instant : la séparation actuelle repose sur des interfaces physiques distinctes sur le MikroTik plutôt que sur du VLAN 802.1Q. Plus simple à comprendre et à dépanner, au prix d’une flexibilité moindre.
- Home Assistant sur LAN Utilisateur : compromis assumé - HA a besoin d’être sur le même réseau que les objets connectés Wi-Fi (prises, Google Home) pour la découverte automatique et la stabilité des connexions. Idéalement il serait sur un réseau IoT dédié, mais cela demanderait un VLAN + règles de découverte multicast plus complexes.
- DMZ sur machine physique dédiée (laptop) : isolation forte, la machine compromise n’a par défaut aucun accès direct au reste de l’infra. Seul un flux explicite (logs/backup) est autorisé vers TrueNAS.
Évolutions envisagées
- Mise en place de VLANs sur le MikroTik pour isoler plus finement (VLAN IoT séparé du LAN Utilisateur, par exemple).
- Règles de pare-feu explicites entre chaque zone (actuellement le routage existe mais le filtrage inter-LAN peut être renforcé).
- Monitoring des flux inter-zones via Uptime Kuma / logs CrowdSec pour détecter toute tentative de traversée anormale entre la DMZ et le LAN Serveur.