Skip to main content

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 .lcars. Er fungiert als Authoritative DNS für das interne Netz.

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 .lcars Domain (Internal Trust).

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.lcars auf die interne IP auf.

    TLS: Caddy nutzt das step-ca Modul, 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.pro auf.

        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.