Anonym im Internet - Seite 11
I2P Einsatz - Standardanwendungen
Eepsite Homepage
I2P-Webserver Klient
Um eine statische Homepage mit verlinkten statischen Webseiten auf dem integrierten Jetty Webserver zu hosten, muss in der Klienten-Konfiguration der I2P-Webserver (eepsite) Klient manuell gestartet bzw. der Autostart aktiviert werden.
I2P-Webserver Servertunnel
Anschließend wird im I2P Tunnel-Manager der I2P Webserver Servertunnel eingerichtet und gestartet.
Im Tunnel-Manager sieht man den Ausgangszustand für die eigene Eepsite:
Um die Konfiguration vorzunehmen, klickt man den I2P Webserver Link an, um die Servereinstellungen zu öffnen:
Der Name (N) ist der Linkname zur Eepsite, wie er in der Schnellübersicht in der linken Spalte der I2P-Routerkonsole erscheint. Die Beschreibung (e) der Eepsite ist optional und wird nicht veröffentlicht. Soll mit jedem I2P-Start auch der der I2P Webserver Servertunnel gestartet werden und damit die Eepsite erreichbar sein, aktiviert man den Automatischen Start (A).
Die IP- und Portangaben im Host (H) und Port (P) Feld belässt man bei bei der Verwendung des in I2P integrierten Jetty Webservers für eine einfache Eepsite. Für das Hosten einer Eepsite als Homepage, Wiki, Weblog, CMS usw. auf einem externen Webserver (Apache, nginx, Lighttpd usw.) wird ein eigener I2P Webserver Servertunnel eingerichtet und dann die IP- und Portadresse eingetragen, auf denen der externe Webserver lauscht. Zusätzlich muss dann der I2P-Webserver (eepsite) Klient in der Klienten-Konfiguration deaktiviert werden.
Im Websitenamen (W) Feld wird für die Eepsite ein I2P-Hostnamen vergeben, der über Adressbücher und Links veröffentlicht und von Besuchern zur Adressierung verwendet wird. Zuvor schaut man im Router Adressbuch nach, ob der Hostname nicht bereits verwendet wird.
Die Schlüsseldatei (k) enthält u. a. den Zielschlüssel, die privaten und öffentlichen Schlüssel, d. h. die gesamte „Identität“ der Eepsite und sollte deshalb vor unberechtigtem Zugriff gesichert werden:
Wenn die Servereinstellungen und ggf. bereits die erweiterten Netzwerkoptionen festgelegt sind, wird die Konfiguration mit dem Speichern (S) Button abgeschlossen und der I2P Webserver Servertunnel kann gestartet werden.
Sobald der I2P Webserver Servertunnel das erste Mal gestartet wurde, findet sich im Lokales Ziel (L) Feld der Zielschlüssel, den man zusammen mit dem Hostnamen in das Private Adressbuch eintragen kann, so dass der Eepsite Hostnamen bereits lokal aufgelöst wird, wenn man http://eepsite-hostname.i2p als URL im Webbrowser angibt. Die Übernahme in das Private Adressbuch löst auch das Anklicken des Zum lokalen Adressbuch hinzufügen Links aus.
Die gleichen Daten trägt man bei Eepsites wie z. B. stats.i2p oder inr.i2p ein, um den eigenen Hostnamen bzw. die eigene Eepsite zu „registrieren“ und bekanntzumachen. Von dort aus wandern die Daten über die Abonnements auf Index Eepsites und in die Router Adressbücher anderer I2P-Teilnehmer. Parallel kann man die Eepsite im Eepsite Announce Unterforum des I2P Forums bekanntgeben.
Die Veröffentlichung einer eigenen Eeepsite sollte dann erfolgen, wenn man nützliche Inhalte und Dienste anbieten kann, I2P und die Eepsite die meiste Zeit online sind und sichergestellt ist, dass Eepsite und Webserver keine identifizierenden Informationen nach außen tragen. Es bietet sich an, vom gesamten eepsite/ Verzeichnis regelmäßige Backups anzufertigen, die dann auch die eepPriv.dat Schlüsseldatei beinhalten.
Nach dem Aufruf wird die eepsite/docroot/index.html Seite geladen, die nur eine Weiterleitung zur eepsite/docroot/help/index.html Seite enthält, die man hier sieht. Für die Gestaltung der eigenen Eepsite kann man die vorhanden Dateien unter eepsite/docroot/ als Ausgangsbasis nutzen oder man bestückt das Verzeichnis mit eigenen Dateien und Unterverzeichnissen.
Neben statischen HTML Webseiten können mit entsprechender Konfiguration CGI Skripte und Java Webanwendungen ausgeführt werden, die man in den eepsite/cgi-bin und eepsite/webapps Verzeichnissen ablegt.
Erweiterte Netzwerkoptionen
Zu den Tunneloptionen für Länge (t), Varianz (V), Anzahl (C) und Ersatztunnelanzahl (B) siehe Klienten- & Servertunnel im Tunnel-Manager.
Ist die Leaseset verschlüsseln (E) Option aktiviert und ein Schlüssel erzeugt, können nur die I2P-Teilnehmer auf die Eepsite zugreifen, die im Besitz des Schlüssels sind und ihn für die Eepsite in den I2P-Schlüsselbund aufgenommen haben. Mit dem Schlüssel werden die Leaseset-Kontaktdaten zur Eepsite verschlüsselt und von den I2P-Routern der Besucher wieder entschlüsselt. Um eine private Eepsite für einen geschlossenen Benutzerkreis zu führen, sollte man dementsprechend die Eepsite nur in das Private Adressbuch aufnehmen, nirgendwo anmelden/bekanntgeben und Hostnamen, Zielschlüssel, Leaseset-Schlüssel an die Mitglieder des Benutzerkreises weitergeben.
In das Feld der Zugangsbeschränkungsliste (s) kann man den Base64 Hash (der Schlüssel-String der Router-Identität) von I2P-Routern als Whitelist oder Blacklist eintragen, um damit den Zugang zur Eepsite zu gewähren oder zu verwehren.
Im anschließenden Abschnitt kann für das Bandbreitenmanagement in der ersten Felderreihe die Anzahl eingehender Verbindungen für jeden einzelnen „Besucher“ pro Minute, Stunde oder Tag und für alle „Besucher“ ingesamt in der zweiten Felderreihe begrenzt werden. In das einzelne Feld der letzten Reihe kann die maximale Anzahl der gleichzeitigen Verbindungen aller „Besucher“ begrenzt werden.
Handelt es sich um eine selten besuchte bzw. gering ausgelastete Eepsite, kann im dritten Abschnitt nach n Minuten Inaktivität des I2P-Webservers die Tunnelanzahl reduziert werden.
Im letzten Abschnitt sieht man die I2P Ansätze zur Anwendung von PKI Merkmalen bzw. zusätzlichen Zertifikaten, die derzeit keine/geringe Bedeutung haben, da es u. a. keine zentralen Zertifizierungsinstanzen gibt und sie auch nicht benötigt werden oder I2P-Anwendungen und I2P-Dienste gar keine Zertifikate prüfen. Standardmäßig enthält die Schlüsseldatei deshalb nur ein Null-Zertifikat ohne Nutzdaten. Statt der obigen Oberfläche sollte man besser nach Sicherung der Schlüsseldatei das folgende Kommando in der Konsole oder in einem Skript nutzen:
java -cp /var/lib/i2p/lib/router.jar:/var/lib/i2p/lib/i2p.jar net.i2p.data.PrivateKeyFile java -cp /var/lib/i2p/lib/router.jar:/var/lib/i2p/lib/i2p.jar net.i2p.data.PrivateKeyFile ./eePriv.dat
Man kann u. a. einen Hashcash Token erzeugen und damit oder mit einer anderen Schlüsseldatei die Schlüsseldatei der Eepsite „signieren“. Denkbar wäre z. B. das Einrichten eines zusätzlichen Webserver(-Tunnels) oder Nutzung einer Eepsite, die nur als Zertifizierungsstellen fungieren, mit deren Schlüsseln die Schlüsseldateien der eigenen Eepsite „Domain“ und ihrer I2P „Subdomains“ signiert werden.
Allerdings sollte man beachten, dass sich mit einem anderen Zertifikattyp auch der Zielschlüssel ändert, so dass eine Zertifikatänderung vor der Registrierung des Hostnamens der Eepsite durchgeführt werden sollte. Weitere Informationen über I2P-Zertifikate erhält man über die net.i2p.data Java-Dokumentation oder in den I2P-Foren.
I2P Einsatz - Plugins
Für weitere Anwendungszwecke neben den bereits vorgestellten I2P-Anwendungen kann man I2P mit Plugins nutzen.
Plugins & externe Anwendungen
Plugins können Webanwendungen ähnlich I2Psnark, vorkonfigurierte Eepsites und Jetty Instanzen, neue Themen und Übersetzungen für die I2P-Routerkonsole, Java Anwendungen, die innerhalb der I2P JVM oder mit eigener JVM laufen, Nicht-Java Anwendungen und Skripte beinhalten.
Während Plugins mit der I2P-Routerkonsole in die I2P-Verzeichnisstruktur installiert werden und neben eigenen Bibliotheken die I2P-Bibliotheken nutzen, sind externe Anwendungen Programme wie z. B. Thunderbird oder IMule, die man separat installiert, eigenständig laufen lässt und die über Schnittstellen verfügen, um über das I2P-Klienten-Protokoll (I2CP), die I2P Proxy-Kliententunnel, SAM oder BOB Brücken ihren Datenverkehr über den I2P-Router und das I2P-Netzwerk zu leiten.
Plugins installieren & nutzen
Über aktuelle Plugins und ihre Voraussetzungen kann man sich im I2P-Plugins App-Store oder im ZZZ Plugins Forum informieren. Ab I2P Version 0.9.14.1 muss vor der Installation von Plugins die routerconsole.enablePluginInstall=true Option in das Feld der erweiterten I2P-Einstellungen eingesetzt werden. Danach ruft man für die Installation in der I2P-Routerkonsole die Konfiguration der I2P-Klienten auf.
In das Feld wird entweder die URL zur pluginname.xpi2p Plugindatei eingegeben, wie sie im I2P-Plugins App-Store angegeben ist oder die file:///pfad/pluginname.xpi2p URL zur bereits heruntergeladenen Plugindatei. Anschließend klickt man den Zusatzprogramm installieren Button an. Korrekt erstellte Plugindateien werden in ein eigenes plugins/pluginname/ Unterverzeichnis entpackt. Da Plugins eigene Einstellungen und Konfigurationsdateien mitbringen, sollte man sich die Konfigurationsdateien nach der Installation näher anschauen.
Plugins, die als Webanwendung in der I2P JVM laufen, legen unter Konfiguration der Zusatzprogramme Einträge an, über die man das Plugin anhalten, löschen und aktualisieren kann. Zusätzlich kann ein Link zur jeweiligen Weboberfläche des Plugin in der Schnellübersicht unter I2P-Dienste angelegt werden.
Nach dem Löschen eines Plugin ist zu beachten, dass die Entfernung eventuell unvollständig ist, so dass Dateien und Unterverzeichnisse zurückbleiben, die manuell entfernt werden müssen.