Files
pve-project/readme.md
T
2026-06-18 23:25:27 +02:00

230 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🖥️ 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)
```
---
## 🧠 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.*