Nachdem in den letzten Tagen viele Erwähnungen von Snowflake durch meine Timeline purzelten, habe ich mich endlich einmal genauer mit dem Thema befasst. Es geht darum, Menschen im Iran – und natürlich auch Russland, China usw. – einen sicheren Zugang zum Internet zu geben, der nicht überwacht, zensiert oder eingeschränkt ist. Dafür gibt es bekanntlich das Tor-Netzwerk.
Mit Snowflake erschaffen Freiwillige zusätzliche Zugangspunkte zum Tor-Netzwerk und unterminieren so die Bemühungen der Zensoren alle IPs zu sperren, die einen Zugang zu Tor bieten. Es arbeitet als Browser-Plugin und ist durch die ständig wechselnden IPs der privaten Anschlüsse nicht in den Griff zu bekommen.
Das ist schon ganz prima, aber ich hatte da noch einen Server, der nicht so recht ausgelastet ist. Auch dort könnte man Snowflake installieren, aber empfohlen wird für Server die Einrichtung einer obfs4 Bridge, das auch deutlich besser konfigurierbar ist.
Das ist mit Ubuntu trivial, die Anleitung gibt es hier. Eigentlich nur ein apt Aufruf und die Anpassung der Konfiguration /etc/tor/torrc
.
Also erst einmal
apt install tor obfs4proxy
und dann die /etc/tor/torrc
anpassen. Das sind effektiv nur sechs Zeilen.
Ich habe die knappe Beispielkonfiguration noch um zwei Dinge ergänzt.
- Normalerweise werden alle Meldungen in das syslog geschrieben. Das fand ich unübersichtlich und habe es in eine andere Logdatei umgeleitet
- Ich habe Netzwerkdurchsatz auf 500GB pro Woche beschränkt. Die Brücke ist ja nicht alleine auf der Maschine und sollte dem Rest nicht zu viele Resourcen
Zum Schluss tor starten. Ein Blick in das Log zeigt, dass der Start erfolgreich war
Oct 02 11:02:04.000 [notice] Bootstrapped 15% (handshake_done): Handshake with a relay done Oct 02 11:02:04.000 [notice] Bootstrapped 75% (enough_dirinfo): Loaded enough directory info to build circuits Oct 02 11:02:04.000 [notice] Bootstrapped 90% (ap_handshake_done): Handshake finished with a relay to build circuits Oct 02 11:02:04.000 [notice] Bootstrapped 95% (circuit_create): Establishing a Tor circuit Oct 02 11:02:07.000 [notice] Bootstrapped 100% (done): Done Oct 02 11:02:07.000 [notice] Now checking whether IPv4 ORPort XXX.XXX.XXX.XXX:YYYYY is reachable... (this may take up to 20 minutes -- look for log messages indicating success) Oct 02 11:02:07.000 [notice] Now checking whether IPv6 ORPort [XXXX:XXX:XXX:XXXX::X]:YYYYY is reachable... (this may take up to 20 minutes -- look for log messages indicating success) Oct 02 11:02:09.000 [notice] Self-testing indicates your ORPort XXX.XXX.XXX.XXX:YYYYY is reachable from the outside. Excellent. Oct 02 11:02:09.000 [notice] Self-testing indicates your ORPort [XXXX:XXX:XXX:XXXX::X]:YYYYY is reachable from the outside. Excellent. Publishing server descriptor. Oct 02 11:02:11.000 [notice] Performing bandwidth self-test...done.
Alle sechs Stunden kommt dann eine Meldung über die Nutzung des Dienstes
Oct 02 17:02:04.000 [notice] Heartbeat: Tor's uptime is 6:00 hours, with 56 circuits open. I've sent 2.21 GB and received 2.23 GB. I've received 229 connections on IPv4 and 22 on IPv6. I've made 1851 connections with IPv4 and 500 with IPv6. Oct 02 17:02:04.000 [notice] While not bootstrapping, fetched this many bytes: 13666060 (server descriptor fetch); 353 (server descriptor upload); 809017 (consensus network-status fetch); 82233 (microdescriptor fetch) Oct 02 17:02:04.000 [notice] Heartbeat: In the last 6 hours, I have seen 59 unique clients.
Die Maschine, auf der meine Tor-Bridge läuft, ist jetzt ein Eingangsknoten oder sie hilft als Zwischenstation den Traffic zu anonymisieren. Aber sie ist kein Exit-Node, also ein Knoten von dem aus der Traffic wieder ins normale Internet gelangt. Denn das wäre mir zu gefährlich: Tor wird ja auch gelegentlich für Sachen benutzt, die nichts mit politischen Freiheiten oder Angst vor Verfolgung zu tun haben. Beispielsweise Urheberrechtsverletzungen, die hierzulande gerne mit der dicken Keule verfolgt werden. Das ist dann doch eher etwas für Profis.