Zum Inhalt
Docs
API-Referenz Zum Dashboard
DocsIntegrationenInterne Systeme anbinden

Interne Systeme anbinden

Deine Warenwirtschaft, Hausverwaltungs-Software oder dein ERP läuft im Firmennetz und hat keine öffentliche Adresse? So erreicht der Chatbot sie trotzdem – sicher und ohne Port in der Firewall zu öffnen.

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

1
Im Cloudflare-Dashboard: Zero Trust → Networks → Tunnels → Create a tunnel, Typ Cloudflared, Name z. B. alpheris.
2
Cloudflare zeigt den Installationsbefehl mit einem Token. Führe ihn auf dem Rechner im Firmennetz aus – damit läuft cloudflared als Dienst und startet nach einem Neustart von selbst.
3
Unter Public Hostname: Subdomain z. B. 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.
4
Schütze die Adresse mit Cloudflare Access: Zero Trust → Access → Service Auth → Service Tokens → Token anlegen (Client-ID und Client-Secret notieren). Dann Access → Applications → Self-hosted für erp-api.deinefirma.de mit einer Regel, Aktion Service Auth, die genau diesen Token erlaubt.
5
In Paldra die Eigene Aktion mit 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:

bash
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
yaml
# /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:404

Prüfen von außen (ohne Token muss Cloudflare ablehnen, mit Token antwortet dein System):

bash
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-Id mitschreiben.

Andere Wege

  • Tailscale Funnel: tailscale funnel 8080 macht einen Dienst unter https://<rechner>.<tailnet>.ts.net erreichbar. 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/wissen aus 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.

i
Gut zu wissen: Der Tunnel ändert nichts an den Grenzen der Eigenen Aktion: nur https, keine Umleitungen, 8 Sekunden Zeitlimit, Antworten werden für den Chatbot auf das Nötige gekürzt. Braucht dein System länger, nutze lange Aufträge mit Rückmeldung.