Skip to main content

system-settings

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:

  1. Anfrage: Ein User ruft service.holler.pro auf.

  2. Pre-Auth: Caddy fragt bei Authelia an, ob die Sitzung gültig ist (forward_auth).

  3. Identität: Authelia prüft die Credentials gegen den LLDAP-Bestand.

  4. Zweiter Faktor: Falls konfiguriert, fordert Authelia einen Hardware-Key (WebAuthn) oder TOTP an.

  5. 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.