Kommentar: Yacy? Eher nicht.

Kommentar: Yacy? Eher nicht.

Immer mal wieder geht die verteilte Suchmaschine Yacy durch die Medien, Blogs und Chats. Offenbar haben viele Internetnutzer das Bedürfnis, sich ob der vielen Datenschutzbedenken von den großen etablierten Suchmaschinen zu lösen, was erfreulich ist. Für Experimentierfreudige ist Yacy ein Projekt, um einmal in den Aufbau einer verteilten Suchmaschine und deren Funktionsweise reinzuschnuppern. Ich habe dieses Experiment gewagt und möchte nach ca. dreimonatiger Anwendung über meine Erfahrungen berichten.

Installation

Die Installation unter Debian ist auf einer Wiki-Seite des Yacy-Projekts beschrieben. Getestet habe ich auf einer eigens für diesen Test eingerichteten VM mit ausreichend Speicher und Plattenkapazität. Da das Yacy-Projekt bereits fertige Pakete für Debian und andere Betriebssysteme bereitstellt, gestaltete sich die Installation kinderleicht. Für die Installation auf einer VM irgendwo in den Weiten des Netzes musste die Admin-Schnittstelle abgesichert werden. Yacy bietet hier bei der Installation leider nur HTTP an.

Im Wiki findet sich zwar eine Anleitung, wie HTTPS für die Admin-Schnittstelle aktiviert werden kann, jedoch war die Beschreibung derart ungenau, dass es mir auf Anhieb nicht gelang, Yacy zu HTTPS zu bewegen.

Nach mehreren Fehlversuchen habe ich dann das Admin-Interface einfach hinter einem Reverse-Proxy versteckt, der extern nur HTTPS spricht.

Community-Support

Bei meinen Aktivierungsversuchen von HTTPS direkt in Yacy habe ich mich über das entsprechende Forum an die Community gewandt. Leider habe ich dort auch nach zweieinhalb Monaten keine Antwort erhalten, auch nicht durch einen anderen Anwender. Offenbar ist das Thema Sicherheit bei Yacy eben kein Thema.

Eine andere Anfrage zu einem Installationsproblem blieb ebenfalls unbeantwortet. Nachdem ich selbst die Antwort gefunden hatte, habe ich die Lösung der Community als Antwort auf meinen eigenen Beitrag zur Verfügung gestellt.

Unklar ist, warum ich nirgendwo einen Bugreport über ein Problem mit den Debian-Paketen im Zusammenhang mit eigenen Zertifikaten finden konnte. Es werden Verzeichnisrechte anders gesetzt, als sie zum Einspielen von eigenen Zertifikaten notwendig wären. Verwendet wirklich niemand HTTPS bei einer eigenen Suchmaschine?

Dokumentation

Grundlegende Informationen findet man im projekteigenen Wiki, welches sogar Artikel in mehreren Sprachen anbietet. Leider ist die Aktualität mehr als schlecht. Die Änderungshistorie des Wikis verzeichnet innerhalb der letzten 300 Tagen keine einzige Änderung an Wiki-Seiten, obwohl ca. alle sechs Monate eine neue Version herausgegeben wird. Deswegen sind viele weiterführenden Informationen im Wiki mittlerweile veraltet, wenn nicht gar falsch. So z.B. wird zur Einrichtung empfohlen, Yacy als Proxy im lokalen Browser einzustellen, damit automatisch Adressen und Wörter aus den durchgeleiteten Webseiten gelernt werden können. Diese Information ist mittlerweile veraltet. Yacy bezieht seinen Wortindex aktuell ausschließlich über den internen Crawler.

Yacy im Betrieb

Nach der Installation wird eine Liste anderer Knoten von sogenannten Principal-Peers heruntergeladen. Nachdem sich Yacy nach kurzer Zeit im Peer-to-Peer-Netzwerk bekannt gemacht hat, kann es sofort verwendet werden. Suchen werden mit Hilfe anderer Peers durchgeführt, welche nach und nach bekannt werden.

Um dem Netzwerk weitere Quellen zur Verfügung zu stellen kann man Webseiten durch einen integrierten Crawler indizieren lassen. Diese Crawls können in regelmäßigen Abständen wiederholt werden, was z.B. für News-Seiten praktisch ist. Yacy entscheidet anschließend anhand von Hashes der gefundenen Wörter automatisch, an welche anderen Peers die neuen Quellen versendet werden. Der Index aller bekannten Seiten und Wörter verteilt sich so automatisch im Peer-to-Peer-Netzwerk.

Yacy Nodestatus Ausgaben

Yacy Nodestatus Ausgaben

Im Admin-Interface lassen sich viele Informationen über den lokalen Index anzeigen, Crawls verwalten und Informationen zum Netzwerk anzeigen. Ebenfalls hat man die Möglichkeit, bestimmt URLs oder Wörter aus dem Index zu löschen bzw. in eine Blockierliste einzutragen.

Einige weiterführende Verwaltungsseiten sind nur für Experten mit Hintergrundwissen um die in Yacy verwendeten Algorithmen zu verwenden.

Peer-to-Peer Netzwerk und Traffic

Letzte Woche waren durchschnittlich ca. 800 Peers online, welche auch eigene Inhalte beisteuern. Dazu kommen ca. 900 Peers, welche das Netzwerk “nur” benutzen, aber selbst keine Crawls durchführen. Diese Zahlen sind jedoch sehr variabel. In der letzten Stunde z.B. waren im Netzwerk nur ca. 260 Peers aktiv.

Yacy - Statistik der aktiven Peers

Yacy - Statistik der aktiven Peers

Der Netzwerk-Traffic, den das Peer-to-Peer-Netzwerk ohne Crawls verursacht, ist sehr gering. So z.B. beträgt der Traffic bei mir nur durchschnittlich 28 kBit/s eingehend und 18 kBit/s ausgehend, was aber damit zusammenhängen kann, dass ich selbst nur sehr wenige Webseiten crawle und somit das Netzwerk nicht sehr oft nach Ergebnissen auf meinem Peer sucht.

Suchergebnisse

Ich konnte leider keinerlei Informationen darüber finden, wie Suchergebnisse gewichtet werden. Trotz der mittlerweile vom gesamten Netzwerk indizierten 2,8 Milliarden Dokumente sind die Suchergebnisse doch mehr als unbefriedigend.

Bestes Beispiel ist wohl, wenn man mit Yacy einmal nach Yacy selbst sucht. Wie man sieht, findet sich in den Ergebnissen auf den obersten Plätzen kein einziger Verweis auf die Projektseite.

Yacy - Suchergebnisse

Yacy - Suchergebnisse

Meine bisherigen Erfahrungen haben gezeigt, dass Suchen mit mehreren Wörtern nie zu passenden Ergebnissen führen. Selbst bei Suchen mit nur einem einzigen Stichwort sind die Ergebnisse ebenfalls meist unbrauchbar.

Gut finde ich hingegen, dass sich die Suchergebnisse z.B. nach Autor einschränken lassen. Diese Funktion hat keine der anderen großen Suchmaschinen.

Die nach dem Absenden einer Suchanfrage auftretende Wartezeit ist systembedingt und nicht vermeidbar, da im Hintergrund ja erst einmal mit anderen Peers kommuniziert werden muss.

Sicherheit

Die Maintainer des Projekts sind sich dessen bewusst, dass Yacy in der Standardinstallation Benutzernamen und Passwort für die Admin-Seiten unverschlüsselt überträgt. Die englische Seite im Wiki zu Sicherheit enthält Informationen, wie man die Authentifizierung auf Digest-basierend umschaltet, die deutsche Seite im Wiki zum Thema Sicherheit ist größtenteils leer. Eine andere Seite im Wiki erklärt, wie man eigene Zertifikate einbindet. Durch einen Bug in der aktuellen Version funktioniert das aber nur ein einziges Mal. Nach dem Neustart des Serverprozesses ist HTTPS wieder deaktiviert. Einzige Möglichkeit bleibt im Moment die oben schon beschriebene Absicherung der Admin-Seite mit einem Reverse-Proxy.

Leider sind nirgendwo Informationen darüber zu finden, wie genau die einzelnen Peers miteinander kommunizieren. Zum Glück gibt es ja aber tcpdump. Und das offenbart Schreckliches: alle meine Suchanfragen werden per POST-Request unverschlüsselt an andere Peers übertragen. Das konterkariert natürlich die Absicherung der Weboberfläche. Auf der einen Seite schicke ich vom Browser meine Suchanfrage per HTTPS an Yacy, welches dann meine Suchworte unverschlüsselt durchs Netz versendet.

An dieser Stelle habe ich aufgehört, Yacy zu benutzen. Die Suchmaschine selbst werde ich weiterlaufen lassen und mit meinen Crawls zum Suchindex beitragen. Allein in der jetzigen Version (1.92) ist die Suchmaschine schon aus Privacy-Gründen nicht verwendbar.

Debian  Linux  OSS  Yacy 

Siehe auch