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-Anschluss 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.
  • Ensure your local resolver does not use any outbound source IP address that is used by any Tor exit or non-exits, because it is not uncommon that Tor IPs are (temporarily) blocked and a blocked DNS resolver source IP address can have a broad impact. For unbound you can use the outgoing-interface option to specify the source IP addresses for contacting other DNS servers.
  • Large exit operators (>=100 Mbit/s) should make an effort to monitor and optimize Tor's DNS resolution timeout rate. This can be achieved via Tor's Prometheus exporter (MetricsPort). The following metric can be used to monitor the timeout rate as seen by Tor:
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