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

Vgl. http://www.torservers.net/wiki/setup/server#iptables_firewall

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 <DISTRIBUTION> main
deb http://deb.torproject.org/torproject.org wheezy 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>

oder bearbeiten:

nano /etc/tor/torrc

ORPort 9001
DirPort 9030
SocksPort 0
SocksPolicy reject *
ExitPolicy reject *:*
RunAsDaemon 1
AvoidDiskWrites 1
Log notice file /var/log/tor/notices.log
# HeartbeatPeriod 7200
DataDirectory /var/lib/tor
Nickname noname
ContactInfo Unknown User <unknownmail AT domain dot TLD>
#BandwidthRate 750 KB
#BandwidthBurst 1000 KB
MaxAdvertisedBandwidth 750 KB
RelayBandwidthRate 750 KB
RelayBandwidthBurst 1000 KB

Optional bei Tor Weather anmelden.

Optional vnstat installieren:

# apt-get install vnstat
# vnstat -u -i eth0

Statistiken

Installation

# apt-get install lighttpd vnstat vnstati
# service lighttpd stop

Konfiguration anpassen:

# cd /etc/lighttpd/
# cp lighttpd.conf lighttpd.dist.conf
# wget <neue lighttpd.conf>
# cd /var/www
# rm -r html
# wget <heue index.html>

Neustarten

# service lighttpd start

Verschiedenes

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>

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

Tor-Autostart einrichten

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.