system-settings
Enterprise Home-Server-Infrastruktur
Diese Dokumentation beschreibt die Architektur und das Zusammenspiel der Dienste für die Domains *.lcars (Lokal) und *.holler.pro (Öffentlich).
1. Die Kernkomponenten
| Komponente | Rolle | Beschreibung |
|
CoreDNS |
Service Discovery |
Verwaltet die zonale Auflösung für |
|
Caddy |
Edge Router & Proxy |
Übernimmt das HTTPS-Handling, die Zertifikatsverwaltung und das Load Balancing. |
|
Step-CA |
Interne PKI |
Erstellt und verwaltet TLS-Zertifikate für die lokale |
|
LLDAP |
User Directory |
Ein leichtgewichtiger LDAP-Server zur zentralen Speicherung von Benutzern und Gruppen. |
|
Authelia |
Identity Provider |
Ermöglicht Single Sign-On (SSO) und Multi-Faktor-Authentifizierung (2FA) via Portal. |
2. Domain-Konzepte
Lokales Netz: *.lcars
-
DNS: CoreDNS löst Anfragen wie
dashboard.lcarsauf die interne IP auf. -
TLS: Caddy nutzt das
step-caModul, um automatisch Zertifikate von deiner eigenen Certificate Authority zu beziehen. -
Sicherheit: Interne Dienste sind direkt via HTTPS erreichbar, ohne dass Daten das lokale Netz verlassen.
Öffentliches Netz: *.holler.pro
-
DNS: Öffentlicher Provider (z.B. aws-r53) mit Wildcard-Eintrag.
-
TLS: Caddy nutzt die ACME DNS-Challenge, um Wildcard-Zertifikate von Let's Encrypt zu erhalten.
-
Terminierung: Caddy terminiert HTTPS und leitet Anfragen an die internen Container weiter.
3. Authentifizierungs-Flow (SSO)
Das System nutzt eine abgestufte Sicherheitsarchitektur:
-
Anfrage: Ein User ruft
service.holler.proauf. -
Pre-Auth: Caddy fragt bei Authelia an, ob die Sitzung gültig ist (
forward_auth). -
Identität: Authelia prüft die Credentials gegen den LLDAP-Bestand.
-
Zweiter Faktor: Falls konfiguriert, fordert Authelia einen Hardware-Key (WebAuthn) oder TOTP an.
-
Access: Nach erfolgreichem Login erlaubt Caddy den Zugriff auf das Backend.
4. Konfigurations-Beispiele (Auszüge)
Caddyfile (Beispiel für Split-Horizon)
# Internes Setup mit Step-CA
*.lcars {
tls {
ca [https://step-ca.lcars/acme/acme/directory](https://step-ca.lcars/acme/acme/directory)
ca_root /etc/caddy/root.crt
}
reverse_proxy 192.168.1.50:8080
}
# Öffentliches Setup mit Authelia & Let's Encrypt
*.holler.pro {
# Authelia Guard
forward_auth authelia:9091 {
uri /api/verify?rd=[https://auth.holler.pro](https://auth.holler.pro)
copy_headers Remote-User Remote-Groups Remote-Name Remote-Email
}
@service1 host service1.holler.pro
handle @service1 {
reverse_proxy service1:80
}
}
CoreDNS (Corefile)
lcars {
file /etc/coredns/db.lcars
log
errors
}
. {
forward . 1.1.1.1
cache 30
}
5. Vorteile dieses Setups
-
Zero Trust: Jeder Zugriff wird (lokal wie öffentlich) validiert.
-
Komfort: Einmal einloggen (SSO), Zugriff auf alle Dienste.
-
Datensparsamkeit: LLDAP ist deutlich performanter und schlanker als ein klassisches OpenLDAP oder Active Directory.
-
Automatisierung: Keine manuelle Zertifikatserneuerung dank Caddy und Step-CA.