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
- Komponente öffnen — Navigieren Sie zu Komponenten > SecureProxy im AdminUI.
- Proxy aktivieren — Setzen Sie
enabledauftrueund wählen Sie die Listen-Adresse. - TLS konfigurieren — Wählen Sie den TLS-Modus:
autofür Let's Encrypt,manualfür eigene Zertifikate odernone. - Authentifizierung einrichten — Wählen Sie den Auth-Modus und konfigurieren Sie API-Keys und/oder IP-Whitelist.
- Proxy-Regeln erstellen — Definieren Sie für jeden Backend-Dienst eine Regel mit Pfad-Präfix und Ziel-URL.
- Rate-Limiting aktivieren — Optional ein Anfragen-Limit pro Minute und Client setzen.
- 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