Worum es geht
Eine Eigene Aktion ruft dein System aus dem Internet über https auf. Adressen im Firmennetz (z. B. http://192.168.1.20:8080) erreicht Paldra nicht – und darf es auch nicht: private Adressen lehnen wir grundsätzlich ab. Die Lösung ist ein Tunnel: ein kleines Programm in deinem Netz baut eine ausgehende Verbindung zu einem Anbieter auf und macht genau einen Dienst unter einer öffentlichen https-Adresse erreichbar. In der Firewall musst du dafür nichts öffnen.
Cloudflare Tunnel (empfohlen)
Voraussetzung: ein kostenloses Cloudflare-Konto und eine Domain, deren DNS bei Cloudflare liegt (z. B. deinefirma.de), sowie ein Rechner im Firmennetz, der dein System erreicht (Server, VM oder Raspberry Pi; Linux, Windows oder macOS).
alpheris.cloudflared als Dienst und startet nach einem Neustart von selbst.erp-api, Domain deinefirma.de, Pfad nur das Nötige (z. B. ^/api/alpheris/.*), Service HTTP und die interne Adresse, z. B. 192.168.1.20:8080.erp-api.deinefirma.de mit einer Regel, Aktion Service Auth, die genau diesen Token erlaubt.https://erp-api.deinefirma.de/api/alpheris/… anlegen und unter „Mehr: Kopfzeilen …“ zwei Kopfzeilen eintragen: CF-Access-Client-Id und CF-Access-Client-Secret mit den Werten aus Schritt 4.Lieber mit Konfigurationsdatei statt Dashboard? Dann so:
cloudflared tunnel login
cloudflared tunnel create alpheris
cloudflared tunnel route dns alpheris erp-api.deinefirma.de
sudo cloudflared --config /etc/cloudflared/config.yml service install# /etc/cloudflared/config.yml
tunnel: alpheris
credentials-file: /etc/cloudflared/<TUNNEL-ID>.json
ingress:
- hostname: erp-api.deinefirma.de
path: ^/api/alpheris/
service: http://192.168.1.20:8080
- service: http_status:404Prüfen von außen (ohne Token muss Cloudflare ablehnen, mit Token antwortet dein System):
curl -i https://erp-api.deinefirma.de/api/alpheris/status
curl -i https://erp-api.deinefirma.de/api/alpheris/status \
-H "CF-Access-Client-Id: <ID>.access" -H "CF-Access-Client-Secret: <SECRET>"Sicherheit: worauf du achten solltest
- Nur das Nötige veröffentlichen: ein eigener Pfad oder ein kleiner Dienst nur für Paldra – nie die ganze Verwaltungsoberfläche.
- Zwei Schlösser: Cloudflare Access (Service Token) vor dem Tunnel und die Signatur jedes Aufrufs prüfen (
X-Alpheris-Signature, siehe Aufrufe prüfen). Aufrufe ohne gültige Signatur ablehnen. - Eigener Benutzer mit wenig Rechten im internen System: lesen, wo möglich; schreibende Aktionen (PUT, PATCH, DELETE) mit Stufe „Kunde bestätigt“ oder „Entwurf“.
- Persönliche Daten nur passend zum Kunden: nutze die bestätigte E-Mail (
X-Alpheris-Customer-Email) und gib nur Daten dieses Kunden heraus. - Geheimnisse wechseln: Service Token und Signatur-Geheimnis lassen sich jederzeit erneuern; danach in Paldra neu eintragen.
- Protokolle: Cloudflare zeigt unter Zero Trust → Logs jeden Zugriff; dein System sollte die
X-Alpheris-Request-Idmitschreiben.
Andere Wege
- Tailscale Funnel:
tailscale funnel 8080macht einen Dienst unterhttps://<rechner>.<tailnet>.ts.neterreichbar. Kein Zugriffsschutz davor – prüfe deshalb unbedingt die Signatur und setze zusätzlich einen eigenen Schlüssel als Kopfzeile. - ngrok mit fester Domain:
ngrok http --url=erp-api.deinefirma.de 8080; Zugriff über eine eigene Kopfzeile (z. B.X-Api-Key) oder ngroks Richtlinien absichern. - Reverse Proxy in der DMZ (nginx, Caddy, Traefik) mit gültigem Zertifikat und Schlüssel-Kopfzeile – wenn deine IT das ohnehin betreibt.
- Nur Daten, kein Live-Zugriff nötig? Dann reicht oft eine Nachschlagetabelle (CSV/Excel oder veröffentlichter Link) oder
POST /v1/wissenaus deinem System heraus – dafür braucht es keinen Tunnel.
IP-Freigabe
Wir veröffentlichen derzeit keine festen ausgehenden IP-Adressen. Sie können sich bei Ausbau oder Umzug der Server ändern, deshalb ist eine Freigabe nur über IP-Adressen nicht verlässlich. IP-Freigabe auf Anfrage – schreib uns über den Support. Sicherer und dauerhaft ist die Prüfung über Service Token bzw. Schlüssel-Kopfzeile und die Signatur jedes Aufrufs.
