Anonym im Internet - Seite 4

Tor installieren und starten

Man kann Tor auf drei Wegen installieren:

  • manuelle Installation des Tor Browser Komplettpakets
  • Installation des Tor-Pakets und weiterer Pakete für Tor-relevante Anwendungen über das Repository des Tor Projekts und der Linux Distribution
  • manuelle Kompilierung des Tor Quellcodes und Installation

Daneben muss man sich entscheiden, ob man Pakte mit der „instabilen“ bzw. „experimentellen“ Entwicklerversion von Tor oder mit der „stabilen“ Version von Tor installiert. Wählt man die Entwicklerversion, kommt man in den Genuß zusätzlicher Funktionen und neuer Optionen, aber ggf. auch von Bugs und noch nicht aufgedeckter Sicherheitsmängel.

Ich würde empfehlen, es zuerst mit der Entwicklerversion zu probieren. Sollte die Entwicklerversion nicht zufriedenstellend laufen, kann immer noch zur stabilen Version gewechselt werden. Da Funktionen und Optionen der experimentellen Version später in die stabile Version übernommen werden, wird für die Anleitung die experimentelle Entwicklerversion verwendet. Wer die stabile Version verwendet, kann ggf. einzelne Funktionen/Optionen nicht nutzen und sollte die Logausgaben verfolgen.

Aktuelle Informationen

Um den Entwicklungsprozess und aktuelle Ereignisse rund um Tor zu verfolgen oder Erfahrungen zum Tor-Einsatz auszutauschen, bieten sich neben dem Tor Blog folgende Mailinglisten an:

  • tor-announce, auf der neue Veröffentlichungen bekanntgegeben werden
  • tor-dev, auf der über die Weiterentwicklung von Tor diskutiert wird
  • tor-onions, auf der sich die Betreiber von Onion Diensten ausatuschen
  • tor-relays, auf der sich die Betreiber von Onion Routern austauschen
  • tor-talk, auf der sich Anwender austauschen

Torprojekt Mirrors

Auf folgenden Mirrors werden die Torprojekt Website und die Tor / Tor Browser Donwloads gespiegelt:

Projekte rund um Tor

Neben Tor und dem Tor Browser vom Tor Projekt gibt es weitere Lösungen und Projekte, die Tor integrieren:

  • OnionShare
    „OnionShare is an open source tool that lets you securely and anonymously share a file of any size.“
  • Ricochet
    „Ricochet is a different approach to instant messaging that doesn’t trust anyone in protecting your privacy: Eliminate metadata - Nobody knows who you are, who you talk to, or what you say. Stay anonymous - Share what you want, without sharing your identity and location. Nobody in the middle - There are no servers to monitor, censor, or hack. Ricochet uses the Tor network to reach your contacts without relying on messaging servers. It creates a hidden service, which is used to rendezvous with your contacts without revealing your location or IP address.“
  • Tails
    „Tails ist ein Live-Betriebssystem, das darauf ausgerichtet ist, Ihre Privatsphäre und Anonymität zu bewahren. Es hilft Ihnen dabei das Internet so gut wie überall und an jedem Computer anonym zu nutzen ohne Spuren zu hinterlassen, sofern Sie dies nicht ausdrücklich wünschen. Es ist ein vollständiges Betriebssystem, das entwickelt wurde, um von CD oder USB-Stick, unabhängig vom eigentlichen Betriebssystem des Computers gestartet zu werden.“
  • Torservers.net
    „We are working together with selected high speed hosting partners who understand that we are running Tor exit nodes. Our goal is to run exit nodes with a generous policy to help the Tor network to cope with the growing interest - and growing traffic demands. We run managed and unmanaged nodes in all shapes and sizes. If you are technically skilled, you can configure and run your own node. If you are not, you can still help the network and we will manage everything for you.“
  • Whonix
    „Whonix (called TorBOX or aos in past) is an anonymous general purpose operating system based on Virtual Box, Debian GNU/Linux and Tor. By Whonix design, IP and DNS leaks are impossible. Not even malware with root rights can find out the user's real IP/location. This is because Whonix consists of two virtual machines. One machine solely runs Tor and acts as a gateway, which we call Whonix-Gateway. The other machine, which we call Whonix-Workstation, is on a completely isolated network. Only connections through Tor are possible.“
  • Whonix: Comparison with Others
    „This page contains the comparisons of Whonix, Tails, Tor Browser, Qubes OS TorVM and corridor.“
  • onion.debian.org (TOS)
    „This is a list of onion services run by the Debian project.“ Siehe auch Debian and Tor Services available as Onion Services.

Tor Browser

Der Tor Browser enthält ab Version 3.6 die Tor Anwendung, Pluggable Transport Plugins – falls man die Verbindung zum Tor Netwerk über Bridge-Netzwerkknoten leiten will oder muss – und den Mozilla Firefox Browser in der ESR Variante.

Das Einstellen und Starten von Tor und Firefox übernimmt die Tor Launcher Firefox Erweiterung als Ersatz der grafischen Kontrollanwendung Vidalia, die vorher die Funktionen übernahm. Die tor-resolve Anwendung zur anonymisierten Namensauflösung und das torify Skript zur Socksifizierung von Anwendungen sind nicht im Tor Browser enthalten.

Der Tor Browser wird regelmäßig aktualisiert, wenn es neue Versionen der enthaltenen Anwendungen gibt. Das heißt auch, dass man die Ankündigungen auf der tor-announce Mailingliste verfolgen sollte und den Tor Browser bei einer neuen Version manuell ersetzt. Will man Tor (trans)portabel über einen USB-Stick nutzen, ist dafür der Tor Browser oder Tails empfehlenswert.

Da je nach vorherrschender Meinung in der Tor Browser Entwicklergemeinde Anonymisierungseffekte, Benutzerfreundlichkeit und Sicherheit unterschiedlich gewichtet werden, sollte man die Einstellungen nach der Installation überprüfen und ggf. Einstellungen ändern, die zum eigenen Schwerpunkt passen. Das betrifft neben den Einstellungen des Firefox Webbrowsers und der enthaltenen Erweiterungen über grafische Dialogfenster auch zusätzliche Einstellungen, die man z. B. über die erweiterte Konfiguration des Firefox Webbrowsers vornehmen kann.

So kann z. B. standardmäßig Javaskript aktiviert sein, weil das (angeblich) zu mehr Benutzerfreundlichkeit beiträgt und Anonymisierungseffekte erhöht, weil viele Internetnutzer permanent Javaskript aktiv nutzen, aber andererseits die Browser- und Betriebssystemsicherheit beeinträchtigen und die Anonymisierungseffekte wieder beschränken. Oder zu verwendenen Verschlüsselungsprotokolle und -algorithmen können eher lax eingestellt, um den Benutzern weitestgehend verschlüsselte Verbindung (wie auch immer) zu garantieren.

Installation und Start

Die Installation des Tor Browser führt ein Benutzer durch das Entpacken des Tor Browser Archivs in das /pfad/tor-browser_de/ Verzeichnis durch – meistens in seinem Heimatverzeichnis. D. h. auch, dass alle Komponenten im Tor Browser mit dem Konto und den Rechten des Benutzers laufen. Wer das nicht will, muss sich Gedanken zur Rechtevergabe und den Startprozessen machen.

Für die Installation eines deutschsprachigen Tor Browsers geht man so vor:

  • Download der tor-browser-linux32|64-version_de.tar.xz Archivdatei und der tor-browser-linux32|64-version_de.tar.xz.asc OpenPGP Signaturdatei
  • Import aller Signaturschlüssel mit GnuPG, die auf der Which PGP keys sign which packages Seite angegeben sind und Überprüfen der Signatur:
    gpg --recv-keys Schlüssel-ID [Schlüssel-IDn]
    gpg [/pfad/]tor-browser-linux32|64-version_de.tar.xz.asc
    gpg [/pfad/]tor-browser-linux32|64-version_en-US.tar.xz.asc
  • Entpacken des Tor Browser:
    tar [-C /home/benutzer] -xvJf /pfad/tor-browser-linux32|64-version_de.tar.gz
  • Starten des Tor Browser:
    cd [/pfad/]tor-browser_de
    ./start-tor-browser

Zukünftig kann man natürlich für den jeweiligen Desktop eine Start-Verknüpfung zum start-tor-browser Skript anlegen. Über das Skript wird zuerst der Tor Launcher gestartet:

Wer Internetdienste oder Internetverbindungen generell ohne Beschränkungen nutzen und aufbauen kann, klickt sofort den Verbinden Button an.

Der Konfigurieren Button wird angeklickt, wenn man z. B. in repressiven Regimen, Internet-Cafes, Bildungseinrichtungen, Bibliotheken, Unternehmen:

  • Internetdienste nur über HTTP- oder SOCKS-Proxys („Vermittlungsserver“) nutzen kann, deren Verwendung erzwungen wird.
  • wegen einer Firewall (auch die eigene im Router oder Betriebssystem) nur bestimmte Dienste-Ports für ausgehende Verbindungen ins Internet nutzen kann.
  • eine Verbindung zum Tor Netzwerk über einen Tor Bridge-Netzwerkknoten („Brückenrelais“) benötigt, weil man bemerkt, dass eine Verbindung zum Tor Netzwerk trotz Einstellung auf die beiden erstgenannten Beschränkungen oder überhaupt nicht möglich ist, da ein Filter- bzw. Zensur-System aktiv ist, das den Tor Datenverkehr erkennt und blockiert.

Die Konfiguration der Verbindungsoptionen kann zu einem späteren Zeitpunkt wiederholt und im gestarteten Tor Browser über den Öffne Netzwerkeinstellungen Menüeintrag des Torbutton Icons geändert werden:

Nach Anklicken des Verbinden Buttons folgt eine Statusmeldung, die verschwindet, wenn sich der Tor Onion Proxy im Hintergrund erfolgreich mit dem Tor Netzwerk verbunden hat und danach der Firefox Webbrowser gestartet wird:

Auf der Startseite kann man zusätzlich über den Tor-Netzwerkeinstellungen testen Link überprüfen, ob die Verbindung per Tor anonymisiert zustande gekommen ist:

Verbinden über Zwangs-Proxy

Nach Anklicken des Konfigurieren Buttons, wird die Frage zur Nutzung eines Vermittlungsservers mit Ja bestätigt:

Im folgenden Fenster wird zunächst der Typ des Zwangs-Proxy aus der Liste bestimmt – zur Auswahl steht ein SOCKS 4, SOCKS 5 oder HTTP/HTTPS Proxy – und danach Adresse und die Portnummer eingetragen, auf denen der Zwangs-Proxy Verbindungsanfragen entgegennimmt. Falls nötig, kann auch der Benutzernamen und das Passwort hinterlegt werden, mit dem man sich ggf. beim Proxy authentifizieren muss:

Verbinden durch Firewall

Nach Anklicken des Konfigurieren Buttons, wird die Frage zur Nutzung eines Vermittlungsservers verneint. Danach wird im folgenden Fenster die Frage zur Existenz einer Firewall mit Ja bestätigt:

Im folgenden Fenster werden die Portnummern der Dienste im Erlaubte Anschlüsse Feld eingetragen, zu denen die Firewall ausgehende Verbindungen ins Internet zulässt:

Verbinden über Bridge-Netzwerkknoten

Nach Anklicken des Konfigurieren Buttons, wird die Frage zur Nutzung eines Vermittlungsservers ebenso verneint, wie die Frage zur Existenz einer Firewall.

Im folgenden Fenster wird die Frage zu Zensur- oder Blockiermaßnahmen durch den Internetdienstanbieter mit Ja bestätigt:

Wenn man die Frage verneinen würde, kann man nur den Verbinden Button anklicken (was dem Ausgangspunkt im Startbildschirm des Tor Launchers entspricht s. o.):

Im folgenden Fenster kann aus einer Liste der Transporttyp ausgewählt werden. Im Beispiel ist das obfsproxy in der 3er Version. Danach lädt der Tor Onion Proxy Kontakt- bzw. Adressdaten von Bridge-Netzwerkknoten aus der Bridge-Datenbank, die das zum Transporttyp passende Transport Plugin installiert haben:

Alternativ können benutzerdefinierte Kontakt- bzw. Adressdaten eines oder mehrerer Bridge-Netzwerkknoten („Brückenrelais“) untereinander eingetragen:

Über den Hilfe Button, der auch im Torbutton Fenster zu den Netzwerkeinstellungen vorhanden ist, wird eine kurze Erläuterung zur Nutzung von Tor Bridge-Netzwerkknoten angezeigt:

Sonstiges

Torbutton und Sprachen

Vor dem erstmaligen Aufruf der Addons-Manager Seite fragt der Tor Browser, ob Webseiten in englischsprachiger Version angefordert werden sollen. Damit ist gemeint, dass in den Firefox Sprachen-Einstellungen die Werte für Deutsch entfernt werden bzw. der Firefox Webbrowser in der HTTP_ACCEPT_LANGUAGE Kopfzeile nur Werte für US-Englisch zum Webserver übertragt, was die Tarnung als US-amerikanischer Browsernutzer erhöht. Wer zu einem späteren Zeitpunkt auf Deutsch zurückstellen will, fügt in den Firefox Sprachen-Einstellungen die Werte für Deutsch (de-de, de) an die ersten Positionen hinzu.

Tor Konfiguration

Nach dem erstmaligen Start und ggf. Konfiguration der Verbindungsmethoden wird die originale und leere torrc Konfigurationsdatei im Data/Tor/ Verzeichnis als torrc.orig.1 Backup-Datei abgelegt und eine neue torrc Datei mit aktuellen Einstellungen angelegt. Standard-Einstellungen sind in der torrc-defaults Datei gespeichert. Die Standard-Einstellungen sind so ausgelegt, dass mit dem Tor Browser ein zweiter Tor Prozess parallel zu einem u. U. bereits laufenden Tor Prozess gestartet wird. Weitere Einstellungen zur Konfiguration von Tor sollte man in der torrc-defaults Datei vornehmen, da die torrc Datei z. B. bei Änderung der Verbindungsmethoden überschrieben wird. Man muss aber darauf achten, die torrc-defaults Datei vor einer Aktualisierung des Tor Browser zu sichern, weil sie sonst wieder mit der Datei der neuen Tor Browser Version überschrieben wird.

Privoxy Nutzung

Wer mit dem Tor Browser den Privoxy Proxy einbinden will, ändert die Torbutton Einstellungen, wo man die Adresse und die Portnummer einträgt, auf denen Privoxy lauscht:

Zusätzlich wird in die Privoxy config Konfigurationsdatei die folgende Zeile eingetragen:

forward-socks5 / :9150 .

Tor

Installation

Über die Debian Repository Seite erhält man Informationen, wie man Tor als Einzelanwendung unter Debian und Ubuntu installiert. Informationen für RPM-basierte Distributionen finden sich auf der Tor rpm packages Seite.

  • Hinzufügen des Torproject Repository:
    sudo vi /etc/apt/sources.list.d/tor.list

    In die tor.list Datei setzt man folgenden Block und aktiviert entweder Stable oder Experimentell, wobei für realeasename der Codename des aktuell genutzten Linux-Release eingesetzt wird:

    ## Tor Stable
    # deb http://deb.torproject.org/torproject.org releasename main
    # per Tor Onion Service nach Installation von Tor:
    # deb tor+http://sdscoq7snqtznauu.onion/torproject.org releasename main
    
    ## Tor Experimentell
    # deb http://deb.torproject.org/torproject.org tor-experimental-version-releasename main
    # per Tor Onion Service nach Installation von Tor:
    # deb http://sdscoq7snqtznauu.onion/torproject.org tor-experimental-version-releasename main
  • Paket-Pinning für Tor:
    Um niemals Tor-relevante Pakete aus dem Repository der Linux Distribution, sondern immer aus dem Tor Repository zu beziehen:
    sudo vi /etc/apt/preferences

    In die preferences Datei setzt man folgenden Block:

    Package: tor
    Pin: origin deb.torproject.org
    Pin: origin sdscoq7snqtznauu.onion # nach der Tor Installation
    Pin-Priority: 1000
    
    Package: tor-geoipdb
    Pin: origin deb.torproject.org
    Pin: origin sdscoq7snqtznauu.onion # nach der Tor Installation
    Pin-Priority: 1000
    
    Package: tor
    Pin: release o=Ubuntu
    Pin-Priority: -10
    
    Package: tor-geoipdb
    Pin: release o=Ubuntu
    Pin-Priority: -10
  • Speicherung des Tor Project Archive GnuPG Signaturschlüssels für die Repository-Pakete, dessen Schlüssel-ID auf der Debian Repository Seite angegeben wird:
    gpg --recv-keys schlüssel-id
    gpg --output tor_archive_signing.gpg --no-armor --export schlüssel-id
    sudo mv /pfad/tor_archive_signing.gpg /etc/apt/trusted.gpg.d/
    sudo chown root:root /etc/apt/trusted.gpg.d/tor_archive_signing.gpg
  • Aktualisierung des Index der verfügbaren Pakete:
    sudo aptitude update
  • Installation und Start:
    sudo aptitude install tor-geoipdb

    Mit Tor wird die tor-resolve Anwendung zur anonymisierten Namensauflösung und das torify Skript zur Socksifizierung von Anwendungen mitinstalliert. Für Tor wird während der Installation der debian-tor Systembenutzer und die debian-tor Systemgruppe angelegt, mit denen Tor als Daemon automatisch über das tor Init-Skript bzw. die tor systemd Service-Units gestartet wird.

Verzeichnisse und Dateien

Vom Tor Daemon werden folgende Verzeichnisse und Dateien genutzt:

/etc/init.d/tor das Tor Init-Skript
/etc/tor/ das Konfigurationsverzeichnis des Tor Daemon, in dem die torrc Tor Konfigurationsdatei und die tor-tsocks.conf Konfigurationsdatei für torify gespeichert werden
/etc/default/tor enthält Standard Optionen und Argumente für den Tor Daemon
/etc/torsocks.conf Konfigurationsdatei der torsocks und usewithtor Skripte, wenn die Skripte direkt und nicht per torify angewendet werden
/lib/systemd/system/tor@default.service
/lib/systemd/system/tor@.service
/lib/systemd/system/tor.service
systemd Tor Service-Units
/usr/bin/torify
/usr/bin/torsocks
/usr/bin/usewithtor
SOCKS-Wrapper Skripte zur Torifizierung/Socksifizierung von Anwendungen
/usr/bin/tor-resolve Tor Anwendung zur anonymisierten Namensauflösung
/usr/share/tor/tor-service-defaults-torrc enthält Standard Optionen, die neben der torrc und /etc/default/tor Datei vom Init-Skript ausgelesen werden
/usr/sbin/tor Tor Binärdatei
/var/lib/tor/ das Heimat- und Datenverzeichnis des Tor Daemon, in dem u. a. die Onion Schlüssel und Verzeichnislisten gespeichert werden
/var/run/tor/ Verzeichnis, in dem die PID-Datei, Socket-Datei und Cookie-Datei gespeichert werden
/var/log/tor/ Verzeichnis, in dem die Logdateien gespeichert werden

Zusätzliche Anwendungen

Torcheck Cron-Skript

Um zu überprüfen, ob der Tor Daemon läuft und ihn nach einer unvorhergesehenen Beendigung automatisch wieder zu starten, kann man die folgende Kombination aus Cron-Job und Skript verwenden:

/etc/cron.d/torcheck
MAILTO=""
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
*/5 * * * * root    /pfad/skriptname
 
# EOF
#!/bin/sh
 
tor_daemon=/usr/sbin/tor
 
test_tor=$(ps ax | grep "/usr/sbin/tor" | grep -v grep | gawk -F' ' '{ print $5 }')
 
if [ "$tor_daemon" = "$test_tor" ]
then
    echo "Tor läuft, nichts zu tun."
else
    find /var/lib/tor/ -mindepth 1 -maxdepth 1 -type f -exec rm '{}' + ; \
    rm /var/lib/tor/lock ; rm /var/run/tor/tor.pid ; \
    service tor start >/dev/null 2>&1 ; mail -s "Tor lief nicht - neu gestartet" root < /dev/null
fi
 
exit 0

Tor Country Codes

Falls man mit den ExcludeExitNodes, EntryNodes, ExitNodes, ExludeNodes, StrictNodes Optionen in der torrc Tor Onion Router aus bestimmten Ländern ausschließen möchte, benötigt man die TLD-Namen der Länder, die in der Tor GeoIP-Datenbank enthalten sind. Mit dem Skript erhält man die Liste im torrc konformen Format ({tld1},{tldN},…).

#!/bin/sh
 
geoipdb="/pfad/geoip"
 
ccode=`grep -e [A-Z][A-Z]$ $geoipdb | awk -F, '{ print $3 }' | sort | uniq`
    for i in $ccode; do
      printf "{$i},"
    done
echo ""
 
exit 0

torsocks

torsocks beinhaltet die torsocks Bibliothek und die beiden Shell-Skripte torsocks und usewithtor, mit denen Anwendungen aufgerufen werden, um deren Anfragen zur Namensauflösung und Verbindungen abzufangen und über den SOCKSPort an den Tor Onion Proxy umzuleiten.

git clone https://git.torproject.org/torsocks.git
cd torsocks
./autogen.sh
./configure --sysconfdir=/etc --with-conf=/etc/tor/torsocks.conf
make
sudo make install

Sofern bzw. sobald das torsocks Paket im Tor Repository vorhanden ist:

sudo [apt-get|aptitude] install torsocks

Zeitsynchronisation

Für den stabilen Betrieb eines Tor Onion Routers oder Proxys und zur Vorbeugung gegen Angriffe, die sich der Messung von Zeitdifferenzen bedienen, ist es wichtig, dass die Systemzeit präzise eingestellt ist, was durch Nutzung von Funktionen zur Zeitsynchronisation mit Zeitservern ermöglicht wird. Dafür kann man z. B. den tlsdate Deamon oder den OpenBSD NTP Daemon installieren.

Vidalia

Will man die aktuelle Version des stabilen oder experimentellen Zweigs von Vidalia ohne Tor Browser Paket nutzen, kann man den Quellcode von der Vidalia Seite herunterladen und gemäß der Anweisungen in der enthaltenen Dokumentation kompilieren. In Building from source ist angegeben, welche Pakete die Kompilierung von Vidalia voraussetzt.

Bei der Kompilierung kann man u. a. mit der Angabe der -DUSE_GEOIP=1 cmake Option die Verwendung einer lokalen GeoIP-Datenbank aktivieren und dann die MaxMind GeoLiteCity oder GeoLiteCountry Datenbank per Kompilierung der Datenbank oder Installation der libgeoip Pakete einbinden, die Vidalia für die Netzwerk-Karte benötigt, so dass Vidalia keine (anonymisierten) Verbindungen zu geoip.vidalia-project.net aufnehmen muss, um die IP-Adressen der Tor Onion Router zu geolokalisieren.

Arm

Der Anonymizing relay monitor (Arm) ist wie Vidalia eine Tor Kontrollanwendung, basierend auf Python und für die Konsole, die umfassendere Informationen, Konfigurations- und Steuerungsmöglichkeiten bietet als Vidalia. Arm kann mit dem folgenden Befehl aus dem Ubuntu-Repository installiert werden, wenn die aktuelle Arm-Version enthalten ist.

sudo [apt-get|aptitude] install tor-arm

Tor Kontrolle

Eine vollständige Kontrolle und Steuerung der Tor Anwendung ist nur möglich, wenn Tor wie beim Tor Browser im Kontext und mit den Rechten eines normalen Benutzers ausgeführt wird oder wenn die standardmäßig gesetzten Datei- und Eigentumsberechtigungen bei der Einzelinstallation von Tor umfangreich geändert werden.

Darauf geht diese Anleitung nicht ein, sondern sie geht davon aus, dass die standardmäßigen Berechtigungen bzw. Beschränkungen für normale Benutzer beibehalten werden. Für normale Benutzer und von ihnen aufgerufene Kontrollanwendungen wie Arm bedeutet das:

  • keine Schreibberechtigung für die torrc und damit auch keine Konfiguration von Tor über Kontrollanwendungen
  • kein direkter Zugriff auf die Tor Logdateien
  • kein direkter Zugriff auf das Tor Datenverzeichnis und seine Dateien
  • mit Kontrollanwendungen können nur die Informationen abgerufen oder Kommandos/Signale gesendet werden, die nach Authentifizierung über den Kontrollport verfügbar bzw. möglich sind

Kontrollkanäle und Authentifizierung

Für die Kontrolle kann man sich entweder über einen Port („ControlPort“) oder über eine Unix-Domain-Socket Datei („ControlSocket“) zu einem laufenden Tor-Prozess verbinden. Bei der ControlPort Methode muss man sich dabei entweder über den Inhalt einer Cookie-Datei („CookieAuthFile“) oder mit einem Passwort (ControlPassword„) authentifizieren, wenn die enstprechenden Authentifizierungs-Methoden in der torrc festgelegt wurden. Bei der ControlSocket Methode kann man sich entweder über den Inhalt einer Cookie-Datei („CookieAuthFile“), mit einem Passwort (ControlPassword“) oder bei entsprechenden Dateiberechtigungen gar nicht authentifizieren.

Für die Cookie-Datei und Socket Methode benötigen normale Benutzer den Lesezugriff auf das /var/run/tor Verzeichnis und die darin enthaltene Cookie- oder Socket-Datei. Das ist auch der Grund, warum z. B. Vidalia einen normalen Benutzer in die debian-tor Systemgruppe aufnimmt. Verwendet man nur die Passwort Methode, muss kein normaler Benutzer in die debian-tor Systemgruppe aufgenommen werden bzw. kann wieder entfernt werden.

Im Vergleich erscheint die alleinige Nutzung der ControlPort Methode in Verbindung mit der Passwort Methode zur Authentifizierung am sichersten zu sein, gefolgt von der Cookie-Datei Methode und zuletzt die Verwendung von Unix-Domain-Sockets.

Noch sicherer ist es, überhaupt keine Kontrollkanäle und -anwendung zu verwenden – was für den normalen Betrieb von Tor als Onion Proxy oder Router im Hintergrund auch nicht nötig ist.

torrc
CookieAuthentication 1
CookieAuthFile /var/run/tor/control_auth_cookie
CookieAuthFileGroupReadable 1

oder:

Authentifizierung per Passwort

Erzeugen des Passwort-Hashes:

tor --hash-password klartext-passwort
16:string
torrc
HashedControlPassword 16:string
Steuerung über Unix-Domain-Socket
torrc
ControlSocket /var/run/tor/control
ControlSocketsGroupWritable 1

und/oder:

Steuerung über ControlPort
torrc
ControlPort 9051

Skript

Ein „Vorteil“, der für die Nutzung von Vidalia herangezogen wird, ist der Versand des NEWNYM Signals. Das kann man z. B. auch per Skript und netcat. Dazu installiert man zuerst netcat (nc):

sudo [apt-get|aptitude] install netcat-openbsd

Und ruft dann das folgende „newnym“ Skript auf, in dem vorher die der Authentifizierungs-Methode entsprechenden Zeilen auskommentiert bzw. dekommentiert werden. Das Skript schließt zuerst alle geschalteten Tor-Ketten und sendet danach das NEWNYM Signal an Tor. Mit einer Start-Verknüpfung wie „/bin/sh -c /pfad/newnym“ kann man wie bei Vidalia mit einem Klick eine „neue Identität“ auslösen.

Weitere Signale, Informationen und Kommandos zur Steuerung und Kontrolle von Tor, mit denen man das Skript beliebig ausbauen könnte, enthält das Tor Kontrollprotokoll.

#!/bin/sh
 
## Authentifizierung per Password:
# printf "Password: " "$auth"
# read auth
## oder
auth="klartext-passwort"
 
## Authentifizierung per Cookie:
# auth="/var/run/tor/control_auth_cookie"
 
## Verwendung von Socket:
# socket="/var/run/tor/socket"
 
## Authentifizierung per Password:
for i in $( printf "AUTHENTICATE \"$auth\"\r\nGETINFO circuit-status\r\nQUIT\r\n" | nc localhost 9051 | grep BUILT | cut -d' ' -f1 )
do
  printf "AUTHENTICATE \"$auth\"\r\nCLOSECIRCUIT $i\r\nQUIT\r\n" | nc localhost 9051 >/dev/null
done
printf "AUTHENTICATE \"$auth\"\r\nSIGNAL NEWNYM\r\nQUIT\r\n" | nc localhost 9051 >/dev/null
 
## Authentifizierung per Cookie:
# for i in $( printf "AUTHENTICATE \"$(cat $auth)\"\r\nGETINFO circuit-status\r\nQUIT\r\n" | nc localhost 9051 | grep BUILT | cut -d' ' -f1 )
# do
#   printf "AUTHENTICATE \"$(cat $auth)\"\r\nCLOSECIRCUIT $i\r\nQUIT\r\n" | nc localhost 9051 >/dev/null
# done
# printf "AUTHENTICATE \"$(cat $auth)\"\r\nSIGNAL NEWNYM\r\nQUIT\r\n" | nc localhost 9051
 
## Verwendung von Socket (mit Password):
# for i in $( printf "AUTHENTICATE \"$auth\"\r\nGETINFO circuit-status\r\nQUIT\r\n" | nc localhost 9051 | grep BUILT | cut -d' ' -f1 )
# do
#   printf "AUTHENTICATE \"$auth\"\r\nCLOSECIRCUIT $i\r\nQUIT\r\n" | nc localhost 9051 >/dev/null
# done
# printf "AUTHENTICATE \"$auth\"\r\nSIGNAL NEWNYM\r\nQUIT\r\n" | nc -U $socket
 
exit 0

Arm

Arm wird mit folgendem Kommando aufgerufen:

sudo -H -u debian-tor arm [-i IP:Kontrollport]

Das Aussehen und die Funktionen von Arm können in der /var/lib/tor/.arm/armrc Konfigurationsdatei eingestellt werden. Eine Beispieldatei findet sich in der /usr/share/doc/arm/armrc.sample Datei.

Arm geht zunächst davon aus, dass als Kontrolkanal der Kontrollport 9051 geöffnet ist und zur Authentifizierung die Cookie-Datei ausgelesen oder das Passwort übergeben werden muss. Beide Authentifizierungs-Methoden erkennt Arm automatisch, so dass keine weitere Konfiguration nötig ist. Bei der Passwort-Authentifizierung erfolgt ein Prompt zur Eingabe des Passworts. Will man den Unix-Domain-Socket Kontrolkanal nutzen, wird das in der armrc Konfigurationsdatei angegeben:

startup.interface.socket /var/run/tor/control

Ist Tor in einer chroot Umgebung installiert, gibt man Arm den chroot-Präfix an:

features.pathPrefix /chroot/wurzel

Im ersten Arm Fenster werden Systemdaten, der Bandbreitenverbrauch und die Ausgaben in die Tor Logdatei angezeigt. In jedem Fester kann man mit „m“ ein Menü aufrufen, über das weitere Aktionen ausgeführt und die Anzeigen verändert werden können. Zusätzlich kann man in jedem Fenster über „h“ weitere fensterspezifische Funktionen nutzen.

Arm führt eine Prüfung der torrc durch, die z. B. zur obigen „Unneeded torrc entries found“ Meldung führt. Die Prüfung kann man mit der folgenden Option abschalten kann:

features.torrc.validate false

Im Verbindungen-Fenster kann man u. a. genau den Aufbau der Tor-Ketten beobachten und nähere Informationen zu den beteiligten Onion Router einsehen. Die Veränderungen können nur dann in Echtzeit verfolgt werden, wenn Arm entweder als root gestartet oder der ptrace „Schutz“ mit der DisableDebuggerAttachment 0 Option in der torrc ausschaltet wird, was beides nicht zu empfehlen ist. Kann oder will man auf die Beobachtung der Verbindungen verzichten, kann die Anzeige des Fensters mit der folgenden Arm Option abschaltet werden:

features.panels.show.connection false

Das Konfigurations-Fenster zeigt aktuell konfigurierte Optionen des Onion Proxy bzw. Router, aber mit „a“ auch alle aktuell möglichen Optionen und ihre Beschreibung, was als Ersatz für die Tor man page dienen kann. Sofern der ausführende Benutzer die nötigen Rechte besitzt, kann er direkt Optionen setzen und ändern bzw. die torrc editieren. Siehe auch Tor mit der torrc konfigurieren.

Das torrc-Fenster zeigt die komplette torrc Datei an.

Im Interpreter-Fenster kann man alle Kommandos und Signale an Tor über den Kontroll-Port senden, die im Tor Kontrollprotokoll definiert sind. Statt des Newnym Skript könnte man z. B. auch hier die gleichen Aktionen ausführen:

Enter
>>> GETINFO circuit-status
>>> CLOSECIRCUIT n1...
>>> SIGNAL NEWNYM

Vidalia

Je nachdem, ob Tor wie beim Tor Browser Paket im Kontext des Benutzers ausgeführt wird oder mit eigenem Kontext als Systemdienst und abhängig von der Zugriffsrechtevergabe, kann man Vidalia für die Konfiguration von Tor als Onion Proxy/Router und die Bereitstellung von Tor Hidden Services einsetzen und folgende Aktionen durchführen:

  • die Tor Logdatei im Logbuch einsehen
  • das Bandbreitenaufkommen im Bandbreiten-Diagramm verfolgen
  • Tor beenden/neu starten
  • Neue Identität auslösen
  • Bildung der Tor-Ketten und Verbindungen in der Netzwerk-Karte verfolgen
  • Tor-Ketten („Kanäle“) schließen
Einstellungen zur Steuerung und Kontrolle von Tor in Vidalia

Da die Cookie-Datei von Tor bei jedem Start neu erzeugt wird, muss bei jedem Start von Vidalia – wenn in den Vidalia-Einstellungen Cookie als Authentifikationsmethode ausgewählt wurde – die /var/run/tor/control_auth_cookie Datei erneut ausgewählt bzw. ausgelesen werden. Da man als Vidalia-Benutzer nicht in das eigentliche Tor Datenverzeichnis /var/lib/tor gelangt bzw. gelangen sollte, kann zur vereinfachten Auswahl der Cookie-Datei auch das /var/run/tor Verzeichnis als Datenverzeichnis in den Vidalia-Einstellungen eingetragen werden.

Man kann Vidalia sich automatisch mit dem bereits laufenden Tor Prozess verbinden lassen, indem die entsprechende Automatisch zu Tor verbinden Option in den allgemeinen Einstellungen aktiviert wird.

Bei der manuellen Methode startet zunächst das Vidalia Kontroll-Panel, in dem der Tor Starten Button angeklickt wird:

Die Bezeichnung Tor Starten und der Tor läuft nicht Status ist an dieser Stelle irreführend, weil der Tor Prozess bereits im Hintergrund als Daemon läuft.

Der Neue Identät Button löst den Versand des NEWNYM Signals an Tor aus, mit dem Tor angewiesen wird, für die folgenden Verbindungen über Tor neue Tor-Ketten zu nutzen und die bereits bestehenden Tor-Ketten zu schließen, womit auch die IP-Adresse eines anderen Tor Ausgangs-Routers beim Ziel-Rechner erscheint.

Danach wird wie bei der automatischen Verbindung der Status Reiter mit dem Vidalia Nachrichten-Log und dem Status der Verbindung zum Tor Prozess angezeigt:

Auch hier ist die zweite Meldung irreführend, den da Tor bereits läuft, existieren auch Verbindungen zum Tor-Netzwerk und Vidalia verbindet sich nicht mit dem Tor-Netzwerk, sondern mit dem Tor Prozess und der eigene Tor Onion Proxy oder Router mit dem Tor-Netzwerk.

Über das Ansicht Menü kann man weitere Reiter öffnen:

Netzwerk-Karte

vidalia_netzkarte.jpg

In der Netzwerkkarte kann man in Echtzeit Informationen zu einzelnen Onion Routern („Relais“) und den mit ihnen gebildeten Tor-Ketten („Verbindungen“/„Kanal“) einholen und sehen, über welche Tor-Kette eine Verbindung zu einem Server und dessen Dienste-Port hergestellt wurde. Die Kartenansicht ist zoombar und zeigt mit Graphen die geschalteten Tor-Ketten. Zu einer stehenden Tor-Kette kann man im Kontextmenü Kanal schließen auswählen, um die Tor-Kette zu beenden.

Logbuch

Im Logbuch kann die von Tor angelegte Logdatei ausgelesen und gespeichert werden.

Bandbreite

Im Bandbreiten Reiter wird das Verkehrsaufkommen für aus- und eingehende Verbindungen grafisch dargestellt.

TorK

Ein weiteres grafisches Tor Kontrollprogramm ist TorK für den KDE Desktop. TorK ist eine Management-Anwendung zur Anonymisierung, die u. a. wie Vidalia umfangreiche Möglichkeiten bietet, Tor zu steuern und Informationen zum Tor Netzwerk abzurufen. Siehe zu TorK auch den TorK Beitrag im Ubuntuusers Wiki.

Verweise auf aktuelle Seite