Linuchs: eingeschränkter Zugriff für Robots

Moin,

seit einiger Zeit lasse ich mir per Mail melden, wenn Programme länger als 3 sec laufen. Pro Tag waren das um die 20 Mails. Programme, die normalerweise 0,2 sec brauchten, liefen durchaus 30 sec.

Und immer enthielt der HTTP_USER_AGENT die drei Buchstaben bot, viele Meldungen erfolgten in derselben Minute.

Nun speichere ich den letzten Zugriff der Bots und prüfe, ob 3 sec seit dem letzten Besuch verstrichen sind. Wenn nein, wird der Besuch abgelehnt mit der Meldung

Zugriff zu schnell

Erfolg: In der letzten Nacht seit 23:00 kamen nur noch zwei Meldungen mit Durchlauf von etwas mehr als 3 sec. Von ahrefs.com und webmeup-crawler.com

Ich habe noch nirgendwo gelesen, dass sich jemand gegen den Beschuss von Bots wehrt. Bin ich da allein?

Seit gestern 15:30 bis jetzt sind 17 Std. vergangen. Es gab 23.118 Zugriffe, davon 6.733 abgelehnt.

Als "problematische Seite" die Zugriffsstatistik mit Nennung der Bots.

Gerne würde ich eure Meinung dazu lesen und Verbesserungen zur Bot-Kontrolle.

Gruß, Linuchs

  1. Gerne würde ich eure Meinung dazu lesen und Verbesserungen zur Bot-Kontrolle.

    Nicht jeder der sich bot nennt ist einer. GG

    1. Nicht jeder der sich bot nennt ist einer. GG

      Nun ja, wenn sich jemand Zeuge Jehovas nennt, muss er damit rechnen, höflich auf einen späteren Termin vertröstet zu werden. So nett bin ich auch zu echten oder falschen Bots.

    2. Gerne würde ich eure Meinung dazu lesen und Verbesserungen zur Bot-Kontrolle.

      Nicht jeder der sich bot nennt ist einer. GG

      [IP gelöscht, Anm. d. Redaktion] ist z.B. keiner! Das kannst Du mit jeder IP Addr selber prüfen. GG

      1. Gerne würde ich eure Meinung dazu lesen und Verbesserungen zur Bot-Kontrolle.

        Nicht jeder der sich bot nennt ist einer. GG

        [IP gelöscht, Anm. d. Redaktion] ist z.B. keiner! Das kannst Du mit jeder IP Addr selber prüfen. GG

        Also nimm Deine IP's und checke die mit gethostbyaddr, nslookup, dig oder einem ähnlichen Tool in DNS. Viel Erfolg!

      2. Nicht jeder der sich bot nennt ist einer. GG

        [IP gelöscht, Anm. d. Redaktion] ist z.B. keiner! Das kannst Du mit jeder IP Addr selber prüfen. GG

        Könnte man wenigstens die ersten beiden Zahlen stehen lassen? Jetzt weiss ich nicht mehr genau, worauf sich die Aussage bezieht.

        Der einzige 54.35.nnn.nnn feuert 5816 mal in 1101 Minuten. Ein menschlicher Irrer?

        1. Tach!

          Nicht jeder der sich bot nennt ist einer. GG

          Könnte man wenigstens die ersten beiden Zahlen stehen lassen? Jetzt weiss ich nicht mehr genau, worauf sich die Aussage bezieht.

          Ich halte das für irrelevant. Ob du ihn direkt anhand seiner Metadaten als Bot zu erkennen glaubst, oder das nachträglich über weitere Analysen, ist unerheblich. Jeder Client hat die Möglichkeit zumindest die Textdaten des Requests beliebig zu gestalten. Es kommt darauf an, dein System insgesamt zu schützen und nicht nur gegen die, die sich selbst als Bot bezeichnen.

          dedlfix.

        2. Nicht jeder der sich bot nennt ist einer. GG

          [IP gelöscht, Anm. d. Redaktion] ist z.B. keiner! Das kannst Du mit jeder IP Addr selber prüfen. GG

          Könnte man wenigstens die ersten beiden Zahlen stehen lassen? Jetzt weiss ich nicht mehr genau, worauf sich die Aussage bezieht.

          Der einzige 54.35.nnn.nnn feuert 5816 mal in 1101 Minuten. Ein menschlicher Irrer?

          Wohl eher ein irrer Bot 😉

          Soviele Klicks halten weder Mensch noch Maus aus.

      3. [IP gelöscht, Anm. d. Redaktion]

        Auch ich achte den Datenschutz natürlicher Personen und würde selbstverständlich nicht deren ip veröffentlichen.

        Doch gilt Datenschutz auch für Roboter? Sind das im juristischen Sinn "Personen", deren Daten schützenswert sind? Die greifen doch ihrerseits meine Daten ab und veröffentlichen sie.

        Und falls sich eine natürliche Person als Roboter ausgibt, verliert sie dann ihren Datenschutz?

        Kann mir vorstellen, dass das noch nicht ausgeklagt ist.

        Wer weiss was?

        1. Und falls sich eine natürliche Person als Roboter ausgibt, verliert sie dann ihren Datenschutz?

          Auf jeden Fall!!!

        2. Hallo Linuchs,

          Doch gilt Datenschutz auch für Roboter?

          unabhängig von der Frage, die du gestellt hast: dass das Bots sind ist eine reine Vermutung von dir.

          LG,
          CK

          1. unabhängig von der Frage, die du gestellt hast: dass das Bots sind ist eine reine Vermutung von dir.

            Nennen wir das mal Indiz, denn nahezu alle Programme, die deutlich ihre normale Laufzeit überschreiten, wurden von user_agents ausgelöst, die die drei Buchstaben bot enthalten.

            Deshalb halte ich es für berechtigt, diese genauer anzuschauen. Dabei stelle ich fest, dass bei manchen die ip der Aufrufe ständig wechselt. Vermutlich, um sich gegen das Aussperren zu verschleiern.

            1. Tach!

              Nennen wir das mal Indiz, denn nahezu alle Programme, die deutlich ihre normale Laufzeit überschreiten, wurden von user_agents ausgelöst, die die drei Buchstaben bot enthalten.

              Deshalb halte ich es für berechtigt, diese genauer anzuschauen.

              Ich halte das für eine Bekämpfung der Symptome. Aber gut, besser erstmal da anzusetzen, als gar nichts zu machen. Dein Ziel sollte aber sein, die eigentliche Ursache für die lange Laufzeit zu finden.

              Dabei stelle ich fest, dass bei manchen die ip der Aufrufe ständig wechselt. Vermutlich, um sich gegen das Aussperren zu verschleiern.

              Oder weil es nicht nur eine Maschine ist, sondern viele mit jeweils eigenen Adressen.

              dedlfix.

              1. Dabei stelle ich fest, dass bei manchen die ip der Aufrufe ständig wechselt. Vermutlich, um sich gegen das Aussperren zu verschleiern.

                Oder weil es nicht nur eine Maschine ist, sondern viele mit jeweils eigenen Adressen.

                Du meinst, von Menschen benutzte Browser enthalten die drei Buchstaben bot?

                Sind von den von mir erkannten Bots welche dabei?

                Naja, dann lesen die Menschen ja die Meldung Server überlastet, bitte Seite nach 3 sec erneut aufrufen

                Linuchs

                1. Tach!

                  Dabei stelle ich fest, dass bei manchen die ip der Aufrufe ständig wechselt. Vermutlich, um sich gegen das Aussperren zu verschleiern.

                  Oder weil es nicht nur eine Maschine ist, sondern viele mit jeweils eigenen Adressen.

                  Du meinst, von Menschen benutzte Browser enthalten die drei Buchstaben bot?

                  Das kann man nicht ausschließen, dass sich jemand einen solchen UserAgent-String einstellt. Aber ich meinte wirklich die Bots, die durchaus auch auf mehreren Maschinen laufen als lediglich auf einer einzigen.

                  Sind von den von mir erkannten Bots welche dabei?

                  Ich weiß nicht, wie konkret die Bots aufgebaut sind. Unwahrscheinlich ist jedoch, dass sie mit nur einer Kiste das gesamte Web duchzusuchen in der Lage sind.

                  Naja, dann lesen die Menschen ja die Meldung Server überlastet, bitte Seite nach 3 sec erneut aufrufen

                  Hoffentlich mit Statuscode "503 Service Unavailable", sonst hast du vielleicht auch bei gutmütigen/erwünschten Bots diesen Text im Suchergebnis stehen.

                  dedlfix.

                  1. Hallo dedlfix,

                    Hoffentlich mit Statuscode "503 Service Unavailable", sonst hast du vielleicht auch bei gutmütigen/erwünschten Bots diesen Text im Suchergebnis stehen.

                    Danke für den Tipp, habe ich eingebaut.

                    Linuchs

                    1. hi @Linuchs

                      Hoffentlich mit Statuscode "503 Service Unavailable", sonst hast du vielleicht auch bei gutmütigen/erwünschten Bots diesen Text im Suchergebnis stehen.

                      Danke für den Tipp, habe ich eingebaut.

                      Wenn Du was blockieren willst sende Status 403. Dieser Status hat den Vorteil daß Deine Seiten nicht aus dem Suchmaschinenindex fliegen. MFG

                      1. Tach!

                        Hoffentlich mit Statuscode "503 Service Unavailable", sonst hast du vielleicht auch bei gutmütigen/erwünschten Bots diesen Text im Suchergebnis stehen.

                        Danke für den Tipp, habe ich eingebaut.

                        Wenn Du was blockieren willst sende Status 403. Dieser Status hat den Vorteil daß Deine Seiten nicht aus dem Suchmaschinenindex fliegen.

                        403 ist Forbidden. Warum soll eine Suchmaschine etwas im Index behalten, wenn ihr mit Forbidden geantwortet wird? 503 ist jedoch für temporäre Unerreichbarkeit vorgesehen. Wenn man es richtig machen möchte, gibts sogar noch den Retry-After Header, mit dem man bekanntgeben kann, wann man es nochmal probieren kann.

                        dedlfix.

                        1. Tach!

                          Hoffentlich mit Statuscode "503 Service Unavailable", sonst hast du vielleicht auch bei gutmütigen/erwünschten Bots diesen Text im Suchergebnis stehen.

                          Danke für den Tipp, habe ich eingebaut.

                          Wenn Du was blockieren willst sende Status 403. Dieser Status hat den Vorteil daß Deine Seiten nicht aus dem Suchmaschinenindex fliegen.

                          403 ist Forbidden.

                          Korrekt! Und genau das ist der Zweck!

                          1. Hallo,

                            Korrekt! Und genau das ist der Zweck!

                            Bitte versuch zu verstehen, worum es hier geht. Linuchs möchte seine Seiten nicht verbieten.

                            Gruß
                            Kalk

                            1. Hallo,

                              Korrekt! Und genau das ist der Zweck!

                              Bitte versuch zu verstehen, worum es hier geht. Linuchs möchte seine Seiten nicht verbieten.

                              Richtig: Er möchte den Zugriff für Bots beschränken. Da er nicht genau weiß ob ein Bot vorliegt ist 403 genau richtig. Denn: Ist es ein richtiger Bot im Sinne einer Suchmaschine, sorgt dieser Status dafür daß die Seite nicht aus dem Index fliegt. Andernfalls entspricht dieser Status 403 genau dem Zweck welcher beabsichtigt ist. MFG

                              1. Ich sende

                                header("HTTP/1.0 503 Service Unavailable");

            2. Hallo Linuchs,

              Deshalb halte ich es für berechtigt, diese genauer anzuschauen.

              Du kannst sie soviel anschauen, wie du das für richtig hälst. Nur hier im Forum veröffentlichen und verlinken ist ein Problem 😀

              LG,
              CK

  2. Tach!

    Ich habe noch nirgendwo gelesen, dass sich jemand gegen den Beschuss von Bots wehrt. Bin ich da allein?

    Nein, es gibt auch einige Tools, die beim Sperren hilfreich sind. Die benötigen aber üblicherweise mit Rootzugang zum Einrichten ud Konfigurieren. Eins nennt sich Fail2Ban, das Logfiles auswerten kann und bei zu vielen Aufrufen mit bestimmten Merkmalen eine temporäre oder dauerhafte Sperre der IP in der Firewall vornimmt.

    Programme, die normalerweise 0,2 sec brauchten, liefen durchaus 30 sec.

    Kann es sein, dass in dem Fall eine ungewöhnliche Anfrage kommt, die dein Programm veranlasst, unnötig viel auszuführen und damit Laufzeit ansammelt und Last verursacht? Vielleicht kannst du ja an der Stelle untersuchen, was die machen und was man dagegen unternehmen kann.

    dedlfix.

    1. Moin dedlfix,

      ... und bei zu vielen Aufrufen mit bestimmten Merkmalen eine temporäre oder dauerhafte Sperre der IP in der Firewall vornimmt.

      Witzig, die ip wird ständig gewechselt, jedenfalls an der 4. Stelle. Deshalb zeige ich sie ja an, um bei neuem Programm-Aufruf p901 vergleichen zu können.

      Kann es sein, dass in dem Fall eine ungewöhnliche Anfrage kommt,

      Soweit ich bisher feststellen konnte: Nein. Leider fehlt mir die Kenntnis oder gar die technische Möglichkeit, gleichzeitig ausgeführte Aufrufe zu erkennen. Deshalb habe ich den Verdacht, dass es "Wartezeit" in der Schlange ist.

      Habe aber gerade eben den letzten zugelassenen request_uri pro Bot gespeichert und angezeigt, um die Art der Aufrufe nachvollziehen zu können.

      Die Forschung läuft.

      Linuchs

  3. Hallo Linuchs,

    du solltest die IP-Adressen löschen. Die zählen als personen-bezogenes Datum, die hier zu veröffentlichen ist… ungeschickt.

    Wenn du sie nicht innerhalb der nächsten 30 Minuten löschst, entferne ich deinen Link.

    LG,
    CK

    1. du solltest die IP-Adressen löschen. Die zählen als personen-bezogenes Datum, die hier zu veröffentlichen ist… ungeschickt.

      Wenn du sie nicht innerhalb der nächsten 30 Minuten löschst, entferne ich deinen Link.

      Kompromiss: Ich setze die 3. und 4. Zahl der ip in p901 auf visible:hidden und kann sie mit Klick per Javascript einblenden.

      Kann aber etwas dauern.

      1. Hallo Linuchs,

        du solltest die IP-Adressen löschen. Die zählen als personen-bezogenes Datum, die hier zu veröffentlichen ist… ungeschickt.

        Wenn du sie nicht innerhalb der nächsten 30 Minuten löschst, entferne ich deinen Link.

        Kompromiss: Ich setze die 3. und 4. Zahl der ip in p901 auf visible:hidden und kann sie mit Klick per Javascript einblenden.

        Tut mir leid, das ist keine geeignete Maßnahme. Die Information ist weiterhin veröffentlicht.

        LG,
        CK

        1. Kompromiss: Ich setze die 3. und 4. Zahl der ip in p901 auf visible:hidden und kann sie mit Klick per Javascript einblenden.

          Tut mir leid, das ist keine geeignete Maßnahme. Die Information ist weiterhin veröffentlicht.

          Okay, dann nimm den Link zur problematischen Seite raus und ich muss nicht tätig werden.

          Ist irgendwie blöde, über ein Problem zu diskutieren, das man nicht vollständig zeigen darf.

          Falls ich ein juristisches Problem erkenne, kann ich diese Seite für die Öffentlichkeit sperren. Nur Admins können sie dann aufrufen wie viele andere Programme auch.

          1. Tach!

            Ist irgendwie blöde, über ein Problem zu diskutieren, das man nicht vollständig zeigen darf.

            Die konkreten IP-Adressen sind dafür nicht relevant. Eventuelle Maßnahmen müssen mit allen Adressen zurechtkommen und können allgemeingültig oder mit Beispieladressen formuliert werden. (Dafür gibt es sogar den eigens reservierten Bereich 192.0.2.1/24, neben den drei bekannten Privatadressen-Bereichen.)

            Falls ich ein juristisches Problem erkenne, kann ich diese Seite für die Öffentlichkeit sperren. Nur Admins können sie dann aufrufen wie viele andere Programme auch.

            Das ist auf alle Fälle empfehlenswert. Interne Details gehen keinen Außenstehenden was an, egal ob rechtlich relevante Teile darunter sind oder nicht.

            dedlfix.

        2. Kompromiss: Ich setze die 3. und 4. Zahl der ip in p901 auf visible:hidden und kann sie mit Klick per Javascript einblenden.

          Tut mir leid, das ist keine geeignete Maßnahme. Die Information ist weiterhin veröffentlicht.

          Kannst du den Link bitte wieder einfügen?

          Die ip ist im Quellcode nicht mehr vorhanden und wird nur für Admins ausgeliefert. Diese Möglichkeit hatte ich vergessen.

          Diese Zeile ohne Kommentar bitte löschen: http://remso.eu/?zp=p901

          1. Hallo Linuchs,

            Kannst du den Link bitte wieder einfügen?

            😳 ich muss dafür jedes einzelne Posting editieren, die URL in das entsprechende Feld einfügen und speichern. Damit bin ich 10 Minuten zugange. Und ich bin auf der Arbeit! 😂

            Lieber wäre es mir, du packst deinen Link als Antwort an das OP.

            LG,
            CK

            1. 😳 ich muss dafür jedes einzelne Posting editieren, die URL in das entsprechende Feld einfügen und speichern. Damit bin ich 10 Minuten zugange. Und ich bin auf der Arbeit! 😂

              Lieber wäre es mir, du packst deinen Link als Antwort an das OP.

              Mache ich.

              Linuchs

  4. zu Christian Kruse 11.04.2019 10:47

    Kannst du den Link bitte wieder einfügen?

    😳 ich muss dafür jedes einzelne Posting editieren, die URL in das entsprechende Feld einfügen und speichern. Damit bin ich 10 Minuten zugange. Und ich bin auf der Arbeit! 😂

    Lieber wäre es mir, du packst deinen Link als Antwort an das OP.

    Da die "problematische Seite" ips jener user_agents mit bot im Namen hatte, wurde nach kurzer Diskussion der Link entfernt.

    Inzwischen liefere ich die ips für die Öffentlichkeit nicht mehr aus, auch nicht im Quellcode (nur noch für Admins).

    Hier also die "problematische Seite" ohne ips: http://remso.eu/?zp=p901

    Linuchs

  5. Nach knapp zwei Tagen mit dieser Bot-Information hat sich für mich folgendes herausgestellt:

    Pro 24 Std. habe ich um die 67.000 Zugriffe von Bots, davon 24.000 abgelehnte, weil schneller als nach 3 sec gefeuert.

    Meine drei inhaltlich gleichen Domains remso.de, remso.eu und remso.org werden natürlich von den Bots als unterschiedlich gesehen. Ich habe de und org nach eu umgeleitet:

    header("HTTP/1.1 301 Moved Permanently Location: http://remso.eu" . $_SERVER['REQUEST_URI'] );

    Die Programme (Seiten) sind mit zahlreichen variablen Parametern aufrufbar. Ich wundere mich, woher Bots ihre schrägen Parameter herbekommen, etwa einen Umkreis von 27 km um einen Ort oder 13 Positionen pro Seite. Da gibt es noch Korrekturbedarf.

    Bots sollten nur die Standard-Werte kennen. Also diese Parameter nicht nutzen.

    1. Pro 24 Std. habe ich um die 67.000 Zugriffe von Bots, davon 24.000 abgelehnte, weil schneller als nach 3 sec gefeuert.

      Das war ein Versehen, habe aufgrund last_modified nach 24 Std. gelöscht, aber dieser Zeitstempel wird bei Bots nie 24 Std. alt.

      header("HTTP/1.1 301 Moved Permanently Location: http://remso.eu" . $_SERVER['REQUEST_URI'] );

      Sehr erfolgreich, keine Zugriffe mehr auf die zwei anderen Domains.

      Die Zugriffssituation durch Bots hat sich sehr beruhigt. In den letzten 24 Std nur noch knapp 5000 Zugriffe, davon 832 abgelehnt.