Springe zum Inhalt

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

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

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

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.

15 thoughts on “Kommentar: Yacy? Eher nicht.

  1. TmoWizard

    Hallöchen Jens,

    das ist ja mal witzig: Einen Tag vor dir habe ich ebenfalls nach ~ 3 Monaten einen "Erfahrungsbericht" über meinen YaCy-Peer geschrieben! ;-)

    Das mit den Suchergebnis ist so, daß man öfter mal auf "Erneut suchen" klicken sollte, damit man eventuell ein besseres Ergebnis bekommt. Sehr merkwürdiges Verhalten von YaCy, funktioniert aber irgendwie.

    Was ich nicht verstehe ist dein Problem mit HTTPS, bei mir funktioniert es jedenfalls ohne Probleme. Unter "/Network.html?page=1&maxCount=1000" sieht man die Peers mit Verschlüsselung, das sind die mit dem Schloß hinter dem Namen. Dein "deep-horizon" ist im Gegensatz zu meinem "tmoyacy" tatsächlich nicht verschlüsselt!

    Das zeigt mir übrigens ebenfalls tcpdump an, HTTPS funktioniert bei mir also! Da stellt sich also die Frage, was bei dir bzw. deinem YaCy schief läuft. Ist das wie bei mir ein SSH-Server?

    Ich verwende YaCy trotz der schlechten Suchergebnisse, allerdings wie schon immer nicht ausschließlich. Vor allem für die Recherche zu einem neuen Artikel ist es sowieso immer besser, wenn man mehrere Suchmaschinen verwendet.

    Was ich übrigens zumindest Gedanklich auch immer wieder bemängele ist die veraltete Wiki von YaCy, aber auch das Forum. Es ist wirklich traurig, das hier so wenig geschieht! :-(

    Grüße nun aus TmoWizard's Castle zu Augsburg

    Mike

    1. Jens Tautenhahn

      Genau Dein Post hat mich inspiriert, auch einmal über meine Erfahrungen mit Yacy zu schreiben ;)

      Hast Du Yacy aus den Sources installiert? Dann könnten die Probleme mit HTTPS bei mir evtl. am Debian-Paket liegen, welches ich verwendet habe. Wie gesagt: es funktioniert ein Mal (dann steht mein Peer auch mit einem Schloß in der Übersicht), ab dem zweiten Start ist es wieder kaputt.

      Was ich aber ganz sicher sagen kann ist, dass das Schloß in der Übersicht der anderen Peers nur bedeutet, dass die Webseite auch per HTTPS zugänglich ist. Die Kommunikation der Peers untereinander erfolgt jedoch immer unverschlüsselt, was zur Folge hat, dass die Suchbegriffe zwischen den Peers mitgelesen werden könnten.

      1. TmoWizard

        Hallo Jens!

        "Genau Dein Post hat mich inspiriert, auch einmal über meine Erfahrungen mit Yacy zu schreiben ;) "

        Öhm... Da hab ich eigentlich auch zu meinem entsprechenden Tutorial verlinkt! Aber hier mal der Link dazu, fasl das bei deinem Blog funktioniert:

        http://tmowizard.square7.ch/wordpress/2017/04/20/p2p-tutorial-yacy-und-https-die-sichere-suchmaschine/

        "Die Kommunikation der Peers untereinander erfolgt jedoch immer unverschlüsselt, was zur Folge hat, dass die Suchbegriffe zwischen den Peers mitgelesen werden könnten."

        Ich habe das jetzt nochmal mit tcpdump geprüft und nun verstehe ich das auch besser, die unverschlüsselte Suche kommt durch die anderen unverschlüsselten Peers! Klar, wenn ein Peer unverschlüsselt ist, dann kann ihn natürlich auch ein anderer Peer nur unverschlüsselt erreichen!

        Das ist natürlich ein Problem, welches mir irgendwie auch nicht besonders gefällt. :-( Was bringt mir eine "sichere" 6nd dezentrale Suchmaschine, wenn ein Großteil der anderen Teilnehmer keine Verschlüsselung verwenden?

        Ich werde das mal im Forum ansprechen, denn das halte ich für ein extremst wichtiges Thema! Auch werde ich dazu mein Tutorial erweitern, wobei dort sowieso noch einige Screenshots hinzugefügt werden.

        Viele Grüße nun aus Augsburg

        Mike

        1. Jens Tautenhahn

          Vielleicht habe ich mich da noch unklar ausgedrückt: die Kommunikation zwischen den Peers erfolgt immer unverschlüsselt! Egal, ob in der Peerliste ein Schloss dran steht oder nicht. Starte doch mal ein tcpdump -s 0 -A 'host 89.179.240.226' (das ist PANDORA1, der zweitgrößte Peer und mit einem Schloss) und suche dann etwas über Dein Yacy. Bingo!

          1. TmoWizard

            Hi Jens!

            "Starte doch mal ein tcpdump -s 0 -A 'host 89.179.240.226' (das ist PANDORA1, der zweitgrößte Peer und mit einem Schloss) und suche dann etwas über Dein Yacy."

            Nach nun beinahe 5 Stunden habe ich diesen Versuch abgebrochen, es geschah einfach gar nichts! :-O Ich war hierbei über PuTTY mit meinem Server verbunden, könnte das aber auch direkt machen, da der "Server" je direkt neben mir steht.

            Wie schon oben geschrieben kommt es hier also wohl wirklich darauf an, welche Möglichkeiten die einzelnen Peers bieten. Zwei verschlüsselte Peers scheinen aber aller Wahrscheinlichkeit nach auch verschlüsselt die Daten zu übertragen, wobei unverschlüsselt eigentlich auch kein Problem sein sollte.

            Es werden bei einer Suche soweit mir bekannt ja nur die Hashwerte übertragen, nicht aber der Suchbegriff selbst oder sowas, Stichwort --> DHT. Ich mache mir da bis jetzt also mal keine Gedanken, bei anderen Suchmaschinen werden schließlich noch viel mehr Daten übertragen!

            1. Jens Tautenhahn

              Ok, dann führten Deine Suchbegriffe nicht dazu, dass PANDORA1 befragt wurde.

              Auf "aller Wahrscheinlichkeit nach" vertraue ich eher weniger. Ich habe jetzt extra nocheinmal HTTPS repariert (siehe das Schloss an meinem Peer) und nochmal nachgesehen, wie sich dann die Peers unterhalten. Immer noch unverschlüsselt. Ok, mit einem hast Du recht: Suchbegriffe werden nur als Hash übermittelt (DHT). Ergebnisse kommen von den anderen Peers (egal mit Schloss oder ohne) jedoch nur simpel base64-kodiert. Und wie gesagt, das alles im Klartext.

              Aber egal, es ging mir ja nicht darum, hier Hilfe bei der Installation oder andere Problemlösungen zu finden. Dafür ist das Yacy-Forum da. Ich wollte einfach nur über meine persönlichen Erfahrungen mit Yacy berichten und meine eigene Meinung zu dem Projekt auszudrücken.

              Ich wünsche Yacy viel Erfolg! Hoffentlich findet das Projekt noch ein paar Unterstützer.

              1. TmoWizard

                Guten Morgen Jens,

                was ist denn jetzt passiert? Dein Peer ist online und verschlüsselt, funktioniert es jetzt etwa doch? Dann möchte ich dir dazu herzlichst gratulieren!

                1. Jens Tautenhahn

                  Danke. Wie schon mehrfach gesagt, nur bis zum nächsten Neustart des Peers.

  2. MM

    Sehr schöner Artikel, viele Infos und Daten :-)

    Bei mir ist es leider auch so, dass ich zwar Yacy alle paar Jahre mal wieder anfasse, aber es mir zum einen zu umständlich in der Nutzung (Qualität Suchergebnisse wie ranking, Personalisierung der Präferenzen, ...) und der Administration (Ressourcenhunger, Wartung, einfache Personalisierung und Sicherung der eigenen Arbeit, ...).

    1. TmoWizard

      Hallo MM oder wie auf meinem Castle MaM!

      Wie lange liefen eigentlich deine Versuche mit YaCy und was meinst Du mit "Resourcenhunger"? Ein entsprechender Index braucht nun mal Platz, das habe ich dir aber auf meinem Blog schon geschrieben! Mein YaCy läuft wie mehrmals erwähnt auf einem beinahe 11 Jahre alten AMD64, das ist in der heutigen Zeit ja wohl wirklich nichts besonderes mehr.

      Daß eine Suchmaschine nicht so einfach zu handhaben ist wie z. B. ein Browser sollte auch jedem einleuchten, der sich mal ein bißchen näher mit der Materie befaßt hat.

      Und noch einmal die Frage an dich:

      Woher sollen denn die Suchergebnisse kommen, wenn keiner bei YaCy mitmacht?

      Grüße nun aus Augsburg

      Mike, TmoWizard

  3. Martin

    YaCy habe ich auch nach einem kurzen Test wieder fallen lassen.
    Ich habe es auch einfach nicht hinbekommen https zu aktivieren. Da ich auch das Debianpaket genutzt habe kann es gut sein, dass es daran lag.

    1. TmoWizard

      Hallo Martin!

      Ich glaube nicht, daß es am Debianpaket liegt, da ich dieses ja selbst verwende:

      https://wiki.ubuntuusers.de/YaCy/#Fremdquelle

      Siehe auch mein in einem früheren Kommentar verlinkten Tutorial.

      Könnte das eventuell sein, daß es mit der verwendeten Distribution zu tun hat? Die Beschreibung in der Ubuntu-Wiki gilt ja nur für *buntu 14.04, mein "Server" läuft jedoch mit 16.04!

      Es könnte auch an der verwendeten Version von Java liegen, der "Erfinder" von YaCy (Michael "Orbiter" Christen) empfiehlt inzwischen ausdrücklich das auch von mir verwendete OpenJDK 8, deren Wiki ist hier nicht mehr aktuell! Sieht so aus, als ob ich denen mal unter die Arme greifen sollte...

      Grüße nun aus Augsburg

      Mike

      1. Martin

        Wollte mal wieder schauen ob ich YaCy diesmal mit Verschlüsselung zum laufen bekomme, aber es lässt sich trotz importierten keys nicht installieren, da scheinbar das Repo nicht signiert ist:

        W: GPG-Fehler: http://debian.yacy.net ./ Release: Die folgenden Signaturen waren ungültig: 8BD752501CB62448A30EA3EA1F968B3903D886E7
        E: The repository 'http://debian.yacy.net ./ Release' is not signed.
        N: Updating from such a repository can't be done securely, and is therefore disabled by default.
        N: See apt-secure(8) manpage for repository creation and user configuration details.

        Das fängt ja schon gut an. :-/

          1. Martin

            Ja, habe ich:

            gpg --keyring=/etc/apt/trusted.gpg --verify Release.gpg Release
            gpg: Signatur vom Fr 09 Jun 2017 14:40:23 CEST
            gpg: mittels RSA-Schlüssel 1F968B3903D886E7
            gpg: Korrekte Signatur von "Michael Peter Christen " [unbekannt]
            gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
            gpg: Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
            Haupt-Fingerabdruck = 8BD7 5250 1CB6 2448 A30E A3EA 1F96 8B39 03D8 86E7

            Aber wie du siehst wird Release als fehlerhaft signier angemängelt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.