VPNSmith
tunneling-obfuscationINFO

Hysteria 2: Was Masquerade und Verschleierung wirklich bewirken

Hysteria 2 stapelt drei Tarnschichten: QUIC, das HTTP/3 nachahmt, optionale Verschleierung, wenn QUIC selbst blockiert wird, und ein Masquerade, das echte HTTP-Anfragen beantwortet. Was die Dokumentation zu jeder Schicht sagt und wann sie Ihnen rät, sie wegzulassen.

Von Eric Gerard · Gründer · VPNSmith - Spezialist für selbstgehostete VPNs & DSGVO-VPS4 Min. LesezeitPhoto via Pexels

Die meisten Texte über Hysteria 2 beschreiben es als schnell. Das ist das Uninteressanteste daran. Verstehenswert ist, dass es drei getrennte Tarnungen stapelt, von denen jede ein anderes Problem löst, und dass die eigene Dokumentation Ihnen sagt, wann Sie sie ausgeschaltet lassen sollten.

Erste Schicht: aussehen wie das Web

Hysteria 2 läuft über QUIC, und standardmäßig ahmt das Hysteria-Protokoll HTTP/3 nach.

Das ist die Grundtarnung, und sie kostet nichts. Ein Netzwerk mit oberflächlicher Inspektion sieht UDP-Verkehr in der Form modernen Surfens im Web, denn genau so sieht modernes Surfen im Web zunehmend aus. Keine Konfiguration, kein Passwort, keine Leistungseinbuße.

Damit ist zugleich die Falle gestellt, der die beiden nächsten Schichten entkommen sollen.

Zweite Schicht: wenn QUIC selbst das Problem ist

Wenn Sie wie HTTP/3 aussehen, dann blockiert Sie ein Netzwerk, das HTTP/3 blockiert. Die Dokumentation ist bei diesem eng umrissenen Fall präzise: Wenn Ihr Netzwerk gezielt QUIC- oder HTTP/3-Verkehr blockiert (aber nicht UDP im Allgemeinen), lässt sich Verschleierung nutzen, um dies zu umgehen.

Zwei Implementierungen werden angeboten, Salamander und Gecko, und beide benötigen ein übereinstimmendes Passwort auf Client und Server.

Lesen Sie die Bedingung genau, denn sie enthält ein aber. Verschleierung hilft, wenn QUIC blockiert wird und UDP nicht. Verwirft das Netzwerk UDP vollständig, ändert das Verschleiern des QUIC-Handshakes nichts, und Sie brauchen einen ganz anderen Transport. Die Verschleierung zu aktivieren, weil sie sicherer klingt, ist der Weg, einen Abend lang einen Tunnel zu debuggen, der nie funktionieren konnte.

Eine schlichte beigefarbene Fassade mit einem einzigen Fenster, die Art Gebäude, die niemand ein zweites Mal ansieht.
Eine schlichte beigefarbene Fassade mit einem einzigen Fenster, die Art Gebäude, die niemand ein zweites Mal ansieht.

Dritte Schicht: einen echten Besuch überstehen

Die ersten beiden Schichten kümmern sich um Verkehr, der beobachtet wird. Masquerade kümmert sich um Verkehr, der sondiert wird.

Ist es konfiguriert, antwortet der Server auch auf HTTP-Anfragen wie ein normaler Webserver. Die Dokumentation nennt den Grund ohne Beschönigung: Ihr Server muss tatsächlich Inhalte ausliefern, damit er potenziellen Zensoren gegenüber authentisch wirkt.

Das Wort tatsächlich ist der ganze Punkt. Ein Zensor, der eine Adresse prüft, analysiert kein Paket-Timing, sondern öffnet eine Verbindung und fordert eine Seite an. Ein Server, der nichts zurückgibt, ist am denkbar einfachsten Test gescheitert, und eine Adresse, die sich weigert, sich wie eine Website zu verhalten, während sie etwas HTTP-Förmiges spricht, fällt stärker auf als eine, die nie versucht hat, sich zu verstecken.

Der Satz, der über Ihre Konfiguration entscheiden sollte

Tief in der Referenz steht die Zeile, die am meisten Zeit spart:

Wenn Zensur kein Thema ist, können Sie den Abschnitt masquerade vollständig weglassen.

Das sagt Ihnen, was Masquerade nicht ist. Es ist keine Verschlüsselung, keine Authentifizierung, keine Härtungsmaßnahme. Es ist eine Gegenmaßnahme gegen aktives Sondieren durch einen Zensor, und außerhalb dieses Bedrohungsmodells vergrößert es die Konfigurationsfläche ohne jeden Nutzen.

Dieselbe Logik zieht sich durch den gesamten Entwurf. Jede Schicht antwortet auf einen bestimmten Gegner: oberflächliche Inspektion, Protokollblockade, aktives Sondieren. Alle drei aus Reflex zu aktivieren bedeutet, Verteidigungen gegen Bedrohungen zu pflegen, denen Sie vielleicht gar nicht ausgesetzt sind, und jede unnötige Option ist eine Sache mehr, die man falsch konfigurieren kann.

Die Bandbreiteneinstellungen, da sie alle verwirren

Es sind Begrenzungen, keine Versprechen. Die Serverwerte wirken als Geschwindigkeitsbegrenzungen und begrenzen die maximale Rate, mit der der Server Daten sendet und empfängt (pro Client), und sie können weggelassen oder auf null gesetzt werden, wenn keine Begrenzung gelten soll.

Bei der Benennung stolpert man: Die Upload-Geschwindigkeit des Servers ist die Download-Geschwindigkeit des Clients und umgekehrt. Auf dem Server das festzulegen, was man für eine großzügige Download-Obergrenze hält, während man in Wirklichkeit den Upload deckelt, ist ein häufiger und vollständig selbstverschuldeter Engpass.

Hysteria ergibt nur auf einem eigenen Server Sinn, denn masquerade verlangt, dass die Maschine echte Inhalte unter deiner eigenen Domain ausliefert. Ein kleiner VPS reicht für den Verkehr, den die meisten darüber schicken.

Die ehrliche Zusammenfassung

Hysteria 2 sind drei Tarnungen in einem Trenchcoat, und das ist ein Kompliment. QUIC, das standardmäßig HTTP/3 nachahmt, Verschleierung für den engen Fall, in dem gezielt QUIC blockiert wird, UDP aber nicht, und Masquerade, damit der Server nicht nur das Beobachtetwerden, sondern auch einen Besuch übersteht.

Passen Sie die Schicht an den Gegner an, den Sie tatsächlich haben. Die Dokumentation selbst sagt Ihnen, Masquerade wegzulassen, wenn Zensur kein Thema ist, und diesen Rat wörtlich zu nehmen ergibt eine einfachere Konfiguration, die an weniger Stellen versagt.

Die Beschreibung des Transports, die Aussage, dass das Protokoll standardmäßig HTTP/3 nachahmt, die Verschleierungsbedingung dazu, dass QUIC oder HTTP/3 blockiert werden, nicht aber UDP im Allgemeinen, die Optionen Salamander und Gecko, das Verhalten von Masquerade und sein erklärter Zweck, potenziellen Zensoren gegenüber authentisch zu wirken, die Erlaubnis, Masquerade wegzulassen, wenn Zensur kein Thema ist, sowie die Bandbreitensemantik einschließlich der Umkehrung von Upload und Download stammen aus der Serverkonfigurations-Dokumentation von Hysteria 2, geprüft zum Zeitpunkt der Erstellung. Konfigurationsoptionen ändern sich zwischen Releases; prüfen Sie sie gegen die Version, die Sie einsetzen. Kommerzielle Links tragen das Attribut rel="sponsored nofollow"; es kann eine Affiliate-Provision anfallen, ohne dass Ihnen zusätzliche Kosten entstehen.

Häufig gestellte Fragen

Welchen Transport verwendet Hysteria 2?
QUIC, über HTTP/3. Die Dokumentation gibt an, dass das Hysteria-Protokoll standardmäßig HTTP/3 nachahmt, was die erste Tarnschicht darstellt: Für ein Netzwerk, das nur die Form des Protokolls betrachtet, ähnelt der Datenverkehr gewöhnlichem modernem Surfen im Web und nicht einem Tunnel.
Wozu dient die Verschleierung, und brauche ich sie?
Sie adressiert einen ganz bestimmten Fall, der in der Dokumentation klar benannt wird: Wenn Ihr Netzwerk gezielt QUIC- oder HTTP/3-Verkehr blockiert, aber nicht UDP im Allgemeinen, lässt sich Verschleierung nutzen, um dies zu umgehen. Es gibt zwei Optionen, Salamander und Gecko, und beide erfordern dasselbe Passwort auf Client und Server. Wenn QUIC an Ihrem Standort nicht blockiert wird, löst die Verschleierung ein Problem, das Sie nicht haben.
Was macht Masquerade?
Es sorgt dafür, dass der Server auf HTTP-Anfragen wie ein normaler Webserver antwortet. Der Grund wird direkt genannt: Ihr Server muss tatsächlich Inhalte ausliefern, damit er potenziellen Zensoren gegenüber authentisch wirkt. Ohne das erhält eine Sonde, die sich verbindet und eine Seite anfordert, nichts zurück, und genau das ist bereits ein Signal.
Kann ich auf Masquerade verzichten?
Ja, und die Dokumentation sagt es ausdrücklich: Wenn Zensur kein Thema ist, können Sie den masquerade-Abschnitt vollständig weglassen. Dieser eine Satz ist die nützlichste Zeile der Konfigurationsreferenz, denn er sagt Ihnen, dass die Funktion eine Gegenmaßnahme gegen Zensur ist und keine Sicherheitskontrolle.
Was steuern die Bandbreiteneinstellungen tatsächlich?
Es sind Geschwindigkeitsbegrenzungen, keine Garantien. Die Dokumentation beschreibt die serverseitigen Werte als Begrenzung der maximalen Rate, mit der der Server Daten sendet und empfängt, und zwar pro Client. Die Benennung der Richtungen bringt viele durcheinander: Die Upload-Geschwindigkeit des Servers ist die Download-Geschwindigkeit des Clients und umgekehrt. Die Werte können weggelassen oder auf null gesetzt werden, wenn keine Begrenzung gelten soll.