TheFreenetProject auf DSM

Wer absolut sicher im Internet unterwegs sein will, landet früher oder später bei Tor oder beim FreenetProject.

Tor – das Zwiebel-Netzwerk – ist eine Kaskadierung über mindestens 3 Nodes, wo bei jede Node nur die jeweiligen Nachbarn kennt. Somit kennt die “exit-node” keinesfalls die “entry-node” – vom Konzept her soll es nahezu unmöglich sein, die anfragende Quelle zu ermitteln. Theoretisch.

Tatsächlich ist eine recht genaue Ermittlung der Quelle durchaus möglich, wenn ein Angreifer genügend Tor-Nodes betreibt (ein Geheimdienst sollte durchaus in der Lage sein, mehrere tausend Nodes zu betreiben). Eine weitere Schwachstelle von Tor ist die Möglichkeit auf das Internet selbst zuzugreifen – eine Webseite, die die IP-Adresse des anfragenden Browsers zu ermitteln schafft zerstört sehr leicht die dazwischen liegende Anonymität. Die Betreiber von Tor empfehlen daher sämtliches Scripting im Browser zu deaktivieren – allerdings gibt es nach wie vor sehr viele Webseiten die dann nicht mehr bedient werden können.

Das Free Network Project – oft kurz Freenet genannt und in keinem Zusammenhang mit einer deutschen Firma – geht einen völlig anderen Ansatz. Das FreenetProject ist ein eigenes Netzwerk, bei dem man idealerweise vertrauenswürdige “Nachbarn” kennt. Diese kennen wiederum andere Nachbarn und so weiter. Ähnlich wie bei LinkedIn oder Xing wird eine sehr kurze Kette zu fast allen dort gespeicherten Personen aufgebaut. Ebenso versucht das FreenetProject aus der Tatsache “jeder kennt jeden über 3 Ecken” ein abgesichertes, vertrauenswürdiges Netzwerk aufzubauen.

Im Gegensatz zu Tor stellt jeder Teilnehmer beim FreenetProject eine definierte Bandbreite und einen definierten Speicherplatz für das Netzwerk zur Verfügung. Im Prinzip ist das System damit ein großes peer-to-peer Netzwerk, welches auf starke Verschlüsselung und Anonymität setzt. Der eigene Browser greift in einer idealen Konfiguration auf einen lokal laufenden Server zu – damit gehen und kommen alle Anfragen von der IP 127.0.0.1.

Ein Zugriff auf das “normale Internet” ist mit FreenetProject nicht möglich – genau das steigert aber die Sicherheit im Netzwerk. Das peer-to-peer arbeitet wie ein weltweiter Speicherplatz – alle abgelegten Daten sind in gleich große Datenblöcke aufgeteilt und quer über das Netzwerk verteilt. Werden irgendwo Blöcke angefragt, werden diese über unterschiedliche Wege vom anfragenden Node herunter geladen. Die Sicherheit dabei ist, daß alle Nodes dazwischen ebenfalls diese Blöcke herunterladen und zwischenspeichern. Somit ist es einem Node nicht möglich festzustellen, ob die angefragten Blöcke vom direkten Nachbarn, oder von einem Nachbarn des Nachbarn angefragt wurden. Zudem ist es nahezu unmöglich, von den einzelnen übermittelten Datenblöcken auf den Inhalt einer gesamten Datei zu schließen.

Installation

Das FreenetProject arbeitet mit Java – will man das ganze auf DSM betreiben muß man also zunächst das Java-Paket im Paketzentrum installieren. Es ist zu empfehlen direkt danach ein Update von Java durchzuführen – dazu muss einfach nur das installierte Paket im Paketzentrum geöffnet werden. Da Java selbst eine Programmiersprache ist und kein eigenständiges Programm, gibt es hier auch nichts einzustellen. Stattdessen wird hier der Link zu Oracle angezeigt, bei dem man die eine ggf aktuellere Version manuell herunterladen und dann über die App direkt installieren kann.

Nachdem das erledigt ist empfehle ich eine neue verschlüsselte Netzwerkfreigabe zu erstellen. Damit werden die FreenetProject-Daten abgesichert – durch die DSM-Seitige Verschlüsselung kann später die FreenetProject-eigene Verschlüsselung deaktiviert werden, was einen kleinen Geschwindigkeitsvorteil bringt.

Ist die Netzwerkfreigabe erstellt (die Verschlüsselung ist von mir empfohlen aber nicht zwingend notwendig) besuchen wir die Webseite des Anbieters und laden die aktuellste Version herunter. Da wir keine GUI zur Verfügung haben, benötigen wir den Offline-Installer. Die Software soll auf dem DSM laufen, daher jetzt den SSH-Dienst aktivieren und per SSH an DSM anmelden.

Achtung: FreenetProject sollte nicht als “root” laufen, daher benötigt ihr einen regulären Nutzer. Wechselt zunächst in das zuvor erstellte verschlüsselte Verzeichnis, dann startet die Installation:

wget 'https://github.com/freenet/fred/releases/download/build01478/new_installer_offline_1478.jar' -O new_installer_offline.jar;
java -jar new_installer_offline.jar;

Der Installer stellt euch ein paar Fragen, diese entsprechend eurer Konfiguration bestätigen oder korrigieren. Ich empfehle, den Zugriff auf das Web-Frontent tatsächlich auf 127.0.0.1 beschränkt zu lassen. Dies dient der besseren Sicherheit – ansonsten könnte jeder aus eurem lokalen Netzwerk auf die WebUI zugreifen und damit eure Bookmarks und Downloads sehen!

Ein Zugriff für euch ist dennoch möglich, indem Ihr einen SSH-Tunnel erstellt und dort alle Anfragen durch routet:

 

ssh admin@192.168.1.123 -L8888:127.0.0.1:8888

In diesem Beispiel habt ihr die Freenet-Installation auf dem Gerät 192.168.1.123 durchgeführt und den Management-Port 8888 behalten. Nachdem Ihr euch per SSH mit obigem Kommando angemeldet habt, könnt ihr mit einem Browser auf dem gleichen PC über

http://127.0.0.1:8888

auf das Web-Management zugreifen. Der Trick dabei ist: SSH fängt diese Anfrage lokal ab und routet diese durch den bestehenden SSH-Tunnel. Auf der anderen Seite wird die Anfrage dann auf 127.0.0.1:8888 weitergegeben. Beendet ihr die SSH-Verbindung ist damit auch keine Verbindung zum WebUI mehr möglich.

Alternativ könnt ihr natürlich auch bei der Installation von FreenetProject den direkten Zugriff aus eurem Netzwerk erlauben. Wie oben beschrieben ist dies jedoch ein Sicherheitsrisiko.

Informationen zur Konfiguration und Verwendung vom FreenetProject würde dieses kurze Tutorial sprengen – alle notwendigen Informationen findet ihr auf der Webseite des Projekts, bzw dort im Forum.