Arbeiten Sie diese Prüfungen der Reihe nach durch und halten Sie bei der ersten an, die fehlschlägt, denn jede Antwort ändert, was der nächste Schritt bedeutet. Die eigentliche Frage ist eng: Läuft einfaches HTTP in einem ZeroTier-Netz offen über das Internet? Zwischen zwei ZeroTier-Peers normalerweise nicht, da das Overlay diesen Hop verschlüsselt. Das ist aber eine Aussage über zwei Endpunkte, nicht über jedes Segment, das eine Anfrage durchläuft. Ein Router, eine Bridge oder ein Reverse-Proxy verschiebt den Endpunkt, und Klartext setzt auf dessen anderer Seite wieder ein.

Prüfung 1: Finden Sie die Adresse, die der Browser anwählt

Vergleichen Sie die URL mit dem, was die Maschine tatsächlich hat. ip -brief addr show listet das zt-Interface und die Overlay-Adresse auf, die der Netzwerkcontroller zugewiesen hat; nutzt die URL diese Adresse, geht der Socket des Browsers ins Overlay.

Löst der Name stattdessen auf eine LAN-Adresse auf, ist das Overlay womöglich gar nicht beteiligt, was die Statusanzeige des Clients auch suggerieren mag. ip route get 10.147.20.5 gibt das Interface und die Quelladresse aus, die der Kernel wählen würde, ein zt-Interface dort bedeutet also, dass das Paket ins Overlay geht, und der Name Ihrer physischen NIC bedeutet, dass es das nicht tut. Namen fügen eine weitere Ebene hinzu: Ein Datensatz, der auf eine Overlay-Adresse zeigt, verhält sich anders als einer, der auf eine LAN-Adresse zeigt, und ein Suchsuffix oder ein Eintrag in der hosts-Datei kann still entscheiden, welchen Sie bekommen.

Prüfung 2: Bestätigen Sie, dass beide Enden Peers sind, kein entschlüsselndes Relay

ZeroTier verschlüsselt zwischen Peers, und wo kein direkter Pfad existiert, werden die Pakete über einen Root weitergeleitet, der sie weiterhin verschlüsselt weitergibt. zerotier-cli peers markiert den Pfad jedes Peers als DIRECT oder RELAY mit einem Latenzwert. Ein weitergeleiteter Pfad kostet Roundtrips, nicht Vertraulichkeit.

Was die Antwort wirklich ändert, ist ein Mitglied, das kein echter Endpunkt ist. Ist die Gegenseite ein ZeroTier-Mitglied, das in ein physisches LAN routet oder brückt, endet das Overlay an diesem Mitglied, und der nächste Hop ist gewöhnliches Ethernet.

Prüfung 3: Beobachten Sie, wo die Anfrage lesbar wird

Erfassen Sie auf dem Host, von dem Sie glauben, dass er die Seite ausliefert, das Overlay-Interface während des Neuladens: sudo tcpdump -i ztxxxxxxx -A -c 5 'tcp port 80'. Eine lesbare Anfragezeile in dieser Ausgabe beweist, dass der Verkehr entschlüsselt auf diesem Host ankam, und das ist die Grenze, die Sie suchen.

Erfassen Sie dann auf dem Interface, das zum restlichen LAN zeigt. Taucht dieselbe Anfrage dort im Klartext auf, hat sie das Overlay verlassen, bevor sie die Anwendung erreichte, und jedes Gerät in diesem Segment kann sie lesen. Erscheint auf der LAN-Seite nichts und die Seite lädt trotzdem, endet die Anwendung auf dem ZeroTier-Host selbst.

Auch Loopback zu erfassen ist wichtig, wenn ein Reverse-Proxy davorsteht, denn ein Proxy, der HTTPS annimmt und HTTP weiterleitet, verschiebt die Grenze auf sein eigenes Backend.

Prüfung 4: Berücksichtigen Sie jeden Hop hinter einem Router oder einer Bridge

Ein Mitglied, das für das Routing zwischen Overlay und LAN konfiguriert ist, ist ein gewöhnliches Design und die Stelle, an der die meisten dieser Annahmen brechen. Das Overlay schützt die Strecke vom Browser zum Router und danach nichts mehr. Eine Bridge erzählt dieselbe Geschichte mit einem anderen Mechanismus: Overlay und physisches Segment werden eine Broadcast-Domäne, sodass eine Anfrage von einem gebrückten Laptop über gewöhnliches Ethernet läuft, obwohl dieser Laptop im ZeroTier-Netz sitzt.

Verfolgen Sie es, statt es anzunehmen. traceroute vom Client zur Dienstadresse plus die Routing-Tabelle auf dem Gateway-Mitglied zeigen, ob der letzte Hop zt oder eth ist.

ZeroTier bietet außerdem einen Trusted-Path-Modus, der die Transportsicherheit auf ausgewiesenen lokalen Pfaden zugunsten der Leistung aufgeben kann. Ein Netz, das ihn nutzt, erbt nicht die übliche Annahme eines verschlüsselten Pfads, lesen Sie also die Netzkonfiguration, bevor Sie eine zitieren. Die Protokolldokumentation beschreibt sowohl die Peer-Verschlüsselung als auch diese Ausnahme.

Prüfung 5: Entscheiden Sie, was die Anwendung noch tun muss

Overlay-Mitgliedschaft authentifiziert ein Gerät gegenüber einem Netz und sagt nichts darüber, ob der Dienst am anderen Ende der ist, den Sie erreichen wollten. HTTPS beantwortet eine andere Frage, indem es einen Hostnamen an einen Schlüssel bindet, die beiden Schutzmaßnahmen überschneiden sich also, ohne einander zu ersetzen. Ein autorisierter Peer kann trotzdem der falsche Dienst sein, und ein kompromittierter Endpunkt liest die Anfrage sowohl vor der Verschlüsselung als auch nach der Entschlüsselung. Keiner der Mechanismen prüft, was die Anwendung aufzeichnet.

Beenden Sie bei allem mit wiederverwendbarer Sitzung oder Passwort TLS in der Anwendung oder in einem Proxy, den Sie kontrollieren, und lassen Sie die Zertifikatsprüfung eingeschaltet. Muss ein Alt-Dienst auf einfachem HTTP bleiben, schreiben Sie den genauen Host-zu-Host-Pfad auf, den er nutzen darf, wer ihn erreichen kann und welches Segment ungeschützt bleibt; diese Notiz braucht ein künftiger Prüfer.

"Das VPN ist verbunden" ist keine Bewertung von alldem. Die ehrliche Version nennt beide Endpunkte, den Pfad dazwischen und den ersten Hop, der nicht abgedeckt ist.

Bewahren Sie die Capture-Ausgabe und die Peer-Liste neben der Dienstdokumentation auf, damit jeder, der eine Route ändert oder eine Bridge hinzufügt, sieht, welche Annahme er gerade bricht.

Ähnliche Artikel