Kurzfassung: Beim Kunden laufen mehrere interne Dienste (u. a. Nextcloud) hinter dem Pangolin Reverse Proxy. Pangolin terminiert den externen Zugriff über verschlüsselte WireGuard-Tunnel, erzwingt Identity & Access Management (SSO/2FA/OIDC/Passkeys) und reduziert die Angriffsfläche, weil keine eingehenden Ports nach außen geöffnet werden müssen. Ergänzend schützt CrowdSec als kollaboratives IPS/WAF mit Bouncern und bedrohungsbasierten Sperren. Ergebnis: Ein mehrlagiges, nachvollziehbares Sicherheits-Setup mit Failover, Health-Checks und optionaler Geo-Blocking-Policy.
Pangolin Reverse Proxy + CrowdSec: Sicherheitsschicht für selbstgehostete Dienste (z. B. Nextcloud)
Kurzfassung: Beim Kunden laufen mehrere interne Dienste (u. a. Nextcloud) hinter dem Pangolin Reverse Proxy. Pangolin terminiert den externen Zugriff über verschlüsselte WireGuard-Tunnel, erzwingt Identity & Access Management (SSO/2FA/OIDC/Passkeys) und reduziert die Angriffsfläche, weil keine eingehenden Ports nach außen geöffnet werden müssen. Ergänzend schützt CrowdSec als kollaboratives IPS/WAF mit Bouncern und bedrohungsbasierten Sperren. Ergebnis: Ein mehrlagiges, nachvollziehbares Sicherheits-Setup mit Failover, Health-Checks und optionaler Geo-Blocking-Policy.
Warum Pangolin statt klassischem Reverse Proxy?
- Kein Direct Exposure: Pangolin stellt den Zugriff über Nodes und WireGuard-Tunnel bereit – die Backend-Dienste bleiben ohne öffentliche Inbound-Ports. Das senkt die Angriffsfläche erheblich.
- Identity-Aware Proxy: Jede Anfrage wird authentifiziert und autorisiert, bevor sie den Dienst erreicht (z. B. SSO via OAuth2/OIDC mit Authentik/Keycloak/Okta, TOTP/2FA, Passkeys, rollenbasierte Zugriffe, Ressource-Pins/-Passwörter).
- Automatisiertes TLS & Protokoll-Vielfalt: Let’s Encrypt automatisch; HTTP/HTTPS sowie TCP/UDP-Weiterleitungen werden unterstützt.
- Hochverfügbarkeit: Health-Checks, automatisches Failover und Load-Balancing zwischen Targets; Traffic zu kranken Backends wird automatisch ausgeschlossen, Recovery erfolgt selbsttätig.
- Policies & Rules: Geo-Blocking, IP-/Pfad-Regeln, Rate-Limiting; für Self-Hosted lässt sich Geoblocking via Traefik-Plugin ergänzen.
- Cloudflare-Tunnel-Alternative (selbstgehostet): Häufig als Self-Hosted-Pendant zu Tunneldiensten beschrieben – mit sauberem UI und Traefik-Integration.
CrowdSec als zweite Schutzschicht

- Open-Source, Community-basierte CTI: CrowdSec identifiziert bösartige Muster (Bruteforce, Scans etc.) und teilt Threat-Intelligence (IP-Entscheidungen) in der Community. Bouncer setzen Sperren an der Perimeter-Schicht durch (z. B. NGINX/WAF/Firewall).
- WAF/Reverse-Proxy-How-to: CrowdSec lässt sich vor die Applikation legen (z. B. NGINX-Reverse-Proxy mit WAF), um Requests vor dem Backend zu filtern.
- Collections für Nextcloud: Spezielle Regeln/Parser für Nextcloud (Bruteforce/Enumeration/Trusted-Domain-Checks) sind als Collection verfügbar.
Zusammenspiel: In unserer Architektur hängt CrowdSec (WAF/Bouncer) am Eingang, Pangolin erzwingt Identität/Policies, und die eigentlichen Dienste (z. B. Nextcloud) sind nur über den Tunnel erreichbar. So entsteht Defense-in-Depth: Block – Auth – Serve.
Architektur (vereinfacht)
- Internet → CrowdSec-geschützter Entry (Bouncer/WAF).
- Pangolin Node authentifiziert Nutzer (SSO/OIDC, TOTP/Passkeys), prüft Rules (Geo-Block, Pfad/IP, Rate-Limit) und leitet nur legitime Requests weiter.
- WireGuard-Tunnel routet die Anfrage sicher zum internen Dienst (z. B. Nextcloud); Health-Checks entscheiden, welches Target bedient wird.
- Backend (Nextcloud & Co.) antwortet über denselben Pfad zurück.
Nextcloud: Reverse-Proxy-Besonderheiten
- Client-IP korrekt durchreichen: Nextcloud erwartet die echte Client-IP via
X-Forwarded-For
(konfigurierbar überforwarded_for_headers
). Unbedingttrusted_proxies
setzen, damit IP-Spoofing verhindert wird. - HTTPS überall: Produktivbetrieb nur über TLS. (TLS-Terminierung kann Pangolin übernehmen; Zwischen-Segment optional via mTLS/VPN).
- CrowdSec-Szenarien aktivieren: Für Nextcloud die passende Collection installieren, damit Login-Bruteforce/Enumeration erkannt werden.
Betrieb & Härtung (Auszug aus der Praxis)
- Identity Providers (IdP): OIDC/OAuth2 anschließen (Authentik/Keycloak). Nutzer/Rollen können auto-provisioniert werden; RBAC zentral definieren.
- TLS-Automatisierung: Let’s-Encrypt-Zertifikate via Pangolin; Wildcard optional je nach DNS-Setup.
- Geo-Policies: Länder gezielt erlauben/verbieten (z. B. Admin-Pfad nur aus DACH). Priority-Regeln beachten.
- Health-Checks: Dedizierte
/health
-Endpoints definieren; Timeouts/HTTP-Codes (200/201/202/204) passend einstellen; unhealthy interval aggressiver wählen, um schneller zu recovern. - CrowdSec-Bouncer: Je nach Stack nginx-, firewall- oder app-bouncer einsetzen, um Entscheidungen durchzusetzen (Erkennen allein reicht nicht).
- Nextcloud-Warnung „Reverse proxy header configuration is incorrect“ vermeiden:
trusted_proxies
korrekt pflegen; die Doku erklärt Header-Handling & Konfig.
Vorteile für den Kunden
- Minimale Angriffsfläche: Keine offenen Inbound-Ports, Anfragen immer durch Auth-/Policy-Schicht.
- Skalierbar & hochverfügbar: Load-Balancing, Health-Checks, automatisches Failover.
- Richtlinien- & Compliance-tauglich: Identity-Aware Access (SSO/2FA/Passkeys), Geo-Regeln, Logging.
- Community-Threat-Intel: CrowdSec blockt bekannte Angreifer vor der App. (crowdsec.net)
Fazit
Pangolin + CrowdSec liefert ein mehrlagiges Security-Design für selbstgehostete Anwendungen wie Nextcloud: Tunneling statt Portfreigaben, Identity-Aware Proxy vor den Diensten, WAF/IPS an der Perimeter-Schicht – und Policies/Geo/Failover aus einer Hand. Für Teams bedeutet das: weniger Angriffsfläche, konsistente Authentifizierung und robuste Verfügbarkeit.