ELONIQ / ELONIQ Handbuch
Deutsch English Français
Übersicht / Komponenten / Secure Proxy

Secure Proxy

Sicherer Reverse-Proxy mit TLS und Authentifizierung

Der SecureProxy ist ein integrierter Reverse-Proxy, der interne HTTP-Dienste sicher nach außen bereitstellt — mit TLS, Authentifizierung und Rate-Limiting.

Übersicht

Der SecureProxy fungiert als Reverse-Proxy zwischen externen Clients und internen Backend-Diensten. Er bietet TLS-Terminierung, Zugriffskontrolle und Rate-Limiting in einer integrierten Lösung.

Einsatzszenarien
  • API-Gateway — ELONIQ-API über HTTPS mit API-Key-Authentifizierung nach außen freigeben.
  • Webhook-Empfänger — Eingehende Webhooks sicher annehmen und an interne Dienste weiterleiten.
  • Service-Proxy — Interne Dienste (z.B. Datenbank-API, Monitoring) über einen gesicherten Endpunkt bereitstellen.

Funktionen

  • TLS-Terminierung — Automatisches TLS via Let's Encrypt, manuelles Zertifikat oder ohne TLS.
  • API-Key-Authentifizierung — Zugriffskontrolle über benannte API-Keys im X-API-Key-Header.
  • IP-Whitelist — Zugriff auf bestimmte IP-Bereiche (CIDR) beschränken.
  • Kombinierte Authentifizierung — API-Key und IP-Whitelist gleichzeitig erfordern.
  • Rate-Limiting — Anfragen pro IP und Minute begrenzen zum Schutz vor Überlastung.
  • Pfad-basiertes Routing — Verschiedene URL-Pfade auf unterschiedliche Backend-Dienste weiterleiten.
  • Pfad-Stripping — Gematchtes Pfad-Präfix wird beim Weiterleiten entfernt.
  • Header-Forwarding — X-Forwarded-For, X-Forwarded-Host und X-Forwarded-Proto werden automatisch gesetzt.
  • Request-Logging — Detailliertes Logging aller Proxy-Anfragen.

Verwendung

  1. Komponente öffnen — Navigieren Sie zu Komponenten > SecureProxy im AdminUI.
  2. Proxy aktivieren — Setzen Sie enabled auf true und wählen Sie die Listen-Adresse.
  3. TLS konfigurieren — Wählen Sie den TLS-Modus: auto für Let's Encrypt, manual für eigene Zertifikate oder none.
  4. Authentifizierung einrichten — Wählen Sie den Auth-Modus und konfigurieren Sie API-Keys und/oder IP-Whitelist.
  5. Proxy-Regeln erstellen — Definieren Sie für jeden Backend-Dienst eine Regel mit Pfad-Präfix und Ziel-URL.
  6. Rate-Limiting aktivieren — Optional ein Anfragen-Limit pro Minute und Client setzen.
  7. Proxy starten — Konfiguration speichern und den Proxy starten.

Best Practices

  • Auto-TLS in Produktion — Verwenden Sie den Auto-Modus mit Let's Encrypt für automatische Zertifikatsverwaltung.
  • API-Keys rotieren — Erstellen Sie benannte API-Keys und rotieren Sie diese regelmäßig.
  • IP-Whitelist zusätzlich — Kombinieren Sie API-Key mit IP-Whitelist (Modus "both") für maximale Sicherheit.
  • Rate-Limiting aktivieren — Setzen Sie ein Rate-Limit, um Missbrauch zu verhindern.
  • Nur nötige Pfade freigeben — Erstellen Sie Proxy-Regeln nur für die tatsächlich benötigten Backend-Dienste.
  • Logging prüfen — Überwachen Sie die Proxy-Logs auf ungewöhnliche Zugriffsmuster.

Beispiele

1. API mit Let's Encrypt absichern
Listen: :443
TLS: auto
Domain: api.firma.de
Auth: apikey
API-Keys:
  - Name: erp-system, Key: xxx
  - Name: mobile-app, Key: yyy
Regeln:
  - /api → http://localhost:8080
2. Interner Dienst mit IP-Whitelist
Listen: :8443
TLS: none
Auth: whitelist
Whitelist: 10.0.0.0/8, 192.168.1.0/24
Regeln:
  - /internal → http://localhost:9090
3. Kombinierte Sicherheit (API-Key + IP)
Listen: :443
TLS: manual
Cert: /etc/ssl/certs/proxy.crt
Key: /etc/ssl/private/proxy.key
Auth: both
Rate-Limit: 100 req/min
Regeln:
  - /webhook → http://localhost:8080/api/webhook
  - /status → http://localhost:8080/api/status