# 🖥️ Homelab – Infrastructure de virtualisation & laboratoire cybersécurité > Infrastructure auto-hébergée basée sur **Proxmox VE**, conçue comme un environnement professionnel de virtualisation, d'expérimentation réseau et de pratique cybersécurité. --- ## 📋 Vue d'ensemble Ce projet est un **homelab personnel** tournant 24/7 sur un mini-PC basse consommation (GMKtec K12, 32 Go DDR5). Il repose sur **Proxmox VE** et combine conteneurs LXC et machines virtuelles pour simuler une infrastructure d'entreprise réaliste. **Usages principaux :** - Hébergement de services permanents (VPN, accès distant) - Simulation d'architectures réseau sécurisées et segmentées - Déploiement rapide d'environnements de test (CTF, pentesting, AD) - Apprentissage et mise en pratique en administration système & cybersécurité --- ## 🧱 Architecture générale ```text ┌─────────────────────────────────┐ │ GMKtec K12 │ │ Proxmox VE Host │ │ 32 Go DDR5 / NVMe │ └────────────┬────────────────────┘ │ ┌──────────────────────┼──────────────────────┐ │ │ │ ┌────────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐ │ Services LXC │ │ Réseau / FW │ │ VMs de test │ │ │ │ │ │ │ │ • WireGuard VPN │ │ • OPNsense │ │ • Windows / AD │ │ • Guacamole │ │ (routeur FW │ │ • Ubuntu │ │ (via CF Tunnel│ │ virtualisé) │ │ • Tiny11 │ │ sur TrueNAS) │ │ │ │ • CTF / Pentest │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` --- ## 🔧 Infrastructure matérielle | Composant | Détail | | -------------- | ------------------------ | | Machine | GMKtec K12 | | RAM | 32 Go DDR5 (2 × 16 Go) | | Stockage | SSD NVMe | | Hyperviseur | Proxmox VE | | NAS | TrueNAS Scale | | Fonctionnement | 24/7, basse consommation | --- ## ⚙️ Déploiement – Proxmox VE Helper Scripts Les conteneurs LXC et la VM OPNsense ont été déployés via **[Proxmox VE Helper Scripts](https://community-scripts.github.io/ProxmoxVE/)**, une collection community-driven de scripts automatisés pour Proxmox. ### Commandes de déploiement #### 🔐 WireGuard (LXC) ```bash bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/wireguard.sh)" ``` #### 🖥️ Apache Guacamole (LXC) ```bash bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/apache-guacamole.sh)" ``` #### 🌐 OPNsense (VM) ```bash bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/opnsense-vm.sh)" ``` > Ces scripts automatisent la création du conteneur/VM, l'installation et la configuration de base. La configuration réseau, les règles firewall et les paramètres de sécurité ont ensuite été appliqués manuellement. --- ## 📦 Écosystème virtualisé ### Conteneurs LXC – Services permanents #### 🔐 WireGuard VPN Serveur VPN personnel permettant l'administration sécurisée du homelab depuis l'extérieur sans exposition publique directe. - Accès chiffré aux services internes via tunnel privé - Aucun port d'administration exposé sur le WAN - Point d'entrée unique pour la gestion à distance #### 🖥️ Apache Guacamole Passerelle d'accès distant web (RDP / SSH / VNC) accessible depuis navigateur. - Centralisation des accès d'administration - Suppression des clients lourds (RDP natif, PuTTY, etc.) - Gestion des environnements de TP et des VMs de test - Exposé via **Cloudflare Tunnel** (agent hébergé sur TrueNAS Scale) — aucun port ouvert sur la box --- ### Machines virtuelles #### 🌐 OPNsense – Pare-feu virtualisé Routeur et firewall virtualisé simulant une infrastructure réseau d'entreprise. - Filtrage réseau et règles firewall - Segmentation logique entre réseau Freebox (192.168.1.x/24) et réseau interne (10.1.1.x/24) - NAT sortant pour les VMs internes, journalisation réseau et contrôle des flux #### 🪟 Windows / Windows Server Environnements Windows pour la pratique système et Active Directory. - Déploiement d'Active Directory, GPO, gestion des utilisateurs - Analyse de malware en environnement isolé (Tiny11) - Simulations d'infrastructure d'entreprise - Tests d'authentification et de politiques de sécurité #### 🐧 Ubuntu Server / Desktop Environnements Linux polyvalents pour le développement et l'administration. - Déploiement de services, Docker & conteneurisation - Scripts d'automatisation et tests réseau - Travaux pratiques systèmes & cybersécurité #### 🚩 VMs CTF & Pentest Machines éphémères créées à la demande pour l'entraînement offensif et défensif. - Pentest, analyse réseau, escalade de privilèges, vulnérabilités web - Restauration rapide via **snapshots Proxmox** après expérimentation - Isolation totale du réseau de production --- ## 🔐 Sécurité & cloisonnement ### Principes appliqués | Principe | Mise en œuvre | | ---------------------------- | ------------------------------------------------------------------------------- | | Exposition minimale | Un seul port ouvert (UDP 51820 WireGuard) — aucun port HTTP/HTTPS direct | | Administration sécurisée | Accès uniquement via tunnel WireGuard | | Accès partagé cloisonné | Guacamole exposé via Cloudflare Tunnel + Cloudflare Access (auth email) | | Segmentation réseau | Deux segments distincts : réseau Freebox / réseau interne OPNsense | | Isolation des environnements | Séparation LXC / VMs / environnements vulnérables | | Journalisation | Logs réseau centralisés via OPNsense | | Surface d'attaque réduite | Services limités au strict nécessaire | ### Séparation logique des usages ```text ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │ Infrastructure │ │ Réseau & Sécurité │ │ Tests & Lab │ │ permanente │ │ │ │ │ │ (WireGuard, │ │ (OPNsense, VLANs, │ │ (VMs éphémères, │ │ Guacamole) │ │ Firewall) │ │ CTF, Pentest) │ └──────────────────────┘ └──────────────────────┘ └──────────────────────┘ Stable Contrôle Isolé ``` --- ## 📁 Contenu du dépôt ```text pve-project/ │ ├── readme.md # Ce fichier │ ├── docs/ │ ├── architecture.md # Schémas et choix d'architecture │ ├── network-diagram.md # Plan réseau détaillé (VLANs, IPs) │ └── security-policy.md # Politique de sécurité appliquée │ ├── configs/ │ ├── opnsense/ │ │ └── firewall-rules.md # Règles firewall documentées (anonymisées) │ └── wireguard/ │ └── wg0.conf.example # Template de config WireGuard (sans clés) │ └── screenshots/ ├── 1.png # Dashboard ├── 2.png # Metrics dashboard └── 3.png # Wireguard admin panel ``` --- ## 🧠 Compétences illustrées **Virtualisation & Infrastructure** - Administration Proxmox VE (VMs, LXC, snapshots, ressources) - Architecture hybride LXC + VM adaptée aux usages - Réseau virtualisé et segmentation logique **Cybersécurité** - Déploiement et configuration d'un firewall virtualisé (OPNsense) - Mise en place d'une architecture Zero Trust simplifiée (VPN-only admin) - Exposition sécurisée via Cloudflare Tunnel + Cloudflare Access - Cloisonnement des environnements sensibles et éphémères - Réduction de la surface d'attaque **Administration système** - Linux server, services auto-hébergés - Active Directory, GPO, gestion des identités (Windows Server) - Docker & conteneurisation --- ## ⚠️ Sécurité du dépôt > Ce dépôt est **public**. Aucune clé privée, mot de passe, adresse IP réelle ou information sensible n'est commitée. Les fichiers de configuration sont systématiquement **anonymisés ou fournis sous forme de templates**. --- ## 📌 À propos Projet personnel en évolution continue, utilisé comme plateforme d'apprentissage, d'expérimentation et de montée en compétences en ingénierie cybersécurité et architecture système. --- *Infrastructure opérationnelle — évolutions régulières selon les projets et formations en cours.*