Tor Non-Exit Relay installieren (Debian)

Aus MattWiki

Diese Anleitung bezieht sich auf die Tor-Version 0.2.5.10

Voraussetzungen

  • Linux: Debian Wheezy → Für Raspbian / RaspberryPi sollte man das Raspbian-Repository verwenden
  • Portweiterleitungen
    • ORPort 9001 (Standard) oder 443 (Besser, da für mehr User erreichbar)
    • DirPort 9030 (Standard) oder 80 (Besser, da für mehr User erreichbar)
  • Superuser (Debian)

Betriebssystem vorbereiten

SSH-Zugriff ohne Passwort

Siehe SSH ohne Passwort


iptables einrichten

Siehe iptables (Debian)


knockd einrichten

Siehe knockd (Debian)


TOR Software

Installation

Zunächst Quellen zur Quellenliste hinzufügen. Dazu Quellenliste öffnen:

nano /etc/apt/sources.list

Folgende Zeile einfügen:

deb http://deb.torproject.org/torproject.org jessie main deb-src http://deb.torproject.org/torproject.org jessie main

GPG-Key hinzufügen:

# gpg --keyserver keys.gnupg.net --recv 886DDD89
# gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -

Quellenliste aktualisieren:

# apt-get update

Programm installieren, welches den Signing-Key aktuell hält

# apt-get install deb.torproject.org-keyring

Tor installieren:

# apt-get install tor tor-arm tor-geoipdb

Service anhalten und Konfig-Dateien entfernen

# /etc/init.d/tor stop
# service tor stop              # Alternative
# service tor status-all
# cd /etc/tor
# rm *


Konfiguration

Beispiel für eine einfache Konfiguration eines Tor-Knotens mit folgenden Eigenschaften:

  • Non-Exit-Node
  • Standardports

Config-Datei holen:

# wget <torrc-datei>


Optional bei Tor Weather anmelden.


Weitere Programme

Statistiken ausgeben / Installation

# apt-get install lighttpd vnstat vnstati

lighttpd Konfiguration anpassen:

# cd /var/www/html
# wget <heue index.html>

Optionale Tätigkeiten (Falls notwendig):

# vnstat -u -i eth0        # Datenbank manuell initial aktualisieren
# nano /etc/vnstat         # Zeile SaveInterval auf 3 setzen
# cd /var/lib/vnstat
# chown vnstat:vnstat eth0
# chown vnstat:vnstat .eth0


Aktualisierung der Statistik-Grafiken:

# cd /etc/cron.d
# wget <vnstati update-datei>

Neustarten:

# service lighttpd restart


Optimierungen

ORPort 443
DirPort 9030  # oder:
DirPort 80 #Wenn DirPort auf Default bleibt (=0), dann ist er kein Directory Server # oder:
DirPort 80 NoListen # oder:
DirPort 127.0.0.1:9091 NoAdvertise
DirPortFrontPage /etc/tor/tor-notice.html
PortForwarding 1 #UPnP und NAT-PMP aktivieren 
# (Funzt scheinbar noch nicht, und ist eine Sicherheitslücke)
ContactInfo Unknown User <unknownmail AT domain dot TLD>


Allgemeine Informationen

LOG-Dateien

ls /var/log/tor
nano /var/log/tor/notices.log

Fingerprint-Datei

Inhalt sollte gesichert werden, um spätere Tor-Neuinstallationen als gleichen Tor-Router erscheinen zu lassen:

nano /var/lib/tor/fingerprint

Neue Fingerprintdatei anlegen:

bash
touch /var/lib/tor/fingerprint
nano /var/lib/tor/fingerprint

Private Key für Tor-Relay

nano /var/lib/tor/keys/secret_id_key

(Muss nicht unbedingt aufgehoben werden? / Wird automatisch neu generiert?)

Dienstverwaltung

service tor start
service tor status
service tor stop
service --status-all

Oder alternativ (Neuere Methode?):

/etc/init.d/tor {start|stop|restart}

Tor-Autostart einrichten

Noch notwendig? update-rc.d tor enable

Versionsnummer von Tor ausgeben

Entweder mit dem Debian Packet Manager:

# dpkg -l tor

Oder in der Log-Datei von Tor nachgucken:

# nano /var/log/tor/notices.log

In der 1. Zeile steht die Versionnummer, z. B.:

Jan xx xx:xx:xx.000 [notice] Tor 0.2.x.x (git-xxxxxxxxxxxx) opening log file.