Domácí infrastruktura
Po čtyřech letech: dvouuzlový Proxmox cluster, HA reverse proxy, šest VLAN a 25+ self-hosted služeb, z nichž některé denně používají i lidé mimo tuto domácnost. Webové služby jsou dostupné bez jediného otevřeného portu; herní a hlasové servery, které port potřebují, jsou izolované ve vlastní VLAN. Vše níže je navrženo, postaveno a provozováno ručně.
Výpočetní výkon & úložiště
Dvouuzlový Proxmox VE cluster se sdíleným TrueNAS úložištěm, dedikovaným backup serverem a Raspberry Pi jako quorum zařízením, které zabraňuje split-brain situacím při výpadku jednoho uzlu.
Segmentace pomocí VLAN
Každá třída workloadů běží ve vlastní VLAN se specifickými firewall pravidly. Tím se minimalizuje blast radius při kompromitaci služby a zároveň se vynucuje least-privilege networking jako výchozí stav.
Inter-VLAN pravidla
WAN ingress
Technitium DNS server
local.screedy.com.
Forwarder zóna pro screedy.com — lokální override směřuje na Traefik VIP,
neznámé záznamy jsou přeposílány na Cloudflare.
Sekundární Technitium synchronizuje zónu pomocí zone transferu.
Konvence domén
Nasazené aplikace
25+ self-hosted služeb napříč šesti VLANy, všechny dostupné přes Traefik s wildcard TLS certifikáty vydanými pomocí Cloudflare DNS challenge — bez potřeby otevřených WAN portů pro webový přístup.
local.screedy.com, forwarder pro screedy.com.
Sekundární uzel zajišťuje HA pro DNS resolution.
Security posture
Defence in depth přístup — od segmentace sítě na úrovni VLAN přes zero-trust přístup, automatizované TLS, webový aplikační firewall, automatickou prevenci průniku, SIEM monitoring až po řízení přístupu na úrovni jednotlivých služeb.
- Šest VLAN odděluje workloady podle rizika a účelu
- Default-deny mezi všemi VLAN — pouze explicitní allow pravidla
- VLAN 30 (Media) a 40 (Game) nemají outbound přístup do interních služeb
- VLAN 55 (Exposed) dále izoluje veřejně dostupné služby od VLAN 50
- Traefik HA dvojice (VIP) ve VLAN 20 je jediný ingress bod pro webový provoz
- Cloudflare Tunnel — žádné inbound WAN porty pro webové služby
- Veškerý externí provoz končí na Cloudflare edge
*.local.screedy.comnení nikdy publikováno do veřejného DNS — z principu nedostupné z internetu- Cloudflared LXC je izolovaný od backend VLAN — povolen pouze přístup k Traefiku
- Wildcard certifikáty pro
*.local.screedy.coma*.screedy.compřes Cloudflare DNS challenge - Bez HTTP-01 challenge — WAN porty 80/443 zůstávají uzavřené
- Certifikáty spravované na traefik-01 a synchronizované na záložní uzel, automatická obnova před expirací
- HTTPS backendy využívají
serversTransports odpovídající validací certifikátů - HSTS, XSS protection, frame options a referrer policy vynuceny pomocí Traefik middleware
- Wazuh agent na Traefik LXC odesílá access logy a daemon logy ve formátu JSON
- Custom Wazuh pravidla pro brute force, 5xx výkyvy, blokované přístupy, anomálie v odezvě
- Traefik access log obsahuje ClientHost, X-Forwarded-For, DownstreamStatus, Duration, RouterName
- Prometheus sbírá metriky z Traefiku — Grafana dashboardy pro request rate a error spiky
- Rate-limit middleware v Traefiku: 100 req/s průměr, burst 50
- Basic auth pro Prometheus endpoint vynucen přes Traefik middleware
- CrowdSec analyzuje access logy Traefiku z Loki a hledá skenování, pokusy o zneužití CVE a brute force
- Útočící IP jsou do zhruba minuty zablokované na obou uzlech Traefiku
- Vedle lokálních detekcí se vynucuje komunitní blocklist ~15 000 známých útočníků
- Skutečná IP klienta se bere z
Cf-Connecting-Ipjen u požadavků z tunelového konektoru - Pravidla Cloudflare WAF podrobí provoz ze sítí cloudových poskytovatelů kontrole už na edge
- CrowdSec AppSec kontroluje každý veřejný požadavek inline, dřív než dorazí ke službě
- Pravidla virtual patching blokují exploity známých CVE hned při prvním požadavku
- Blokuje jen škodlivý požadavek, ne celého návštěvníka — jedna podivná URL tak nikdy nezablokuje skutečného uživatele
- Fail-open — když je CrowdSec nebo jeho WAF nedostupný, provoz běží dál a pozastaví se jen detekce
- Obecná pravidla OWASP (SQL injection, XSS) čekají na kontrolu falešných poplachů
Monitoring & alerting
Metriky, logy a bezpečnostní události agregované do jednotné observability pipeline — problémy se tak projeví dříve, než ovlivní dostupnost služeb.
/metrics na :8080), CrowdSec, Unpolleru (UniFi metriky)
i sebe samotného. Basic auth vynucen pomocí Traefik middleware.
Proč právě takto?
Klíčová architektonická rozhodnutí a trade-offy, které formovaly tento setup.
service.screedy.com na Traefik VIP
pomocí Technitium forwarder zóny, zatímco externí klienti dostávají
veřejný záznam z Cloudflare.
Stejná doména, rozdílné resolution path — žádný hairpin přes Cloudflare
a žádný rozdíl v uživatelském zážitku.
Cf-Connecting-Ip, kterému se věří jen od tunelového konektoru — jinak by každý návštěvník vypadal jako cloudflared a jeden ban by zablokoval všechny. AppSec přidává druhou, inline vrstvu: jednotlivé škodlivé požadavky blokuje okamžitě, opakované chování řeší bany IP.Technologický stack
Přehled technologií, které v tomto prostředí aktivně používám, spravuji nebo provozuji.
Co dál
Aktuální migrace a plánovaná vylepšení směřující k plně HA a zero-trust architektuře.