Einrichten eines transparenten Netzwerk-Proxys zur Verwendung von Tor unter FreeBSD (FreeNAS)

17.09.2017
Dieser Inhalt ist bereits etwas älter.
This content is already a bit old.
Bild

Um Tor einfach nutzen zu können, möchte ich hier zeigen, wie man Tor in Verbindung mit Privoxy als transparenten Tor-Proxy einrichtet. In diesem Beispiel wird die Einrichtung in einer FreeNAS Jail vorgenommen, die Einrichtung sollte allerdings auch auf jedem anderen FreeBSD System funktionieren.

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 und Privoxy 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. Als erstes wird nun Tor heruntergeladen, kompiliert und installiert. Das geschieht mit Eingabe des Befehls 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. Wenn Tor nun installiert ist, wird mit der Installation von Privoxy fortgefahren, indem nun der Befehl cd /usr/ports/www/privoxy && make install clean ausgeführt wird.
  12. Nach der Installation von Privoxy und Tor muss noch dafür gesorgt werden, dass auch beide bei jedem Systemstart automatisch gestartet werden. Bei Tor ist keine weitere Konfiguration notwendig, da Tor standardmäßig im Client-Modus läuft. 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.
  13. 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.
  14. In dem Texteditor fügen wir nun die folgenden 2 Zeilen Zeile am Ende in die Textdatei ein (jede in eine neue Zeile): tor_enable="YES" und privoxy_enable="YES" und speichern die Änderungen mit einem Klick auf das Speichern-Symbol links oben im Editorfenster.
  15. Nun startet Tor und Privoxy bei jedem Systemstart automatisch. Jetzt müssen nur noch ein paar Änderungen an der Konfigurationsdatei von Privoxy vorgenommen werden. Hierzu wechseln wir in das Verzeichnis /mnt/%Volume-Bezeichnung%/jails/%Name der Jail%/usr/local/etc/privoxy. Dort gibt es eine Datei namens config diese wir nun mit dem Editor bearbeiten.
  16. Wir suchen nun die Zeile beginnend mit #listen-address und ersetzen Sie mit der Zeile mit listen-address 192.168.178.5:8080.
  17. Des weiteren suchen wir die Zeile beginnend mit # forward-socks5 und ersetzen die Zeile mit forward-socks5 / 127.0.0.1:9050 .. Wichtig hierbei ist, das die IP 127.0.0.1 den localhost darstellt und somit auf die lokale Tor-Installation verweist. Alle TCP-Anfragen, die über Privoxy über den Port 8080 empfangen werden, werden über die lokale Tor-Installation umgeleitet und somit ins Tor-Netzwerk übertragen. Tor erkennt automatisch anhand der Konfiguration der Jail das Standardgateway und sendet/empfängt die Daten verschlüsselt über das Tornetzwerk.
  18. Nun speichern wir die Änderungen mit einem Klick auf das Speichern-Symbol links oben im Editorfenster.
  19. Tor und Privoxy sind nun fertig eingerichtet nur noch nicht gestartet. Am einfachsten ist es hierbei bei einer Jail, diese einfach zu beenden und neu zu starten: Hierzu wählen wir die Jail in der Übersichtsliste von FreeNAS 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:

Nun haben wir einen transparenten Tor-Proxy für das lokalen Netzwerk aufgebaut. Um diesen nun nutzen zu können, ist es am einfachsten, z.B. Firefox als Portable App (http://portableapps.com/de/apps/internet/firefox_portable) herunterzuladen und auf einem Netzwerkspeicherort zu installieren. Nach der Installation die Proxyeinstellungen im Firefox analog dem Proxyserver %Jail-IP%:8080 mit SOCKS v5 den Server für die Kommunikation über Port 80 und 443 einrichten und die Einstellungen speichern. Wenn man nun auf jedem Client im Netzwerk eine Verknüpfung zu Firefox auf dem Netzwerkspeicherort legt, kann man mit nur einem Klick anonym im Internet surfen, ohne Software auf dem Client installieren zu müssen. Ein weiterer Vorteil besteht darin, das nun auch Geräte ohne hauseigene Tor-Unterstützung (z.B. Android-Geräte ohne Root) mit den richtigen Proxyeinstellungen als Tor-Clients verwendet werden können.

Weitere Links:


 

Feedback, Verbesserungsvorschläge, weitere Ideen?

Einfach das Kontaktformular verwenden oder direkt eine E-Mail an info@kirgus.net.