diff --git a/readme.md b/readme.md index 6ae2fb1..b410427 100644 --- a/readme.md +++ b/readme.md @@ -9,6 +9,7 @@ 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) @@ -18,35 +19,36 @@ Ce projet est un **homelab personnel** tournant 24/7 sur un mini-PC basse consom ## 🧱 Architecture générale -``` - ┌─────────────────────────────────┐ - │ 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 │ - │ │ │ virtualisé) │ │ • Tiny11 │ - └─────────────────┘ └─────────────────┘ │ • CTF / Pentest │ - └─────────────────┘ +```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 | +| 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 | --- @@ -58,16 +60,19 @@ Les conteneurs LXC et la VM OPNsense ont été déployés via **[Proxmox VE Help ### 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)" ``` @@ -81,6 +86,7 @@ bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/Proxmo ### 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é @@ -88,17 +94,20 @@ Serveur VPN personnel permettant l'administration sécurisée du homelab depuis - 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 @@ -106,6 +115,7 @@ Routeur et firewall virtualisé simulant une infrastructure réseau d'entreprise - 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 @@ -114,6 +124,7 @@ Environnements Windows pour la pratique système et Active Directory. - 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 @@ -121,6 +132,7 @@ Environnements Linux polyvalents pour le développement et l'administration. - 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 @@ -133,18 +145,19 @@ Machines éphémères créées à la demande pour l'entraînement offensif et d ### Principes appliqués -| Principe | Mise en œuvre | -|----------|---------------| -| Exposition minimale | Aucun service d'administration exposé sur le WAN | -| Administration sécurisée | Accès uniquement via tunnel WireGuard | -| 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 | +| 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 │ │ │ │ │ @@ -158,24 +171,21 @@ Machines éphémères créées à la demande pour l'entraînement offensif et d ## 📁 Contenu du dépôt -``` -homelab-proxmox/ +```text +pve-project/ │ -├── README.md # Ce fichier +├── 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) -│ -└── writeups/ - └── (à venir) ctf/ # Writeups des CTF réalisés dans le lab +└── configs/ + ├── opnsense/ + │ └── firewall-rules.md # Règles firewall documentées (anonymisées) + └── wireguard/ + └── wg0.conf.example # Template de config WireGuard (sans clés) ``` --- @@ -183,17 +193,21 @@ homelab-proxmox/ ## 🧠 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