1. Aktiviere automatische Software Updates

Eines der wichtigsten Dinge, um dein Relay sicher zu halten, ist die rechtzeitige und idealerweise automatische Installation von Sicherheitsupdates, damit du es nicht vergessen kannst. Folge den Anweisungen, um automatische Software-Updates für dein Betriebssystem zu aktivieren.

2. Tor Project's Repository konfigurieren

Es wird empfohlen, die Paketquellen des Tor Projekts zu verwenden. Die Dokumentation dazu findest du hier. Bitte folge den Anweisungen, bevor du hier weitermachst.

Beachte: Ubuntu Nutzer müssen das TorProject Repository benutzen.

3. Installiere Tor

Aktualisiere die Paketdatenbank, bevor du das Paket installierst. Dann rufe apt auf, um es zu installieren:

# apt update
# apt install tor

4. Installiere obfs4proxy

Unter Debian ist die neueste Version des Pakets obfs4proxy in stable-backports verfügbar. Standardmäßig werden Backports-Pakete nicht installiert. Um die neueste Version von obfs4proxy zu installieren, musst du den folgenden Befehl verwenden: sudo apt install -t bullseye-backports obfs4proxy oder das Paket mit einer Konfiguration ähnlich dieser, die du in /etc/apt/preferences.d/obfs4proxy.pref einfügst.

Erläuterung: tor meta, immer die neueste Version von obfs4proxy ausführen
Package: obfs4proxy
Pin: release a=bullseye-backports
Pin-Priority: 500

Unter Ubuntu haben bionic, cosmic, disco, eoan und focal das Paket. Wenn du eines von ihnen benutzt, sollte sudo apt-get install obfs4proxy funktionieren.

Falls nicht, kannst du es aus dem Quelltext bauen.

5. Bearbeite deine Tor-Konfigurations-Datei, die sich normalerweise unter /etc/tor/torrc befindet, und ersetze ihren Inhalt durch:

BridgeRelay 1

# Ersetze "TODO1" mit dem Tor-Port deiner Wahl.
# Der Port muss von außen erreichbar sein.
# Vermeide Port 9001, da er üblicherweise mit Tor in Verbindung gebracht wird und Zensoren das Internet nach diesem Port durchsuchen könnten.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

# Ersetze "TODO2" durch einen obfs4-Port deiner Wahl.
# Dieser Port muss von außen erreichbar sein und muss sich von dem für ORPort angegebenen unterscheiden.
# Vermeide Port 9001, da er üblicherweise mit Tor in Verbindung gebracht wird und Zensoren das Internet nach diesem Port durchsuchen könnten.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Lokaler Kommunikations-Port zwischen Tor und obfs4. Stelle dies immer auf "auto" ein.
# "Ext" bedeutet "erweitert", nicht "extern". Versuche weder, eine bestimmte Port-Nummer einzustellen, noch auf 0.0.0.0 zu hören.
ExtORPort auto

# Ersetze "<address@email.com>" durch deine E-Mail-Adresse, damit wir dich kontaktieren können, falls es Probleme mit deiner Brücke gibt.
# Dies ist freiwillig, wird aber empfohlen.
ContactInfo <address@email.com>

# Wähle einen Spitznamen für deine Brücke. Dies ist optional.
Nickname PickANickname

Vergiß nicht, die Optionen ORPort, ServerTransportListenAddr, ContactInfo und Spitzname zu ändern.

Beachte, dass sowohl der OR-Anschluss von Tor als auch der obfs4-Anschluss erreichbar sein müssen. Wenn sich deine Brücke hinter einer Firewall oder NAT befindet, stelle sicher, dass beide Ports geöffnet sind. Du kannst unseren Erreichbarkeitstest benutzen, um zu sehen, ob dein obfs4-Port aus dem Internet erreichbar ist.

(Optional) Konfiguriere systemd so, dass obfs4-Bindungen an privilegierten Ports erlaubt sind

Wenn du dich entscheidest, einen festen obfs4-Port zu verwenden, der kleiner als 1024 ist (zum Beispiel 80 oder 443), musst du systemd konfigurieren und obfs4 CAP_NET_BIND_SERVICE-Fähigkeiten geben, um den Port mit einem Nicht-Root-Benutzer zu verbinden:

sudo setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy

Um die systemd-Härtung zu umgehen, musst du auch die Konfiguration bearbeiten und ändern.

Führe den Befehl aus:

sudo systemctl edit tor@.service tor@default.service

Gib im Editor den folgenden Text ein, speichere und beende ihn.

[Service]
NoNewPrivileges=no

Gib in den zweiten Editor, der erscheint, denselben Text ein, speichere und beende ihn.

[Service]
NoNewPrivileges=no

Wenn alles richtig funktioniert hat, hast du jetzt zwei Dateien /etc/systemd/system/tor@.service.d/override.conf und /etc/systemd/system/tor@default.service.d/override.conf, die den von dir eingegebenen Text enthalten.

Starte nun den Tor-Dienst neu:

sudo service tor restart

Es besteht keine Notwendigkeit, systemctl daemon-reload auszuführen, da systemctl edit dies automatisch tut. Für weitere Einzelheiten siehe Ticket 18356.

6. Starte Tor neu

Aktiviere und starte tor:

# systemctl enable --now tor.service

Oder starte Tor neu, wenn es schon lief, so dass die Änderungen angewandt werden:

# systemctl restart tor.service

7. Überwache deine Logs

Um zu bestätigen, dass deine Brücke ohne Probleme läuft, solltest du so etwas wie das hier sehen (normalerweise in /var/log/syslog oder führe # journalctl -e -u tor@default aus):

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

8. Schlussbemerkungen

Wenn du Probleme beim Einrichten deiner Brücke hast, schau dir unsere Hilfe-Sektion an. Wenn deine Brücke jetzt läuft, sieh dir die Nachinstallations-Hinweise an.