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. Installiere epel-release

Um das Paket tor auf CentOS/RHEL zu installieren, musst du zuerst das Repository EPEL installieren. Dafür musst du das epel-release Paket installieren:

# yum install epel-release

Neuere Versionen von CentOS/RHEL verwenden dnf anstelle von yum:

# dnf install epel-release

Wenn du eine neuere Version verwendest, die dnf benutzt, dann verwende sie bitte weiterhin für die folgenden Schritte, bei denen yum in dieser Installationsanleitung aufgerufen wird.

3. Konfiguriere das Repository des Tor Project

Die Konfiguration des Repository for CentOS/RHEL des Tor Project besteht im Wesentlichen darin, /etc/yum.repos.d/Tor.repo mit dem folgenden Inhalt einzurichten:

[tor]
name=Tor for Enterprise Linux $releasever - $basearch
baseurl=https://rpm.torproject.org/centos/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/centos/public_gpg.key
cost=100

4. Installiere Tor

Sobald du EPEL und die Tor-Repositories eingerichtet hast, kannst du das Paket installieren:

# yum install tor

Wenn du das erste Paket aus dem EPEL-Repository installierst, wirst du nach der Überprüfung des EPEL GPG-Signaturschlüssels gefragt. Bitte stelle sicher, dass der Schlüssel mit dem auf der Website des Fedora-Projekts verfügbaren Schlüssel übereinstimmt. Das wird auch passieren, wenn du das erste Mal Pakete aus dem Tor-Repository installierst. Überprüfe auch hier, dass die Schlüssel übereinstimmen.

5. Erstelle obfs4proxy und bringe es an seinen Platz.

Stark veraltete Versionen von Git können dazu führen, dass go get fehlschlägt, versuche also, auf eine neuere Git-Version zu aktualisieren, wenn du auf dieses Problem stößt.

Installiere das golang Paket und andere Abhängigkeiten:

# yum install git golang policycoreutils-python-utils

Jetzt kompiliere das Programm und schiebe es in ein angebrachtes Verzeichnis:

export GOPATH='mktemp -d'
go get gitlab.com/yawning/obfs4.git/obfs4proxy
sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/
# chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy

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

RunAsDaemon 1
BridgeRelay 1

# Ersetze "TODO1" durch einen Tor Port deiner Wahl. Dieser Port muss von außen
# erreichbar sein. Vermeide Port 9001, weil er üblicherweise mit Tor in Verbindung gebracht wird, und
# Zensoren suchen möglicherweise das Internet nach diesem Port ab.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/local/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 Anschluss 9001, weil er häufig in Verbindung gebracht wird mit
# Tor, und Zensoren suchen möglicherweise das Internet nach diesem Port ab.
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>" mit deiner E-Mail-Adresse, damit wir dich kontaktieren können, wenn
# 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.

7. Starte Tor neu

sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]

sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in TODO2]

Neuere Versionen von CentOS/RHEL, die mit systemd ausgeliefert werden:

# systemctl enable --now tor
... or restart it if it was running already, so configurations take effect
# systemctl restart tor

Solltest du eine ältere Version wie CentOS/RHEL 6 verwenden, wird es das sein:

# service tor enable
# service tor start

8. Ü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/tor/log oder /var/log/syslog):

[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.

9. 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.