Wir gehen davon aus, dass du den Leitfaden für Relays und technische Überlegungen bereits durchgelesen hast. Diese Unterseite richtet sich an Betreiber, die den Ausgang an ihrem Relay einschalten wollen.
Es wird empfohlen, dass du Exit-Relays auf speziell dafür vorgesehenen Servern einrichtest.
Es wird nicht empfohlen, Tor-Exit-Relays auf Servern zu installieren, die du auch für andere Dienste benötigst.
Vermische nicht deinen eigenen Verkehr mit deinem Exit-Relay-Verkehr.
Reverser DNS- und WHOIS-Eintrag
Bevor du dein Nicht-Exit-Relay in ein Exit-Relay umwandelst, stelle sicher, dass du einen Reverse-DNS-Eintrag (PTR) eingestellt hast, um deutlicher zu machen, dass es sich um ein Exit-Relay handelt. Etwas wie "tor-exit" als Name ist ein guter Anfang.
Wenn dein Anbieter es anbietet, stelle sicher, dass dein WHOIS-Eintrag klare Hinweise darauf enthält, dass es sich um ein Tor-Exit-Relay handelt.
Verwende einen Domänennamen, der dir gehört. Verwende auf keinen Fall torproject.org
als Domänennamen für dein Reverse DNS.
Exit-Hinweis HTML-Seite
Um es noch offensichtlicher zu machen, dass es sich um ein Tor-Exit-Relay handelt, solltest du eine HTML-Seite mit einem Tor-Exit-Hinweis bereitstellen.
Tor kann das für dich tun: Wenn dein DirPort auf TCP-Port 80 liegt, kannst du die DirPortFrontPage-Funktion von tor
nutzen, um eine HTML-Datei auf diesem Anschluss anzuzeigen.
Diese Datei wird jedem gezeigt, der seinen Browser auf die IP-Adresse deines Tor-Exit-Relays lenkt.
Wenn du das noch nicht eingerichtet hast, musst du die folgenden Konfigurationszeilen in dein torrc
einfügen:
DirPort 80
DirPortFrontPage /path/to/html/file
Wir bieten eine Muster-HTML-Datei für die Tor-Exit-Benachrichtigung an, aber du möchtest sie vielleicht an deine Bedürfnisse anpassen.
Wir haben auch einen großartigen Blogbeitrag mit weiteren Tipps für den Betrieb eines Exit-Relays.
Hinweis: DirPort ist seit Tor 0.4.6.5 veraltet, und Selbsttests werden nicht mehr in den Logs von tor
angezeigt.
Weitere Informationen findest du in den Release Notes und im Ticket #40282.
Exit-Richtlinie
Die Definition der Exit-Richtlinie ist einer der wichtigsten Teile einer Exit-Relay-Konfiguration.
Die Exit-Richtlinie definiert, welche Zielanschlüsse du bereit bist, weiterzuleiten.
Dies hat Auswirkungen auf die Menge der Missbrauchs-E-Mails, die du erhalten wirst (weniger Anschlüsse bedeutet weniger Missbrauchs-E-Mails, aber ein Exit-Relay, das nur wenige Anschlüsse zulässt, ist auch weniger nützlich).
Wenn du ein nützliches Exit-Relay sein willst, musst du mindestens die Zielanschlüsse 80 und 443 zulassen.
Als neues Exit-Relay - insbesondere wenn du neu bei deinem Hoster bist - ist es gut, mit einer reduzierten Exit-Richtlinie zu beginnen (um die Anzahl der Missbrauchs-E-Mails zu reduzieren) und sie weiter zu öffnen, wenn du mehr Erfahrung damit hast.
Die reduzierte Exit-Richtlinie ist auf der Wiki-Seite ReducedExitPolicy zu finden.
Um ein Exit-Relay zu werden, ändere ExitRelay von 0 auf 1 in deiner torrc
-Konfigurationsdatei und starte den Tor
-Daemon neu.
ExitRelay 1
DNS auf Exit-Relays
Im Gegensatz zu anderen Arten von Relays machen Exit-Relays auch DNS-Auflösung für Tor-Clients.
Die DNS-Auflösung auf Exit-Relays ist für Tor-Clients notwendig und sollte durch die Verwendung von Caching zuverlässig und schnell sein.
- Die DNS-Auflösung kann einen erheblichen Einfluss auf die Leistung und Zuverlässigkeit deines Exit-Relays haben.
- Verwenden Sie keinen der großen DNS-Resolver (Google, OpenDNS, Quad9, Cloudflare, 4.2.2.1-6) als Primär- oder Rückfall-DNS-Resolver, um eine Zentralisierung zu vermeiden.
- Wir empfehlen, einen lokalen Caching- und DNSSEC-validierenden Resolver ohne Verwendung von Forwarders zu betreiben (spezifische Anweisungen folgen unten, für verschiedene Betriebssysteme).
- Wenn du einen zweiten DNS-Resolver als Rückfall zu deiner
/etc/resolv.conf
-Konfiguration hinzufügen möchtest, wähle einen Resolver innerhalb deines autonomen Systems und stelle sicher, dass es nicht dein erster Eintrag in dieser Datei ist (der erste Eintrag sollte dein lokaler Resolver sein).
- Wenn ein lokaler Resolver wie unbound für dich nicht in Frage kommt, benutze einen Resolver, der von deinem Provider im gleichen autonomen System betrieben wird (um herauszufinden, ob eine IP-Adresse in der gleichen AS wie dein Relay liegt, kannst du sie mit bgp.he.net nachschlagen).
- Vermeide das Hinzufügen von mehr als zwei Resolvern zu deiner
/etc/resolv.conf
-Datei, um die Exponierung von DNS-Abfragen auf AS-Ebene zu begrenzen.
- Stellen sie sicher, dass ihr lokaler DNS-Resolver keine Quell-IP-Adresse verwendet, die auch von einem Tor-Relais oder Tor-Ausgang verwendet wird. Es ist nicht unüblich, dass IP-Adressen, die mit Tor in Verbindung gebracht werden, (temporär) geblockt werden und ein blockierter DNS-Resolver hat weitreichende Konsequenzen.
Für unbound können sie mit der
outgoing-interface
Option angeben, welche Quell-IP-Adresse verwendet werden soll, um andere DNS-Server zu kontaktieren.
- Betreiber großer Tor-Ausgänge (>=100 Mbit/s) sollten Anstrengungen unternehmen um die Rate der Zeitüberschreitungen bei Tors DNS Auflösung zu überwachen und zu optimieren.
Dies kann mit Tors Prometheus-Schnittstelle (exporter) erreicht werden (
MetricsPort
).
Die folgende Metrik kann genutzt werden, um die Rate der Zeitüberschreitungen aus der Sicht von Tor zu überwachen:
tor_relay_exit_dns_error_total{reason="timeout"} 0
Es gibt mehrere Optionen für DNS-Server-Software. Unbound ist
eine beliebte, aber zögere nicht, jede andere Software zu benutzen, mit der du dich wohlfühlst.
Achte bei der Auswahl deiner DNS-Resolver-Software darauf, dass sie DNSSEC-Validierung und QNAME-Minimierung (RFC7816) unterstützt.
Installiere die Resolver-Software über den Paketmanager deines Betriebssystems, um sicherzustellen, dass sie automatisch aktualisiert wird.
Wenn du deinen eigenen DNS-Resolver verwendest, bist du weniger anfällig für DNS-basierte Zensur, die dein vorgeschalteter Resolver auferlegen könnte.
Nachfolgend findest du Anweisungen zur Installation und Konfiguration von Unbound - einem DNSSEC-Validierungs- und Cache-Resolver - auf deinem Exit-Relay. Unbound hat viele Konfigurations- und Abstimmungsknöpfe, aber wir halten diese Anweisungen einfach und kurz; die grundlegende Einrichtung ist für die meisten Betreiber sehr gut geeignet.
Überprüfe nach dem Wechsel zu Unbound, ob es wie erwartet funktioniert, indem du einen gültigen Hostnamen auflöst. Wenn es nicht funktioniert, kannst du deine alte resolv.conf
-Datei wiederherstellen.
Debian/Ubuntu
Die folgenden drei Befehle installieren Unbound
, sichern deine DNS-Konfiguration und weisen das System an, den lokalen Resolver zu verwenden:
# apt install unbound
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
Zur Vermeidung unerwünschter Konfigurationsänderungen (z. B. durch den DHCP-Client):
# chattr +i /etc/resolv.conf
Die Debian-Konfiguration wird standardmäßig mit aktivierter QNAME-Minimierung (RFC7816) ausgeliefert, so dass du sie nicht explizit aktivieren musst.
Der Unbound-Resolver, den du gerade installiert hast, führt auch eine DNSSEC-Validierung durch.
Wenn du systemd-resolved mit seinem Stub-Listener ausführst, musst du vielleicht etwas mehr tun als nur das. Bitte schau in die resolved.conf manpage.
CentOS/RHEL
Installiere das Unbound
-Paket:
# yum install unbound
Wenn du eine neuere Version von CentOS/RHEL verwendest, benutze bitte dnf
anstelle von yum
.
In /etc/unbound/unbound.conf
ersetze die Zeile:
qname-minimisation: no
mit
qname-minimisation: yes
Aktiviere und starte Unbound
:
# systemctl enable --now unbound
Sag dem System, dass es den lokalen Resolver verwenden soll:
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
Zur Vermeidung unerwünschter Konfigurationsänderungen (z. B. durch den DHCP-Client):
# chattr +i /etc/resolv.conf
Wenn du systemd-resolved mit seinem Stub-Listener ausführst, musst du vielleicht etwas mehr tun als nur das. Bitte schau in die resolved.conf manpage.
FreeBSD
FreeBSD liefert Unbound im Basissystem aus, aber das Paket in den Ports folgt in der Regel dem Upstream genauer, so dass wir das Unbound-Paket installieren:
# pkg install unbound
Ersetze den Inhalt in /usr/local/etc/unbound/unbound.conf
mit den folgenden Zeilen:
server:
verbosity: 1
qname-minimisation: yes
Aktiviere und starte den Unbound
-Dienst:
# sysrc unbound_enable=YES
# service unbound start
Sag dem System, dass es den lokalen Resolver verwenden soll:
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
Zur Vermeidung unerwünschter Konfigurationsänderungen (z. B. durch den DHCP-Client):
# chflags schg /etc/resolv.conf