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.