Einrichten eines Tor-Servers als Entry-Node in einer FreeBSD (FreeNAS) Jail

Gespeichert von Michael Kirgus am So., 02.10.2016 - 23:51

Da ich selbst das ein oder andere Mal das Tor-Netzwerk zum Surfen im Internet verwende (https://www.torproject.org/), habe ich hier eine Anleitung erstellt, wie man auf einem FreeNAS Server in einer Jail ein Tor-Server installiert und einrichtet, damit dieser als Entry-Node fungiert:

Benötigt:

Anleitung:

  1. Auf dem FreeNAS Webinterface einloggen und oben links auf Jails klicken.
  2. Zum erstellen einer neuen Jail auf Add Jail klicken.
  3. Im dem darauf folgenden Dialog der Jail einen aussagekräftigen Namen geben z.B. torproxy
  4. Eine eindeutige IP-Adresse für die Jail vergeben. Optional kann auch die MAC-Adresse festgelegt werden, um evtl. eine einfachere Fehlerdiagnose zu ermöglichen.
  5. Das Gateway eintragen (in der Regel ist das der Router im Netzwerk, der die Internetverbindung herstellt).
  6. Alle anderen Einstellungen auf der Default-Einstellung belassen und auf OK klicken.
  7. Warten, bis FreeNAS das OS-Image heruntergeladen, entpackt und installiert hat.
  8. Nun auf den neuen Eintrag der Jail in der Übersichtsliste auswählen und unten auf das Befehlszeilensymbol (auf dem Icon ist ein "C:\" zu sehen) klicken. Nun können Befehle in der Jail ausgeführt werden.
  9. Um überhaupt Tor installieren zu können, müssen die Ports in der Jail erst heruntergeladen und extrahiert werden. Dies geschieht mit der Eingabe der Befehle portsnap fetch und portsnap extract. Dieser Vorgang kann je nach Systemgeschwindigkeit und Internetverbindung mehrere Minuten in Anspruch nehmen.
  10. Nun wechseln wir in das Verzeichnis, dass die Ports für Tor enthält, laden den Tor-Quellcode herunter, kompilieren ihn und installieren Tor in der Jail mit dem Befehl cd /usr/ports/security/tor && make install clean. Dieser Vorgang kann einige Minuten dauern, da Tor nun für das System kompiliert wird. Für das Kompilieren werden allerdings noch weitere Komponenten benötigt, die automatisch mit heruntergeladen und kompiliert werden.
  11. Nun ist Tor installiert, wird allerdings nicht automatisch bei einem Systemstart gestartet und ist standardmäßig nicht als Server konfiguriert, sondern nur als Client. Als erstes stellen wir sicher, dass der Tor-Server auch bei jedem Systemstart der Jail automatisch gestartet wird. Hierzu ist es am einfachsten, wenn man das Tool WinSCP für das bearbeiten von Dateien auf dem Server verwendet. Da auf FreeNAS standardmäßig ein SSH-Server läuft können mit diesem Tool sehr einfach Änderungen an Konfigurationsdateien vorgenommen werden.
  12. Nach dem Dowload von WinSCP loggen wir uns mithilfe der IP-Adresse des Servers (nicht die IP-Adresse der Jail!), mit dem Benutzer root und dem dazugehörigen Root-Kennwort am Server an. Nun wechseln wir in WinSCP in den folgenden Pfad: /mnt/%Volume-Bezeichnung%/jails/%Name der Jail%/etc. In diesem Pfad gibt es eine Datei namens rc.conf diese Datei bearbeiten wir, indem wir auf die Datei doppelklicken.
  13. In dem Texteditor fügen wir nun die folgende Zeile am Ende in die Textdatei ein: tor_enable="YES" und speichern die Änderungen mit einem Klick auf das Speichern-Symbol links oben im Editorfenster.
  14. Nun startet Tor bei jedem Systemstart automatisch. Jetzt müssen nur noch ein paar Änderungen an der Konfigurationsdatei von Tor vorgenommen werden. Hierzu wechseln wir in das Verzeichnis /mnt/%Volume-Bezeichnung%/jails/%Name der Jail%/usr/local/etc/tor. In diesem Verzeichnis liegt nun eine Beispielkonfiguration namens torrc.sample. Diese Beispielkonfiguration duplizieren wir nun und nennen die neue Datei torrc.
  15. Die Datei öffnen wir nun im Texteditor und suchen die Zeile "RunAsDaemon" und ändern dort den Wert von 0 auf 1.
  16. Suchen die Zeile beginnend mit #ExitPolicy reject *:* und entfernen das # vor der Zeile. Dieser Eintrag bewirkt nun, dass keine Tor-Benutzer über die eigene Internetverbindung eine Verbindung zu einer Webseite unverschlüsselt herstellen können. Jeglicher Netzwerkverkehr, der aus dem Tor-Tunnel ausbrechen möchte, wird zurückgewiesen.
  17. Optional kann man das Tor-Netzwerk noch weiter unterstützen, in dem man auch die Liste der Tor-Server auf seinem Server spiegelt und anderen Servern und Client zur Verfügung stellt. Hierfür muss die Zeile beginnend mit #DirPort 9030 gesucht dort das # vor der Zeile entfernt werden.
  18. Die letzte wichtige Einstellung muss nun in der Zeile beginnend mit #RelayBandwidthRate und #RelayBandwidthBurst festgelegt werden. Diese Einstellung gibt die maximale Bandbreite an, welche für den Serverbetrieb von der Internetverbindung verwendet werden darf. Die erste Einstellung legt die dauerhafte Bandbreite fest (durchschnittlich max.), die verwendet werden kann und die zweite die maximale, wenn sehr viele Anfragen auf einmal gesendet/empfangen werden müssen. Optimal ist die doppelte Bandbreite für die maximale Bandbreite, wie durchschnittlich z.B. 200KB/400KB. Nach dem anpassen der Bandreiten müssen die beiden Zeilen noch aktiviert werden, indem bei jedem Zeilenanfang das # entfernt wird.
  19. Um unseren Server nun vom Internet erreichbar zu machen, müssen wir noch die Firewalleinstellungen im Router einstellen. Hier muss der TCP Port 9001 (Datenport für Tor) und optional der TCP Port 9030 für die Jail-IP-Adresse geöffnet werden (nicht die Server-IP!).
  20. Um nun den Server zu starten, beenden wir die Jail über das Webinterface und starten sie danach wieder. Hierzu wählen wir die Jail in der Übersichtsliste aus und klicken unten links auf den roten Punkt und bestätigen die Sicherheitsmeldung mit Ja. Nach der Aktualisierung der Übersichtsliste klicken wir nun auf den grünen Punkt unten links und bestätigen wieder die Sicherheitsmeldung, um die Jail zu starten.

Ergebnis:

Als Ergebnis erhalten wir einen Tor-Server mit dem Benutzer nun anonymisiert im Internet surfen können. Bei Problemen mit der Portfreigabe oder Fehlern in den Konfigurationsdateien kann das Logfile des Tor-Servers im Pfad /mnt/%Volume-Bezeichnung%/jails/%Name der Jail%/var/log mit dem Dateinamen tor sehr hilfreich sein. Weitere Informationen zu Tor findet man auch auf der offiziellen Seite von Tor (https://www.torproject.org/).

Weitere Links:

Neuen Kommentar hinzufügen

Sind Sie ein Mensch? Schlimm, aber leider notwendig:
Bild-CAPTCHA
Geben Sie die Zeichen ein, die im Bild gezeigt werden.