Initial commit (reset history)

This commit is contained in:
Alexis Rolland
2026-06-19 23:01:55 +02:00
commit 52f03ebc19
6 changed files with 643 additions and 0 deletions
+229
View File
@@ -0,0 +1,229 @@
# 🖥️ 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.*