Das Homelab läuft vollständig auf einem Proxmox VE Host und spiegelt eine produktionsnahe Infrastruktur wider. Es ist in zwei logische Bereiche unterteilt: die Core Services für den Alltagsbetrieb und ein vollständig isoliertes Security Testing Lab für Angriffsszenarien und SIEM-Übungen.
Ein seperates Out-of-Band-Management-VLAN (vmbr1) ist jeder VM im Lab zugewiesen und ermöglicht den Zugriff und Verwaltung . pfSense fungiert als zentrales Firewall- und Routing-Element, das alle VLANs verbindet und über einen Trunk-Port (vmbr99) mit allen Segmenten kommuniziert.
Die Core Services laufen in einer dedizierten VM sowie in separaten LXC-Containern auf dem Proxmox-Host.
| Service | Funktion |
|---|---|
| Nginx Proxy Manager | Reverse Proxy mit SSL-Zertifikatsverwaltung |
| Vaultwarden | Self-hosted Passwortmanager (Bitwarden-kompatibel) |
| Nextcloud | Selbst gehosteter Cloud-Storage |
| Unbound DNS | Lokaler DNS-Resolver mit Unbound |
| Mailcow | Vollständiger E-Mail-Stack (SMTP, IMAP, Webmail) |
| Gitea | Self-hosted Git-Server |
| Patchmon | VM-Patch-Monitoring und Alert-System |
| Wazuh | Event Management und Security Analyse |
| Jumphost | Zentrale Instanz für Lab Zugriff |
| CA | Offline CA für Zertifikatsaustellungen |
Das Security Testing Lab ist vollständig VLAN-segmentiert und vom produktiven Netz isoliert. Jede VM erhält zusätzlich eine Verbindung zum Out-of-Band-Management-VLAN (vmbr1) zur Steuerung. pfSense übernimmt das Routing zwischen den Segmenten mit expliziten Firewall-Regeln und ist über den Trunk-Port vmbr99 mit allen VLANs verbunden.
| Bridge | Komponente / Zone | Zweck |
|---|---|---|
| vmbr1 | Out-of-Band Management | Jeder VM zugewiesen - Remote Steuerung |
| vmbr10 | MGMT - Keycloak IAM | Security Control Panel - Single Sign-On via OIDC für alle Clients |
| vmbr20 | User Zone - Client VMs | Client-Systeme und Endpunkte im Lab |
| vmbr30 | Service / Application Zone | Anwendungsservices und interne Dienste |
| vmbr40 | SOC / Analyst Zone - Wazuh SIEM | Log-Aggregation, Custom Rules, Alert-Engine |
| vmbr666 | Vulnerable VM Testing | Isoliertes Testnetz für verwundbare VMs |
| vmbr99 | pfSense Trunk | Trunk-Port für alle VLANs (10/20/30/40) - Firewall, VLAN-Routing, DNS |
Alle Segmente laufen als Linux-Bridges auf dem Proxmox-Host. pfSense ist über den Trunk-Port vmbr99 mit allen VLANs verbunden.
pfSense (vmbr99 Trunk)
├── vmbr1 Out-of-Band Management (alle VMs)
├── vmbr10 MGMT / Keycloak IAM
├── vmbr20 User Zone
├── vmbr30 Service / Application Zone
├── vmbr40 SOC / Analyst Zone (Wazuh SIEM)
└── vmbr666 Vulnerable VM Testing (isoliert)
Ein dedizierter Jumphost-VM verbindet das interne Lab-Netz mit einem öffentlichen VPS via WireGuard-Tunnel. Masquerading/NAT ermöglicht dem VPS, auf interne Services zuzugreifen, ohne dass Ports öffentlich exponiert werden müssen.
# WireGuard Jumphost - Masquerading
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Auf dem VPS läuft ein weiterer WireGuard-Peer, der als Gateway für Remote-Verbindungen dient. Der gesamte Datenverkehr wird durch den Tunnel geroutet.