Catégorie : Infrastructure & Réseau

  • Sécuriser son Home Lab Proxmox : Guide de segmentation réseau avancée avec OPNsense

    Le jour où mon serveur de test a failli compromettre tout mon réseau domestique

    En tant que formateur en gouvernance des SI, je répète souvent cette maxime de l’ANSSI : « Ne faites jamais confiance au réseau local par défaut ». Pourtant, j’ai moi-même commis l’erreur classique du débutant dans mon propre Home Lab. Lors d’un audit de routine de mon serveur Proxmox VE, j’ai réalisé qu’une simple vulnérabilité RCE (Remote Code Execution) sur un conteneur LXD hébergeant un serveur de test exposé aurait permis à un attaquant de pivoter directement vers mon NAS de sauvegarde et mes équipements personnels.

    Pour aligner mon infrastructure sur les exigences de la norme ISO 27001 et du guide d’hygiène informatique de l’ANSSI, j’ai dû repenser intégralement ma gouvernance réseau. La solution ? Une segmentation stricte par VLANs orchestrée par un pare-feu virtualisé OPNsense sous Proxmox, en évitant les pièges classiques de performances liés à la virtualisation réseau.

    Architecture technique et gouvernance : Le plan d’attaque

    Une bonne gouvernance impose de cartographier et de cloisonner les flux selon leur criticité. Nous allons structurer notre infrastructure autour de 4 zones étanches :

    • VLAN 10 (Administration) : Accès aux interfaces Proxmox VE, OPNsense, switches et PDU.
    • VLAN 20 (Trusted LAN) : PC personnels, smartphones de confiance.
    • VLAN 30 (DMZ / Public) : Reverse proxy, instances Nextcloud ou Vaultwarden exposées.
    • VLAN 40 (IoT / Untrusted) : Domotique et objets connectés.

    Étape 1 : Configuration du pont réseau (Bridge) VLAN-Aware sur Proxmox

    Pour éviter d’utiliser plusieurs cartes réseau physiques, nous configurons le pont Linux par défaut de Proxmox (vmbr0) pour qu’il gère les tags VLAN. Dans l’interface Web de Proxmox :

    1. Allez dans System > Network.
    2. Éditez le pont principal (souvent vmbr0).
    3. Cochez la case VLAN Aware.
    4. Appliquez les modifications (ou redémarrez l’hôte).

    Étape 2 : Déploiement d’OPNsense et optimisation des performances VirtIO

    Lors de la création de la machine virtuelle OPNsense, attribuez-lui des interfaces réseau basées sur le pilote VirtIO pour des performances maximales à 10 Gbps. Cependant, la virtualisation des cartes réseau introduit un problème majeur : le déchargement matériel des sommes de contrôle (Hardware Checksum Offloading) peut corrompre les paquets réseau passant par OPNsense.

    Action indispensable : Une fois OPNsense installé, rendez-vous dans Interfaces > Settings et cochez obligatoirement l’option Disable Hardware Checksum Offload (ainsi que TSO et LRO). Redémarrez ensuite le pare-feu.

    Étape 3 : Configuration des règles de filtrage étanches

    La règle d’or en gouvernance est le moindre privilège (Default Deny). Par défaut, créez une règle de blocage globale vers toutes les adresses privées (RFC 1918) sur votre zone DMZ et IoT.

    Dans l’onglet de configuration des règles de l’interface DMZ (VLAN 30) sur OPNsense, autorisez uniquement :

    • Les flux DNS vers l’IP d’OPNsense (port 53 UDP).
    • Le trafic sortant vers le WAN (Internet) pour les mises à jour.
    • Bloquez explicitement tout accès vers le VLAN 10 (Admin) et le VLAN 20 (Trusted).

    Résultat : Une posture de sécurité professionnelle à la maison

    Grâce à cette architecture, si mon serveur web en DMZ est compromis, l’attaquant se retrouve piégé dans une boîte de conserve numérique. Il lui est impossible de scanner mon réseau local ou d’accéder à l’hyperviseur Proxmox. Ce déploiement prouve qu’avec les bons outils open-source et une méthodologie rigoureuse, on peut appliquer une gouvernance de niveau entreprise au sein de son Home Lab.

  • Securing your Proxmox Home Lab: Advanced Network Segmentation Guide with OPNsense

    The day my test server almost compromised my entire home network

    As an IT governance trainer, I often repeat this fundamental security axiom: « Never trust the default local network ». Yet, I fell into the classic beginner’s trap in my own Home Lab. During a routine audit of my Proxmox VE host, I realized that a simple Remote Code Execution (RCE) vulnerability on an LXD container hosting a public-facing test server would have allowed an attacker to pivot directly onto my backup NAS and personal devices.

    To align my infrastructure with ISO 27001 standards and best practices, I had to completely rethink my network governance. The solution? Strict VLAN segmentation orchestrated by a virtualized OPNsense firewall running on Proxmox, while bypassing the typical performance bottlenecks associated with network virtualization.

    Architecture & Governance: The Blueprint

    Effective governance requires mapping and segmenting traffic based on criticality. We will structure our network into 4 isolated zones:

    • VLAN 10 (Management): Access to Proxmox VE, OPNsense, switches, and PDU interfaces.
    • VLAN 20 (Trusted LAN): Personal computers, trusted mobile devices.
    • VLAN 30 (DMZ / Public): Reverse proxy, exposed Nextcloud or Vaultwarden instances.
    • VLAN 40 (IoT / Untrusted): Smart home devices and untrusted appliances.

    Step 1: Configuring a VLAN-Aware Linux Bridge in Proxmox

    To avoid needing multiple physical network interface cards (NICs), we configure Proxmox’s default Linux bridge (vmbr0) to natively handle VLAN tags. In the Proxmox Web UI:

    1. Navigate to System > Network.
    2. Edit the main bridge interface (typically vmbr0).
    3. Check the VLAN Aware box.
    4. Apply the configuration (or reboot the host).

    Step 2: Deploying OPNsense and Optimizing VirtIO Performance

    When provisioning the OPNsense VM, assign network interfaces using the VirtIO driver to achieve 10 Gbps speeds. However, virtualizing network adapters introduces a critical issue: hardware checksum offloading can corrupt packets routed through virtualized OPNsense instances.

    Crucial Action: Once OPNsense is installed, navigate to Interfaces > Settings and check the box to Disable Hardware Checksum Offload (as well as TSO and LRO). Reboot the firewall for changes to take effect.

    Step 3: Implementing Zero-Trust Firewall Rules

    The golden rule of governance is least privilege (Default Deny). By default, create an alias blocking all private address space (RFC 1918) for your DMZ and IoT zones.

    In the OPNsense firewall rules tab for your DMZ interface (VLAN 30), allow only:

    • DNS queries to the OPNsense gateway IP (UDP port 53).
    • Outbound traffic to the WAN (Internet) for package updates.
    • Explicitly block any inbound traffic targeting VLAN 10 (Admin) and VLAN 20 (Trusted).

    The Result: Enterprise-Grade Security at Home

    Thanks to this architecture, if my public-facing web server in the DMZ gets compromised, the attacker is isolated within a digital sandbox. They cannot scan my local LAN or access the Proxmox hypervisor. This setup proves that with the right open-source tools and a structured methodology, you can apply corporate-level security governance to any Home Lab.

  • Sécuriser son Home Lab : Trunk VLAN 802.1Q entre Proxmox et OPNsense avec tunnel Cloudflare

    Le défi de la gouvernance réseau dans un Home Lab

    En tant que professionnel de la gouvernance des SI, la règle du moindre privilège doit s’appliquer même au sein d’une infrastructure domestique. Mélanger le trafic d’administration de votre hyperviseur Proxmox VE avec celui de vos objets connectés ou de vos machines virtuelles de production est une hérésie en matière de sécurité. L’objectif aujourd’hui est d’isoler hermétiquement ces flux via un Trunk VLAN 802.1Q géré par OPNsense, tout en exposant certains services via un Tunnel Cloudflare (cloudflared) pour éviter toute ouverture de port sur votre routeur externe.

    Étape 1 : Configuration du Trunk VLAN sur Proxmox VE

    Par défaut, Proxmox utilise un pont Linux standard (vmbr0). Pour acheminer plusieurs VLANs vers nos machines virtuelles à travers une seule interface physique, nous devons rendre ce pont « VLAN aware ». Dans l’interface de Proxmox, naviguez vers Système > Réseau, éditez le bridge principal vmbr0 et cochez la case VLAN Aware. Cela permet à Proxmox de taguer et de transmettre les trames 802.1Q directement à votre pare-feu virtuel OPNsense sans multiplier les interfaces réseau virtuelles.

    Étape 2 : Segmentation et routage sous OPNsense

    Sur votre VM OPNsense (qui possède une interface virtuelle connectée à vmbr0), nous allons créer nos interfaces virtuelles (VLANs). Allez dans Interfaces > Other Types > VLAN. Créez le VLAN 10 (Management / Administration) et le VLAN 20 (Zone DMZ / Services publics). Associez-les à l’interface parente physique d’OPNsense. Configurez ensuite les règles de pare-feu : le VLAN 10 peut initier des connexions vers le VLAN 20, mais l’inverse est strictement interdit. C’est la base d’une gouvernance de zone robuste.

    Étape 3 : Exposition sécurisée via Cloudflare Tunnel

    Pour accéder à vos applications du VLAN 20 depuis l’extérieur sans exposer l’IP publique de votre domicile ni ouvrir de ports (NAT/PAT), nous déployons un agent léger cloudflared dans une VM isolée au sein du VLAN 20. Cet agent établit une connexion sortante persistante et chiffrée vers les serveurs edge de Cloudflare. Seul le trafic légitime et pré-authentifié par vos politiques Cloudflare Zero Trust sera acheminé vers vos services du VLAN 20, bloquant ainsi d’office les scans de vulnérabilités opportunistes.

    Bénéfices de gouvernance opérationnelle

    En appliquant cette architecture, vous réduisez drastiquement la surface d’attaque de votre infrastructure. L’accès aux interfaces de gestion de Proxmox et d’OPNsense reste confiné au VLAN 10 (uniquement accessible via un VPN local de confiance), tandis que vos services web résident dans une DMZ étanche (VLAN 20), protégée en amont par le WAF et les règles de sécurité de Cloudflare.

  • Sécuriser les webhooks sur Proxmox VE : Routage OPNsense et Cloudflare Tunnels sans exposition IP

    Introduction : Le défi de l’exposition des API dans un Home Lab gouverné

    Dans le cadre d’une gouvernance rigoureuse des systèmes d’information (GSI), l’exposition de services d’administration ou de webhooks d’automatisation vers l’extérieur représente un risque majeur de sécurité. Comment permettre à des services tiers (comme GitHub ou des API SaaS) d’interagir avec notre hyperviseur Proxmox VE sans pour autant ouvrir de ports sur notre routeur principal ou exposer notre adresse IP publique ? La réponse réside dans la synergie entre la segmentation réseau stricte sur OPNsense et l’isolation des flux via un Cloudflare Tunnel (cloudflared).

    Architecture et Politique de Moindre Privilège

    Pour respecter les principes de gouvernance, nous mettons en œuvre une architecture segmentée en trois zones distinctes :

    • VLAN 10 (Management) : Contient l’interface d’administration de Proxmox VE (PVE). Strictement inaccessible depuis l’extérieur et depuis les autres VLANs, sauf rebond sécurisé.
    • VLAN 90 (DMZ – Webhooks) : Zone isolée contenant un conteneur LXC ‘Proxy-Webhook’ chargé de recevoir les requêtes externes et de les valider.
    • L’agent Cloudflare (Cloudflared) : Installé dans un conteneur LXC distinct sur le VLAN 90, il établit une connexion sortante sécurisée vers le réseau Cloudflare, éliminant le besoin d’ouvrir des ports entrants (NAT) sur OPNsense.

    Configuration d’OPNsense : Le pare-feu comme garant de la politique de sécurité

    Sur notre pare-feu OPNsense, nous créons des règles de filtrage strictes pour le VLAN 90. L’objectif est d’empêcher toute communication latérale initiée par la DMZ vers le réseau de management (VLAN 10), tout en autorisant uniquement les réponses aux requêtes légitimes.

    Une règle spécifique autorise le conteneur ‘Proxy-Webhook’ à interagir uniquement avec l’API de Proxmox VE sur le port 8006, en limitant l’accès à une adresse IP source unique et à des points de terminaison d’API spécifiques via un proxy inverse local agissant comme un point de contrôle applicatif.

    Mise en œuvre du Cloudflare Tunnel

    Grâce à la console Cloudflare Zero Trust, nous créons un tunnel pointant vers l’IP interne du proxy inverse sur le VLAN 90. Les requêtes externes arrivent sur un sous-domaine dédié, transitent de manière chiffrée par le tunnel, et sont délivrées localement sans aucune exposition de notre routeur OPNsense sur le WAN public. Les règles de pare-feu d’OPNsense bloquent le reste du trafic, garantissant l’intégrité de l’infrastructure.

  • Gouvernance Réseau : Segmentation VLAN Sécurisée avec OPNsense et Proxmox VE

    Introduction : La nécessité d’une gouvernance réseau au sein du Home Lab

    Dans un écosystème informatique domestique moderne, la frontière entre vie privée, télétravail et expérimentations techniques est de plus en plus poreuse. Adopter une approche de gouvernance des systèmes d’information, même à l’échelle d’un Home Lab, n’est plus un luxe mais une nécessité cyber-résiliente. Un réseau « plat » (Flat Network) représente un risque de propagation latérale majeur : la compromission d’un simple objet connecté (IoT) peut mener à la prise de contrôle de vos hyperviseurs ou de vos serveurs de stockage (NAS). Cet article détaille l’implémentation d’une segmentation réseau stricte par VLAN (802.1Q) en articulant deux piliers open-source incontournables : l’hyperviseur Proxmox VE et le pare-feu/routeur OPNsense.

    La cartographie et la politique de zones (Urbanisation du SI)

    Avant de configurer la technique, il convient de définir notre politique d’urbanisation réseau. Nous appliquerons le principe de moindre privilège en isolant nos flux dans quatre zones distinctes :

    • VLAN 10 – MGMT (Management) : Accès exclusif aux interfaces d’administration (Proxmox GUI, OPNsense GUI, IPMI, switches).
    • VLAN 20 – LAN (Trusted) : Périphériques de confiance (ordinateurs de travail, serveurs sécurisés).
    • VLAN 30 – IoT (Internet of Things) : Objets connectés, caméras IP (isolation stricte, pas d’accès WAN non contrôlé).
    • VLAN 40 – DMZ (Demilitarized Zone) : Services exposés à Internet (Reverse Proxy, serveurs web).

    Configuration de l’hyperviseur Proxmox VE

    Pour acheminer ces VLANs vers nos machines virtuelles (VM) et conteneurs (LXC), nous devons configurer le commutateur virtuel de Proxmox pour qu’il gère le marquage 802.1Q (VLAN-Aware).

    1. Connectez-vous à l’interface de Proxmox VE, allez dans System > Network.
    2. Sélectionnez votre pont réseau principal (généralement vmbr0) et cliquez sur Edit.
    3. Cochez la case VLAN Aware. Cette option essentielle permet au pont de propager les paquets étiquetés (tagged) sans nécessiter la création d’interfaces physiques virtuelles pour chaque VLAN au niveau de l’hôte.
    4. Appliquez la configuration (cliquez sur Apply Configuration ou redémarrez l’hôte).

    Déploiement et routage sous OPNsense

    OPNsense agira comme le cœur de routage inter-VLAN et la passerelle de sécurité. Dans notre architecture virtuelle, la VM OPNsense dispose d’une interface réseau virtuelle rattachée à vmbr0.

    1. Dans l’interface d’OPNsense, rendez-vous dans Interfaces > Other Types > VLAN.
    2. Créez vos interfaces VLAN en associant le tag 802.1Q approprié (ex: 10, 20, 30, 40) à l’interface parente LAN physique ou virtuelle (ex: vtnet1).
    3. Allez dans Interfaces > Assignments pour assigner ces nouvelles interfaces virtuelles et les activer. Activez le client DHCP ou configurez des IPs statiques pour chaque sous-réseau (ex: 10.10.10.1/24 pour le VLAN 10).

    Gouvernance des flux : Règles de Pare-feu et Filtrage Stateful

    Par défaut, OPNsense applique une politique de sécurité implicite de type « Default Deny ». Nous devons créer des règles de pare-feu précises pour orchestrer les flux légitimes :

    • Règle de cloisonnement IoT : Bloquez toutes les requêtes initiées par le VLAN 30 (IoT) vers les autres réseaux locaux (VLAN 10, 20, 40). N’autorisez que les flux sortants vers les serveurs NTP ou DNS spécifiques (idéalement hébergés localement et sécurisés).
    • Règle d’administration sécurisée : Seul le VLAN 10 (MGMT) est autorisé à initier des connexions SSH (port 22) ou HTTPS (port 443/8006) vers les interfaces d’administration de vos équipements.
    • Règle de DMZ : Les serveurs en DMZ (VLAN 40) ne doivent jamais pouvoir initier de connexion vers le LAN (VLAN 20) ou le Management (VLAN 10). Seules les réponses aux requêtes légitimes initiées depuis ces réseaux sont autorisées via l’inspection d’état (Stateful Packet Inspection).

    Conclusion et perspectives d’audit

    En structurant votre Home Lab selon ces principes rigoureux d’urbanisation et de filtrage, vous réduisez drastiquement la surface d’attaque globale. Cette approche professionnalisante démontre qu’une gouvernance cyber robuste est applicable dès l’infrastructure domestique. Pour aller plus loin, l’étape suivante consiste à centraliser les journaux de pare-feu d’OPNsense vers un outil d’analyse de logs (SIEM) afin de détecter les comportements anormaux sur votre réseau IoT.

  • Sécuriser son Home Lab : Segmentation réseau (VLAN) avec OPNsense et Proxmox

    Introduction : Pourquoi segmenter votre Home Lab ?

    À l’ère de la multiplication des objets connectés et des services auto-hébergés, la sécurité de nos réseaux domestiques ne peut plus être négligée. Appliquer les principes de gouvernance des systèmes d’information à la maison n’est plus un luxe, mais une nécessité. La segmentation réseau via des VLANs (Virtual Local Area Networks) constitue le socle de cette démarche de sécurisation.

    Le duo gagnant : OPNsense et Proxmox VE

    Pour structurer cette architecture, nous utilisons OPNsense comme pare-feu et routeur principal, combiné à l’hyperviseur Proxmox VE. Cette synergie permet d’isoler hermétiquement les flux de production, les objets connectés (IoT), et les services exposés sur internet.

    Méthodologie de déploiement des VLANs

    La mise en œuvre repose sur trois étapes clés : d’abord, la configuration des interfaces parentes et la création des VLANs (par exemple, VLAN 10 pour le Management, VLAN 20 pour les VMs publiques, VLAN 30 pour l’IoT) sur OPNsense. Ensuite, l’activation de l’option VLAN Aware sur le pont Linux (vmbr0) de Proxmox. Enfin, l’application de règles de pare-feu strictes empêchant par défaut les communications inter-VLANs, sauf autorisation explicite.

    Conclusion : Une gouvernance réseau robuste

    En cloisonnant vos environnements, vous limitez drastiquement la surface d’attaque. Si un conteneur Docker exposé est compromis, l’attaquant restera confiné dans son VLAN sans pouvoir atteindre vos données personnelles ou vos outils de gestion domotique.

  • Segmentation réseau (VLAN) sécurisée sous OPNsense et Proxmox : Guide de Gouvernance pour votre Home Lab

    Introduction : Pourquoi segmenter votre Home Lab ?

    Dans un contexte où les menaces cybernétiques ne cessent de croître, appliquer des principes de gouvernance d’entreprise à votre Home Lab n’est plus un luxe, mais une nécessité. La segmentation réseau via les VLANs (Virtual Local Area Networks) est la pierre angulaire d’une architecture de sécurité robuste. Elle permet d’isoler les flux critiques (administration, serveurs de production) des flux potentiellement vulnérables (objets connectés, accès invités).

    Le couple gagnant : OPNsense et Proxmox VE

    Pour mettre en œuvre cette stratégie, l’association d’un pare-feu dédié comme OPNsense et d’un hyperviseur comme Proxmox VE s’avère extrêmement puissante. OPNsense va orchestrer le routage et appliquer les règles de filtrage entre les zones, tandis que Proxmox va distribuer ces segments directement aux machines virtuelles et conteneurs de manière logicielle.

    Étape 1 : Configurer les VLANs sur OPNsense

    La première étape consiste à définir votre plan d’adressage et à créer les interfaces virtuelles sur OPNsense. Attribuez un ID de VLAN unique à chaque usage : par exemple, VLAN 10 pour l’administration, VLAN 20 pour la production, et VLAN 30 pour l’IoT. N’oubliez pas d’appliquer une politique de sécurité par défaut (Default Deny), interdisant tout trafic inter-VLAN non explicitement autorisé.

    Étape 2 : Configurer Proxmox VE pour la gestion des VLANs

    Côté Proxmox, la configuration est simplifiée grâce à l’option VLAN-aware sur le pont réseau principal (vmbr0). En activant cette case, vous transformez votre commutateur virtuel en un commutateur intelligent capable de véhiculer les tags VLAN (Trunk). Il vous suffira ensuite de spécifier l’ID du VLAN directement dans les paramètres réseau de chaque VM ou conteneur.

    Bonnes pratiques de gouvernance réseau

    Pour maintenir une infrastructure saine à long terme, suivez ces règles simples :

    • Documentez systématiquement votre plan de nommage et d’adressage IP.
    • Appliquez le principe du moindre privilège pour les règles de pare-feu.
    • Isolez totalement les équipements IoT qui n’ont pas besoin de communiquer avec vos serveurs internes.
  • Héberger un site web chez soi en sécurité (Zero Trust avec Proxmox, Docker et Cloudflare)

    Introduction

    Exposer un serveur web auto-hébergé sur Internet a toujours été un casse-tête pour les passionnés d’informatique. La méthode traditionnelle exige d’ouvrir les ports 80 et 443 sur son routeur, ce qui crée une brèche de sécurité majeure dans le pare-feu. Pour une infrastructure gérée sous OPNsense, c’est un risque inacceptable. Aujourd’hui, nous allons voir comment contourner ce problème grâce à l’architecture « Zero Trust », en déployant un tunnel chiffré depuis un conteneur Proxmox.

    L’architecture cible

    L’objectif est simple : le pare-feu OPNsense ne doit accepter aucune connexion entrante. Tout le trafic doit être initié de l’intérieur vers l’extérieur. Pour y parvenir, nous utilisons trois composants majeurs :

    • Un hyperviseur Proxmox hébergeant un conteneur LXC (Debian).
    • Le moteur Docker, qui fait tourner notre application web (WordPress) de manière isolée.
    • Un agent Cloudflared, qui établit un tunnel sécurisé direct entre le conteneur et le réseau mondial de Cloudflare.

    Étape 1 : Préparation de l’environnement local

    La première étape consiste à déployer une application web standard sans se soucier de son exposition. Dans un conteneur LXC vierge sous Proxmox, Docker permet de lancer l’application en quelques secondes via un fichier d’orchestration docker-compose.yml. L’application tourne paisiblement sur le port 80 de la machine locale, totalement invisible depuis Internet, et protégée par le réseau LAN.

    Étape 2 : Le concept du Tunnel Zero Trust

    Plutôt que de dire à Internet « Venez taper à la porte de mon adresse IP », nous allons dire à notre serveur « Va te connecter aux serveurs de Cloudflare ». Nous installons l’agent Cloudflare directement dans le conteneur Debian. Cet agent initie une connexion sortante (qui est autorisée par défaut par le pare-feu) et maintient ce lien ouvert et chiffré.

    Étape 3 : Le routage final

    Une fois le tunnel établi, la configuration s’effectue dans le tableau de bord Cloudflare. Il suffit de lier son nom de domaine au tunnel actif, et d’indiquer à l’agent local de rediriger le trafic entrant vers le port 80 de Docker.

    Conclusion

    Le résultat est une infrastructure robuste de niveau professionnel. Le certificat SSL est géré automatiquement par Cloudflare, l’adresse IP publique de la maison reste secrète, et le pare-feu matériel reste hermétiquement fermé de l’extérieur. L’auto-hébergement redevient sûr et accessible.