SXAccessSXAccessDoku
Dashboard öffnen

So funktioniert SXAccess

Ein Agent auf jeder Maschine, eine Handvoll Dienste dahinter und ein Tunnel, der über ein Relay startet und auf einen direkten Pfad wechselt, sobald einer gefunden wird.

Jede Maschine in einem SXAccess-Netzwerk führt den Agenten aus: die SXAccess-App oder den CLI-Agenten unter Linux und macOS. Der Agent verwaltet die lokale Tunnel-Schnittstelle, verwahrt den privaten Schlüssel der Maschine und ist die einzige Komponente, die jemals entschlüsselten Datenverkehr sieht. Alles andere dient dazu, dem Agenten mitzuteilen, welche anderen Geräte er erreichen darf, und ihm zu helfen, sie zu erreichen.

Die Dienste hinter dem Agenten

Zwei Adressen sind fest im Agenten hinterlegt: die des Management-Dienstes und die des Anmelde-Hosts. Alle weiteren Endpunkte teilt der Management-Dienst dem Agenten mit. Keiner dieser Dienste kann Ihren Datenverkehr lesen.

DienstAufgabeSieht Ihren Datenverkehr?
ManagementSpeichert den Netzwerkzustand, vergibt Overlay-Adressen, wertet Zugriffsregeln und Geräteanforderungen aus und schickt jedem Gerät seine Netzwerkbeschreibung. Teilt dem Agenten außerdem mit, welche Discovery-, Relay-, STUN- und TURN-Endpunkte er verwenden soll.Nein - verteilt öffentliche Schlüssel und Zugriffsregeln, niemals Nutzdaten
DiscoveryLeitet Aushandlungsnachrichten zwischen zwei Agenten weiter, während diese einen Tunnel aufbauen. Jede Nachricht ist mit dem Schlüssel des Gegenübers versiegelt.Nein - leitet Nachrichten weiter, die er nicht öffnen kann
RelayÜberträgt den Tunnelverkehr, bis ein direkter Pfad gefunden ist, und so lange, wie sich keiner finden lässt.Nein - leitet Chiffrat weiter, das es nicht öffnen kann
STUN und TURNSTUN teilt dem Agenten mit, welche öffentliche Adresse und welchen Port die Außenwelt sieht. TURN ist ein standardisiertes Relay und wird nur genutzt, wenn eines der beiden Geräte kein SXAccess-Relay hat.Nein - TURN überträgt wie das Relay nur Chiffrat
AnmeldungHier melden sich Mitglieder an - im Browser, in den Apps oder über sxaccess start. Dashboard und REST-API werden vom selben Host ausgeliefert, app.sxaccess.com.Nein - verwaltet Konten, keinen Datenverkehr

Wie sich zwei Maschinen verbinden

Ein Tunnel startet auf dem Pfad, der immer funktioniert, und wechselt auf den schnellsten, den er finden kann.

  1. Die beiden Agenten tauschen über Discovery ein Angebot und eine Antwort aus, Ende-zu-Ende versiegelt.
  2. Der Tunnel wird sofort über das Relay aufgebaut, sodass Daten fließen können, während die Agenten nach etwas Besserem suchen.
  3. Parallel dazu sammelt jeder Agent per ICE Adresskandidaten und nutzt STUN, um zu erfahren, wie ihn die Außenwelt sieht; beide Seiten prüfen die Kandidatenpaare.
  4. Antwortet ein direkter Pfad von Gerät zu Gerät, wechselt der Tunnel auf diesen Pfad, und der Datenverkehr berührt unsere Infrastruktur von da an nicht mehr. Geht dieser Pfad später verloren, fällt der Tunnel auf das Relay zurück, bis ein neuer gefunden ist.

Hinter einem strengen NAT, etwa Carrier-Grade-NAT im Mobilfunk, gibt es womöglich keinen direkten Pfad, und der Tunnel bleibt auf dem Relay. In beiden Fällen bleiben die Nutzdaten verschlüsselt, und nur die beiden Endpunkte besitzen die Schlüssel. Eine Verbindung über das Relay ist langsamer, aber nicht weniger vertraulich.

Woher die Identität kommt

Mitglieder und Gruppen werden an einer zentralen Stelle verwaltet. Ein Mitglied meldet sich mit Google, mit E-Mail-Adresse und Passwort oder, sofern die Organisation Passkeys zulässt, mit einem Passkey an. Jedes Mitglied gehört den Gruppen an, die in seinem Mitgliedseintrag festgelegt sind; Zugriffsregeln werden daher für Gruppen statt für einzelne Personen geschrieben.

Rolle und Sperrstatus eines Mitglieds liest der Management-Dienst bei jeder Anfrage neu; eine Rollenänderung oder Sperre wirkt also sofort. Ist die Gruppenweitergabe eingeschaltet, wie es standardmäßig der Fall ist, verschiebt eine Änderung der Gruppen eines Mitglieds auch dessen bestehende Geräte. Wie sich Mitglieder anmelden, beschreibt die Seite Anmeldung.

Die Netzwerkbeschreibung

Der Management-Dienst hält zu jedem verbundenen Agenten einen dauerhaften Datenstrom offen und schickt jedem Gerät darüber seine Netzwerkbeschreibung (network map). Sobald sich etwas ändert, etwa durch ein neues Gerät, eine bearbeitete Zugriffsregel, einen widerrufenen Schlüssel oder eine neue Route, berechnet er die Netzwerkbeschreibung für jedes betroffene Gerät neu und überträgt sie.

Eine Netzwerkbeschreibung ist bewusst knapp gehalten. Ein Agent erfährt nur von den Geräten, mit denen eine Zugriffsregel sein Gerät verbindet, gleich in welcher Richtung, samt deren öffentlichen Schlüsseln, Overlay-Adressen, Routen und DNS-Konfiguration. Der Agent auf einem Routing-Gerät eines Netzwerks erfährt außerdem von allen Geräten, die eine Zugriffsregel eine seiner Ressourcen erreichen lässt. Andere Geräte tauchen in der Netzwerkbeschreibung gar nicht erst auf. Von einer Maschine, die sie nicht erreichen soll, lassen sie sich daher weder sondieren noch scannen oder entdecken. Solange keine Zugriffsregel es erlaubt, erreicht kein Gerät ein anderes.

Weiterlesen