Kategorien
WebTech

Fiese Bots, Crawler und sonstiges Getier

Darstellung der varnish ArchitekturDann und wann werden unsere Webserver von fiesem Getier genervt. Spam-Bots, durchgeknallte Crawler und Vulnerability Scanner fallen von Zeit zu Zeit über die Webseiten her und produzieren eine Menge unnötiger Requests und damit Last auf dem Maschinen. Sucht man danach im Web, so findet man eine Menge Anleitungen, wie man den auch bei uns genutzten Webserver Apache so konfiguriert, dass er diese Anfragen ausfiltert und abweist.

Das kann man so machen, ist aber meiner Meinung nach nicht der beste Weg, da noch immer die “böse Anfrage” direkt an den Webserver gerichtet ist und dieser sich trotzdem damit auseinandersetzen muss. Das wiederum bedeutet immer noch Last auf den Maschinen. Viel besser ist es, diese Art Anfragen gar nicht erst zum Webserver durchzulassen, sondern vorher abzufangen. Da wir den Webbeschleuniger varnish verwenden, ist das relativ einfach.

Jede Anfrage wird von varnish beantwortet. Dieser entscheidet, ob er eine zwischengespeicherte (gecachte) Version der Webseite hat, die er dem Anfragendem zurückgeben kann, oder ob er TYPO3 fragen muss, um eine aktuelle Version zu erhalten. Das ganze macht er mit einer atemberaubenden Geschwindigkeit, so dass wir ihm auch getrost noch weitere Aufgaben übertragen können. Nämlich die “bösen Anfragen” direkt zu verwerfen und gar nicht erst weiterzuleiten.

Das ganze geht nun mit folgendem Codeschnipsel:

if (
    req.http.user-agent == "^$"
    # UA enthält…
    || req.http.user-agent ~ "^boeserFinger"
    # UA ist exakt gleich…
    || req.http.user-agent ~ "WebVulnCrawl.blogspot.com/1.0 libwww-perl/5.803"
    ) {
      # Frei konfigurierbare Fehlermeldung, beispielsweise entsprechend
      # RFC 2324 (Hyper Text Coffee Pot Control Protocol, HTCPCP)
      return (synth(418,"I'm a teapot"));
    }

Erklärung:

Varnish prüft nun bei jedem eingehenden Request im HTTP Header ob dort ein bestimmter User-Agent (also eine Kennung, die der Anfragende mitsendet) vorhanden ist. Auf dieser Basis lässt er die Anfrage entweder zu oder verwirft diese. Näher beschriebene Zeilen des Codes wie folgt:

  • Zeile 2: Anfragen, die gar keinen User-Agent enthalten
  • Zeile 4: Anfragen, deren User-Agent mit boeserFinger beginnen
  • Zeile 6: Anfragen mit einem ganz bestimmten User-Agent

All diese Anfragen werden direkt durch varnish mit dem HTTP Status 418 beantwortet und damit verworfen. Das Ganze wird in die vcl_recv gepackt und schon sind wir die bösen Jungs los. Das ganze kann man natürlich relativ einfach erweitern und sich so vor fiesen Bots, Crawlern und sonstigem Getier ganz gut schützen.

Und ja, ich weiß, dass man den User-Agent sehr einfach manipulieren kann. Aber 95% der Skriptkiddies lassen sowas out of the Box laufen. Und um die anderen 5% müssen wir uns dann persönlich kümmern.

 

 

Kategorien
Allgemein

Versteckte Suchmaschine

oropax
Es ist laut im Maschinensaal…
decke_grosser_maschinensaal
… bei dem grade in der Decke installiert wird …

abgeklebte_hoeheneinheit
… deswegen Staubschutz vor der Suchmaschine



Die unter http://www.uni-wuppertal.de/suche erreichbare Suche ist tatsächlich ein Stück Hardware, das im uni-internen Maschinensaal installiert wurde. Sie sorgt für eine datenschutzkonforme Suche, ohne Daten nach Außen zu geben.

Kategorien
Allgemein

WordPress auf einem Root-Server der Uni

Wenn es bei der Einrichtung der Permalinks ständig zu 404-Meldungen kommt – und die .htaccess fehlerfrei ist, hilft ein

a2enmod rewrite

auf der Konsole. Kommt im echten Leben ja eher selten vor, dass auf einem Webspace ein triviales Modul erst aktiviert werden muss.

a(pache)2(version)en(able)mod(ule) rewrite

Kategorien
Allgemein

Sie haben Ihr Ziel erreicht – PIWIK im Einsatz

Bildschirmfoto 2016-08-09 um 15.56.03
PIWIK zeigt an, dass ein Ziel einmal während eines Besuchs erreicht wurde
Bildschirmfoto 2016-08-09 um 15.58.06
Nutzerinteraktionen an einer Seite
geringe_nachfrage
Realistische Nutzerzahlen

Das ZIM bietet für Seiten, die in der Domain uni-wuppertal.de gehostet sind, als ein Analyse-Tool PIWIK an.

Kategorien
Allgemein

Wenn die Kollegen gemeinsam in die Mensa gehen

cat_handy_mit_waermebildkamera_mensaessen_uni-wuppertal
Cat® S60 im Einsatz in der Mensa

Um schnell nachvollziehen zu können, welches (elektronische) Bauteil heiß läuft, ist eine Wärmebildkamera sehr hilfreich. Gut, wenn sie dann immer zur Hand ist und man sogar mit ihr telefonieren kann.