Infrastructure Homelab Zero Trust

Conception et administration d’une infrastructure personnelle virtualisée et segmentée, construite autour de Proxmox et OPNsense avec une approche Zero Trust.

Cover Homelab
Proxmox VEOPNsenseLinuxWireGuardCrowdSecnftablesUnboundBashsystemdNginxCaddyPostgreSQLMongoDB

Mon homelab est une infrastructure personnelle conçue comme un environnement d’expérimentation, d’hébergement et de montée en compétence autour de la virtualisation, du réseau, de la sécurité et de l’administration système.

L’objectif est de disposer d’une architecture suffisamment proche d’un environnement réel pour tester différentes approches techniques, déployer des services, simuler des scénarios réseau et appliquer des principes de sécurité sans dépendre d’une infrastructure professionnelle.

L’ensemble est construit autour de Proxmox pour la virtualisation et d’OPNsense comme point central de contrôle réseau et de sécurité.

Objectifs

Le projet poursuit plusieurs objectifs :

  • centraliser la virtualisation des services ;
  • segmenter les différents usages réseau ;
  • appliquer une approche Zero Trust ;
  • contrôler précisément les flux entre les zones ;
  • isoler les services exposés ;
  • disposer d’un environnement de laboratoire reproductible ;
  • tester des mécanismes de sécurité et de supervision ;
  • maintenir une infrastructure personnelle évolutive et documentée.

Architecture générale

L’infrastructure repose sur un hôte Proxmox hébergeant plusieurs machines virtuelles dédiées aux différents services.

OPNsense est virtualisé et joue le rôle de passerelle centrale entre les différentes zones réseau.

L’architecture est pensée autour de plusieurs segments distincts, notamment :

  • réseau utilisateurs ;
  • réseau serveurs ;
  • réseau IoT ;
  • réseau de gestion ;
  • interfaces dédiées aux connexions WAN et aux différents usages internes.

Les services sont isolés selon leur rôle afin de limiter les communications inutiles entre les différentes zones.

Approche Zero Trust

L’un des principes principaux de l’infrastructure est une approche basée sur le refus par défaut.

Les flux ne sont pas autorisés globalement entre les différents réseaux.

Chaque accès est ouvert uniquement lorsqu’il est nécessaire à un usage précis.

Cela permet notamment de :

  • limiter les mouvements latéraux ;
  • contrôler les communications entre utilisateurs et serveurs ;
  • empêcher les équipements IoT d’accéder aux réseaux sensibles ;
  • maîtriser les accès Internet des différents équipements ;
  • réduire l’exposition des services internes.

Les règles sont appliquées au niveau d’OPNsense et évoluent en fonction des besoins des applications et services utilisés.

Segmentation réseau

La segmentation permet de séparer les différents types d’équipements et de services.

Le réseau utilisateurs est distinct du réseau hébergeant les machines virtuelles et services.

Les équipements IoT sont également isolés afin qu’ils puissent accéder uniquement aux ressources nécessaires à leur fonctionnement.

Cette séparation facilite également le diagnostic des flux et permet d’appliquer des politiques de sécurité adaptées à chaque zone.

Virtualisation avec Proxmox

Proxmox VE constitue la plateforme principale de virtualisation.

Il héberge différentes machines virtuelles dédiées aux services, aux tests et aux environnements de laboratoire.

Cette organisation permet de :

  • isoler les services les uns des autres ;
  • créer rapidement de nouveaux environnements ;
  • tester différentes configurations système ;
  • gérer les ressources CPU, mémoire et stockage ;
  • reproduire des architectures complètes sans matériel dédié pour chaque service.

La plateforme sert aussi de base pour expérimenter différentes stratégies réseau et de sécurité.

Pare-feu et routage avec OPNsense

OPNsense assure le routage et le filtrage entre les différentes zones réseau.

Il centralise notamment :

  • les règles de pare-feu ;
  • le routage ;
  • la segmentation réseau ;
  • les accès WAN ;
  • les règles de publication de services ;
  • les règles liées aux VPN ;
  • les mécanismes de filtrage et de sécurité.

La configuration privilégie des règles explicites et limitées plutôt que des autorisations générales.

DNS et NTP

Les services DNS et NTP sont centralisés afin de conserver le contrôle sur les résolutions de noms et la synchronisation temporelle des équipements.

Les clients sont configurés pour utiliser les services internes plutôt que des services externes directement.

Cela permet notamment :

  • de limiter les contournements DNS ;
  • de centraliser les politiques de filtrage ;
  • de gérer des domaines internes ;
  • de résoudre les services hébergés localement ;
  • de contrôler la synchronisation temporelle des machines.

Unbound est utilisé pour la résolution DNS.

VPN et accès distant

WireGuard est utilisé pour les connexions VPN.

L’objectif est de fournir un accès distant sécurisé sans exposer directement les services d’administration sur Internet.

Les accès VPN peuvent être limités aux réseaux et services nécessaires afin de conserver la logique de segmentation appliquée sur le réseau local.

Sécurité et supervision

L’infrastructure intègre plusieurs mécanismes destinés à renforcer la sécurité des services.

CrowdSec est utilisé pour détecter certains comportements suspects et partager les décisions de blocage avec les composants concernés.

Les machines Linux peuvent également utiliser nftables pour appliquer un filtrage local complémentaire.

L’objectif est de combiner plusieurs niveaux de protection :

  • filtrage réseau centralisé ;
  • filtrage local sur les machines ;
  • détection de comportements suspects ;
  • réduction de la surface d’exposition ;
  • séparation des services ;
  • limitation des accès d’administration.

Durcissement des serveurs

Les machines virtuelles hébergeant les services sont configurées avec une approche restrictive.

Le durcissement comprend notamment :

  • authentification SSH par clé ;
  • désactivation de l’authentification par mot de passe ;
  • interdiction de la connexion SSH directe en root ;
  • limitation des fonctions SSH inutiles ;
  • filtrage réseau local ;
  • exposition limitée aux ports strictement nécessaires ;
  • administration uniquement depuis les zones autorisées.

L’objectif est que chaque machine reste protégée même en cas d’erreur de configuration sur une autre partie de l’infrastructure.

IPv4 et IPv6

L’infrastructure est conçue pour fonctionner avec IPv4 mais également pour prendre en compte IPv6.

L’utilisation d’IPv6 nécessite une attention particulière car elle ne repose pas sur les mêmes mécanismes de NAT traditionnellement utilisés avec IPv4.

Les règles doivent donc être conçues afin de conserver le même niveau de contrôle et de segmentation pour les communications IPv6.

Réseau multi-gigabit

Le réseau physique utilise des liaisons multi-gigabit avec des interconnexions pouvant atteindre 10 Gb/s.

Cette capacité permet d’éviter que le réseau devienne un facteur limitant pour :

  • les communications entre machines virtuelles ;
  • les transferts de fichiers ;
  • les sauvegardes ;
  • les services auto-hébergés ;
  • les tests de performance ;
  • l’évolution future de l’infrastructure.

Services hébergés

L’homelab sert à héberger différents services personnels et environnements de test.

Chaque nouveau service est intégré en conservant les mêmes principes :

  • réseau approprié ;
  • flux strictement nécessaires ;
  • DNS interne ;
  • durcissement du système ;
  • supervision ;
  • sauvegarde lorsque nécessaire ;
  • exposition externe uniquement si justifiée.

Difficultés techniques

L’une des principales difficultés du projet est de conserver une architecture sécurisée tout en restant suffisamment flexible pour expérimenter.

Une politique trop permissive simplifierait les déploiements mais réduirait fortement l’intérêt du projet du point de vue sécurité.

À l’inverse, une politique trop restrictive peut rendre certains services difficiles à diagnostiquer lorsque leurs flux réseau ne sont pas clairement documentés.

Une partie importante du travail consiste donc à identifier précisément les communications nécessaires à chaque application puis à créer uniquement les règles correspondantes.

La gestion simultanée d’IPv4 et IPv6 représente également un défi, car les deux protocoles doivent respecter les mêmes principes de segmentation sans dépendre des mêmes mécanismes.

Évolution du projet

L’infrastructure continue d’évoluer progressivement.

Les prochaines évolutions peuvent notamment concerner :

  • l’ajout de nouveaux services ;
  • l’amélioration de la supervision ;
  • le renforcement de la détection d’incidents ;
  • l’évolution de la segmentation réseau ;
  • l’ajout de nouveaux réseaux dédiés ;
  • l’amélioration de la documentation ;
  • l’automatisation de certaines opérations ;
  • l’évolution des mécanismes de sauvegarde et de reprise.

Projet personnel

Cette infrastructure est entièrement personnelle et sert de laboratoire technique.

Elle me permet d’expérimenter librement différentes architectures, configurations et solutions de sécurité tout en conservant un environnement réellement utilisé au quotidien.