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 / CrowdSec
Portfolio] 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.