Zum Inhalt springen

OBS/Kostenpflichtige Module/RESTServer/Öffentliche Freigabe

Aus OBS Wiki

Öffentliche Freigabe

Apps auf mobilen Geräten und externe Systeme erreichen den REST-Server nur, wenn er aus dem Internet erreichbar ist. Diese Seite stellt die drei Wege dafür gegenüber und richtet sich an die IT-Administration, die über die Freigabe entscheidet.

HINWEIS: Läuft der REST-Server auf dem OBS-Server, liegt dort auch die Datenbank. Die Varianten unterscheiden sich vor allem darin, ob eine Verbindung aus dem Internet diesen Server direkt erreicht.

Varianten im Vergleich

Merkmal Direkte Portfreigabe Reverse-Proxy VPN
Aus dem Internet erreichbar OBS-Server: Port des REST-Servers, bei Prüfart http-01 zusätzlich Port 80 nur der Proxy (Port 443) nur das VPN-Gateway
Aufwand für die Nutzer der App keiner keiner VPN-Client einrichten und vor der Nutzung einschalten
Aufwand für die IT Portweiterleitung am Router Proxy betreiben, Zertifikat am Proxy VPN-Zugang für jedes Gerät
Filtern und Protokollieren vor dem OBS-Server – ✓ nur auf Netzebene
Öffentliches Zertifikat im REST-Server, Prüfart http-01 oder dns-01 am Proxy im REST-Server, Prüfart dns-01
REST-Server sieht die IP-Adresse des Geräts ✓ nur im Protokoll (über X-Forwarded-For) ✓, sofern das VPN-Gateway die Adressen nicht umsetzt (NAT)

Direkte Portfreigabe

Der Router leitet den Port des REST-Servers aus dem Internet auf den OBS-Server weiter. Für die Zertifikatserneuerung mit der Prüfart http-01 wird zusätzlich Port 80 weitergeleitet.

Vorteile

  • Die einfachste Einrichtung, es wird keine weitere Komponente gebraucht.
  • Die App funktioniert überall, ohne dass die Nutzer etwas tun müssen.
  • Der REST-Server sieht die IP-Adresse jedes Geräts. Host-Beschränkung, Rate-Limit und Protokoll arbeiten damit je Gerät.

Nachteile

  • Der OBS-Server mit der Datenbank ist direkt aus dem Internet erreichbar. Schutz bieten allein TLS, die Zugänge (API-Key, JWT) und die Grenzen des REST-Servers.
  • Mit der Prüfart http-01 ist zusätzlich Port 80 weitergeleitet. Mit der Prüfart dns-01 entfällt das.

Reverse-Proxy

Ein Reverse-Proxy, zum Beispiel in einer DMZ oder als Funktion der Firewall, nimmt HTTPS auf Port 443 an. Er prüft die Anfrage und reicht sie über eine eigene, ebenfalls verschlüsselte Verbindung an den REST-Server weiter.

Vorteile

  • Der OBS-Server ist aus dem Internet nicht erreichbar, nur der Proxy.
  • Am Proxy lassen sich Anfragen nach Ihren Vorgaben filtern, drosseln und protokollieren.
  • Für die Nutzer der App ändert sich nichts.
  • Das öffentliche Zertifikat liegt am Proxy. Die Zertifikatserneuerung des REST-Servers wird nicht gebraucht.

Nachteile

  • Der Proxy muss betrieben und gepflegt werden.
  • Der REST-Server sieht als Absender nur den Proxy. Die Host-Beschränkung eines Zugangs kann keine Geräte unterscheiden, und Anfragen ohne API-Key teilen sich einen Zähler des Rate-Limits. Die IP-Adresse des Geräts steht nur im Protokoll, wenn der Proxy den Header X-Forwarded-For setzt.

Die Einrichtung beschreibt Betrieb hinter einem Reverse-Proxy.

VPN

Die Geräte verbinden sich per VPN mit dem Netz, in dem der OBS-Server steht. Die App spricht durch den Tunnel per HTTPS mit dem REST-Server. Aus dem Internet ist nur das VPN-Gateway erreichbar.

Vorteile

  • Für den REST-Server ist kein Port aus dem Internet offen.
  • Nur Geräte mit VPN-Zugang erreichen den REST-Server.
  • Setzt das VPN-Gateway die Adressen nicht um, sieht der REST-Server die VPN-Adresse jedes Geräts.

Nachteile

  • Jedes Gerät braucht einen VPN-Client und einen eigenen Zugang. Ohne zentrale Geräteverwaltung schalten die Nutzer das VPN von Hand ein. Ist es aus, meldet die App, dass der Server nicht erreichbar ist.
  • Ein VPN-Zugang öffnet den Weg ins Netz. Beschränken Sie ihn auf die Adresse und den Port des REST-Servers.
  • Das Zertifikat lässt sich nur mit der Prüfart dns-01 erneuern, weil die Zertifizierungsstelle den Server nicht erreicht.
  • Der Name des REST-Servers muss auf dem Gerät auf die interne Adresse zeigen. Das geht über einen DNS-Server, den das VPN mitliefert, oder über einen öffentlichen DNS-Eintrag mit der internen Adresse. Manche Router verwerfen solche Antworten als Schutz gegen DNS-Rebinding; dann löst der Name in diesem Netz nicht auf.

Das Zertifikat richten Sie wie unter Zertifikatserneuerung beschrieben mit der Prüfart dns-01 ein.

Entscheidungshilfe

  • Keine eingehende Verbindung zum OBS-Server erlaubt, DMZ oder Firewall mit Proxy-Funktion vorhanden: Reverse-Proxy.
  • Geräte werden zentral verwaltet oder ein VPN ist ohnehin im Einsatz: VPN.
  • Kleine Installation ohne Vorgaben der IT: Direkte Portfreigabe, möglichst mit der Prüfart dns-01, damit Port 80 geschlossen bleibt.

Siehe auch