Zum Inhalt springen

Geschützte Relays

Ein Relay wird manchmal auf einer Maschine installiert, die jemand anderem gehört: einem Partner oder einem Kunden, dessen Host personenbezogene Daten enthalten kann. Betreiben Sie das Relay auf einer solchen Maschine im geschützten Modus. Im geschützten Modus kann ein Opfield-Administrator nicht über das Relay auf den Host gelangen, und nur der Eigentümer der Maschine kann den geschützten Modus ausschalten.

Relay-Pool unter Settings → Relay mit einem als Protected gekennzeichneten RelayRelay-Pool unter Settings → Relay mit einem als Protected gekennzeichneten Relay
  • Keine Konsole. Das Relay verweigert die interaktive Shell, einmalige Befehle (auch die vom KI-Assistenten und von MCP) und Konsoleneingaben.
  • Keine Dateien. Das Relay verweigert jede Dateioperation auf dem Host: Durchsuchen, Lesen, Schreiben, Hochladen, Verschieben und Löschen.
  • Keine Host-Diagnosen. Zustandsmeldungen enthalten nur zusammengefasste Werte zu CPU, Arbeitsspeicher, Swap, Last, Betriebszeit, Dateideskriptoren und freiem Festplattenplatz. Sie enthalten keine Festplatten-Mounts, Festplatten-I/O, Netzwerkschnittstellen, IP-Adressen, kein CPU-Modell und keine Kernel-Version, und das Relay ermittelt seine öffentliche IP-Adresse nicht.
  • Keine anderen Befehle. Das Relay führt nur seine eigene Arbeit aus und verweigert alles andere, was Opfield sendet, einschließlich Befehlen, die spätere Opfield-Versionen hinzufügen, mit einem Fehler, der besagt, dass das Relay geschützt ist.
  • Datenverkehr über das Relay leiten;
  • es leeren und wieder in Betrieb nehmen;
  • sein Zertifikat verlängern;
  • die eigenen Logs und Routenzähler des Relays lesen;
  • es aktualisieren.

Updates installieren nur offizielle Releases, die mit dem im Relay eingebauten Release-Schlüssel signiert sind, wie auf jedem Node. Ein geschütztes Relay akzeptiert kein Update auf ein älteres Release als das, das es ausführt, weil ein älteres Release vor dem geschützten Modus entstanden sein könnte; ein Update des Relay-Pools, das es versucht, meldet die Ablehnung und gibt das Relay wieder in den Betrieb zurück. Ein geschütztes Relay verweigert außerdem, die integrierten Dienste des Opfield-Hosts bereitzustellen, etwa die interne Registry; diese stellt nur das lokale Relay neben Opfield bereit.

Der geschützte Modus gehört dem Eigentümer der Maschine

Abschnitt betitelt „Der geschützte Modus gehört dem Eigentümer der Maschine“

Die Einstellung befindet sich ausschließlich in der lokalen Konfigurationsdatei des Relays, /etc/opfield-relay/config.yaml (/etc/gateway-relay-supervisor/config.yaml bei einem vor 2.12.1 installierten Relay, das noch nicht auf die Opfield-Namen umgestellt wurde), die für root und bei einer Installation ohne Root für den Ausführungsbenutzer des Relays lesbar ist. Opfield hat keinen Befehl, der sie ändert, und ein geschütztes Relay verweigert jeden Befehl, der diese Datei schreiben könnte.

Aktivieren Sie im Einrichtungsdialog des Relays Protected relay. Damit wird dem generierten Installationsbefehl --protected hinzugefügt. Ein erneutes Ausführen des Installationsprogramms lässt den geschützten Modus aktiviert; das Installationsprogramm schaltet ihn nie aus.

Ihn auf einem bestehenden Relay ein- oder ausschalten

Abschnitt betitelt „Ihn auf einem bestehenden Relay ein- oder ausschalten“

Als root auf dem Relay-Host:

Terminal-Fenster
relay-supervisor protected status
relay-supervisor protected on # or: relay-supervisor protected off
systemctl restart opfield-relay-supervisor # OpenRC: rc-service opfield-relay-supervisor restart

relay-supervisor protected on|off schreibt die Einstellung in die Konfigurationsdatei, behält alles andere darin bei und gibt den Neustartbefehl für diese Maschine aus: Ein Relay, das seit der Umstellung auf die Opfield-Namen nicht neu gestartet wurde, läuft noch als gateway-relay-supervisor. Eine manuelle Bearbeitung der Datei funktioniert genauso:

protected:
enabled: true
allow_database_witness: false

Die Änderung wird wirksam, wenn der Relay-Supervisor neu startet, und das Relay meldet sie, wenn es sich erneut verbindet.

allow_database_witness (Standard false) erlaubt Opfield, Witnesses für Datenbanken und Speicher auf dem geschützten Relay zu betreiben. Ohne diese Einstellung platziert Opfield dort keinen Witness, und Settings → Relay zeigt „Protected relay: needs local opt-in“, selbst wenn ein Administrator Witnesses auf diesem Relay erlaubt hat. Die Einstellung hat keine Wirkung, solange der geschützte Modus ausgeschaltet ist.

  • Ein Abzeichen Protected am Relay unter Nodes, auf seiner Node-Seite und unter Settings → Relay (protected: true in GET /api/system/relay).
  • Keine Registerkarte Console oder Files auf seiner Node-Seite und keine Konsolen- oder Dateibefehle dafür in der Befehlspalette.
  • Die API, der KI-Assistent und MCP lehnen Konsolen- und Host-Dateianfragen dafür mit 409 NODE_PROTECTED ab.

Der geschützte Modus erfordert ein Relay ab 2.12. Er ändert nicht, wie das Relay Datenverkehr transportiert; siehe Relay und Relay-Pool.