LEAP Docs
GitHub Wechsel zwischen Dunkel/Hell/Auto Modus Wechsel zwischen Dunkel/Hell/Auto Modus Wechsel zwischen Dunkel/Hell/Auto Modus Zurück zur Startseite

Überwachung von VPN-Störungen mit OONI

Alternativer Titel: Wie wir unser Wissen darüber erweitern, was in verschiedenen Teilen der Welt funktioniert und was nicht.

In diesem Artikel geben wir dir, liebe Leser*in, lieber Leser*, einige Tipps für den Einstieg in die aufregende Welt der crowd-sourced Internet-Zensurforschung.

Warning
Die Verwendung eines VPNs oder von Software, die sich wie ein VPN verhält, kann in dem Land, in dem du dich gerade aufhältst, illegal sein. Wenn Du vermutest, dass dies der Fall ist, wäge die Risiken ab und plane wie du dein Risiko minimieren kannst, bevor du fortfährst. Die OONI-Tests, über die wir auf dieser Seite sprechen verhalten sich wie ein VPN-Tool und können im Netzwerk sogar noch auffälliger sein als ein reguläres VPN. Das könnte dazu führen, dass die Verwendung dieses Tools dich in rechtliche Schwierigkeiten bringt.
Warning
Du bist im Begriff, den Bereich der OONI-Mitwirkenden zu betreten. Bitte lies sorgfältig über die Dinge, die du wissen solltest, bevor du OONI Probe ausführst und stelle sicher, dass du die Auswirkungen verstehst.

Warum wir mehr Daten brauchen

Immer noch bei uns? Das ist gut. Man sagt, ein Meme sei aussagekräftiger als tausend Worte, also los geht’s:

Man kann nicht einfach genug OONI-Daten sammeln
Man kann nicht einfach genug OONI-Daten sammeln

Die Dinge ändern sich sehr schnell, wenn wir über die Situation sprechen, was was in einem Kontext, in dem (starke) Zensur stattfindet, gesperrt ist und was nicht. Das "gleiche" Experiment kann je nach Tageszeit, Wochentag oder Monat und dem Netzwerk, in dem du dich befindest (z. B. lassen sich in Mobilfunknetzen regelmäßig andere Filterregeln als bei Festnetzanschlüssen nachweisen), zu unterschiedlichen Ergebnissen führen. Aus diesem Grund brauchen wir so viele Daten wie möglich.

Allerdings ist es nicht verwunderlich, wenn deine Schule, Universität, lokale Bar oder dein kleines Netzwerk die Nutzung eines VPNs blockiert. Wir interessieren uns vor allem für systematische Blockierung in Kontexten, in denen Zensur oft mit staatlicher Repression verbunden ist.

In diesem Dokument geht es vor allem um zwei Dinge:

  1. Die Messung der Verfügbarkeit von Riseup-Servern.

  2. Die Messung, ob das OpenVPN-Protokoll funktioniert (der Einfachheit halber ohne Verschleierung, aber dazu später mehr).

Ein großes Lob an alle anonymen Mitwirkenden, die uns routinemäßig dabei helfen, zu überprüfen, ob unsere Infrastruktur zensiert ist. Ihr seid die Besten!

Voraussetzungen und Annahmen

  • In diesem Dokument wird davon ausgegangen, dass der*die Leser*in eine laufende Installation von Docker hat.

  • In diesem Dokument wird davon ausgegangen, dass RiseupVPN der Zielanbieter ist, den wir messen möchten. Der OONI-Test kann angepasst werden, um Endpunkte für andere VPN-Anbieter zu überwachen (bis zu einem gewissen Grad ist dies einfacher, wenn diese Anbieter auch LEAP VPN verwenden, wie CalyxVPN oder SurVPN).

Der RiseupVPN-Test und verwandte Arbeiten

In der Vergangenheit lieferte OONI Probe ein RiseupVPN-Experiment aus, das im Wesentlichen versuchte, ein paar VPN-Gateways für Riseup zu entdecken.

Dieses Experiment wurde vorübergehend deaktiviert, da es anfällig für falsche Positivmeldungen war. Wir haben daran gearbeitet es zu verbessern, und hoffentlich wird es bald wieder in den regulären Versionen der OONI Probe Apps aktiviert werden.

Gleichzeitig freuen wir uns über die aktuelle Entwicklung zum Testen des OpenVPN-Protokolls in OONI. Dies wird uns ermöglichen, einen vollständigen OpenVPN Verbindungsaufbau auf eine Art und Weise zu testen, die der Funktionsweise der "echten App" ähnlicher ist.

In naher Zukunft wird uns das auch erlauben, eine weitere sehr coole Sache zu bauen: Wir arbeiten an speziellen Builds von Bitmask, die in der Lage sind, präzise Netzwerkdiagnosen durchführen können - und sich dabei wie ein OONI Probe Client verhalten.

Die beiden PRs, die wir brauchen, sind noch in Arbeit - bis sie also in der OONI-Codebasis gelandet sind, können wir ihre Verwendung demonstrieren, indem wir ein paar Commits aus den verschiedenen Branches zusammenführen. Aber Achtung, das hier ist im Moment noch alles brüh warm. Bitte schreib uns gerne, falls etwas nicht funktioniert oder dir etwas bei diesen Tests auffällt.

Ein Wort der Warnung, oder zwei

Warning
Haben wir schon erwähnt, dass dies ein sehr guter Zeitpunkt ist, um die Dinge, die Du wissen solltest, bevor du OONI Probe ausführst zu lesen? Vorsicht ist besser als Nachsicht :wink:

Prüfung der API-Konnektivität

Ein einfacher Test, den wir durchführen können, überprüft, ob der Zugriff auf die API blockiert ist oder nicht. Für riseup wird dies black.riseup.net sein.

Wir werden uns nicht nur mit dem API-Server verbinden, sondern auch überprüfen, wie die URL über mehrere DNS-Anbieter aufgelöst wird.

Wir werden einen eigenen Build von miniooni, der Kommandozeilenversion von OONI Probe, verwenden, der einige experimentelle Patches enthält, die wir benötigen.

Bis der PR#846 gemerged wird, werden wir einen Build von Docker verwenden: miniooni-unofficial. Du kannst auch den Container selbst bauen. Es ist ein einfach ausführbarer Container und wird fast wie ein normales miniooni-Binary verwendet.

Note
Dies ist ein inoffizielles Build, um experimentelle Funktionen zu testen, bevor sie in den Upstream integriert werden.

Führe einen Web-Konnektivitätstest gegen black.riseup.net aus:

docker run ainghazal/miniooni-unofficial web_connectivity -n -i https://black.riseup.net

Zusammenfassung

  • docker run ainghazal/miniooni-unofficial - Startet den angepassten miniooni Container. Alles, was folgt, sind Argumente für miniooni.

  • web_connectivity - Ein auszuführender Test. Dieser führt DNS- und Verbindungstests durch.

  • -n - Keine Ergebnisse an den OONI Datensammler übermitteln.

  • -i <input> - Testeintrag. Bei web_connectivity ist es eine URL, um die Verbindung zu testen.

  • https://black.riseup.net - Die Adresse unseres API-Servers. Wir testen die Verbindung und protokollieren dabei eine Menge nützlicher Informationen.

So klappt’s

Hat es funktioniert? Nein? Prima. Wir haben einen Befehlszeilen-Flag weggelassen, weil wir davon ausgehen, dass Sie herausfinden, wie Sie die Einverständniserklärung akzeptieren können :grins:

Den Bericht verschicken

Wenn Du Dich wohl dabei fühlst, den Bericht mit der OONI-Gemeinschaft (und damit auch mit uns) zu teilen, führe ihn erneut aus, ohne das Flag -n.

Wenn die OONI-Infrastruktur selbst in deinem Land zensiert ist, solltest du mit dem Parameter --tunnel spielen. Du kannst --tunnel tor für normales Tor verwenden (du kannst auch ein eigenes tor Binary angeben), oder --tunnel torsf um Tor+Snowflake als Methode, das OONI-Backend zu kontaktieren, auszuwählen. Wenn das alles fehlschlägt, kannst du alternativ versuchen, deinen eigenen --proxy bereitzustellen (das erfordert, dass du eine Umgehungsmethode findest, was beispielsweise ein SOCKS-Proxy über einen SSH-Tunnel sein könnte. Sei kreativ!).

OpenVPN Protokoll-Überprüfung

Zuweilen können entweder das OpenVPN-Protokoll selbst oder einige Gateways des Anbieters zensiert sein.

Um die genaue Situation bei deinem Internetanbieter herauszufinden, können wir miniooni veranlassen, den OpenVPN-Protokoll-Handshake zu testen und auch eine Reihe von Gateways auszuprobieren, um die Verbindung zu testen.

Zusammenfassung

  • docker run ainghazal/miniooni-unofficial - Siehe vorheriger Abschnitt

  • oonirun - wir haben einen benutzerdefinierten Test auszuführen (siehe unten)

  • -n - Siehe vorigen Abschnitt

  • -i <input> - Testeingabe. Bei oonirun handelt es sich um eine URL, die eine JSON-Spezifikation für den Test enthält.

  • https://raw.githubusercontent.com/ainghazal/vpn-test-lists/main/oonirun/010-riseup-us.json - eine JSON-Datei, die eine Spezifikation für unser benutzerdefiniertes Experiment enthält.

(Optional) Ein genauerer Blick

Dort kann man sehen, dass wir einen openvpn-Test (im Moment funktioniert er nur mit dem inoffiziellen Build, nicht mit dem regulären miniooni) gegen eine Reihe von VPN-Gateways durchführen.

Wir übergeben auch Zertifikate, um uns mit RiseupVPN zu verbinden.

Note
Bitte beachte, dass du diese Zertifikate von Zeit zu Zeit aktualisieren musst, wenn du deine eigenen oonirun Deskriptoren erstellen willst.

Versenden des Berichts

Siehe vorherigen Abschnitt

Fazit

Nochmals vielen Dank, dass du dich an der Zensurüberwachung beteiligt hast. Dank deiner Hilfe kann die Community, die im Bereich der Umgehung von Internetzensur aktiv ist, herausfinden, wie man den VPN-Zugang mehr Menschen zugänglich machen kann :heart:.

Um uns Feedback zu geben, öffne bitte ein Ticket in unserem Repository, in dem wir das Thema Umgehung diskutieren.