Alle Kollektionen
Sicherheit
User Agent Blocking
User Agent Blocking

Bei Raidboxes kannst du bestimmte User Agents komplett aussperren. Hier erklären wir, wie das User Agent Blocking funktioniert.

Niko Baumgartl avatar
Verfasst von Niko Baumgartl
Vor über einer Woche aktualisiert

Jeder Zugriff auf deine Webseite findet mit einem bestimmten User Agent statt. Dabei kann es vorkommen, dass unerwünschte Zugriffe auf deine Webseite sich über einen gemeinsamen oder ähnlichen User Agent identifizieren lassen. Besonders wenn diese Zugriffe von verschiedenen IP-Adressen stattfinden, ergibt es Sinn diese anhand des User Agents zu blockieren.



Was ist ein User Agent

Der User Agent wird vom Client als Teil des HTTP Headers bei der Anfrage an den Server übermittelt. Dabei werden dem Server Informationen über den verwendeten Browser, dessen Version und das Betriebssystem des Nutzers übermittelt.

Beispiele:

Allgemeiner Aufbau:
User-Agent: <product> / <product-version> <comment>

Aufbau eines Browser User Agents
User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>

Beispiel für einen Browser User Agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Beispiel für einen BOT User Agent:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)


Ausführlichere Informationen zur Syntax und weitere Beispiele findest du auch hier:

Warum sollten User Agents blockiert werden

Der Einsatz des User Agents Blockings macht primär dann Sinn, wenn es durch aggressives Bot-Crawling einzelner Bots zu einem hohen CPU-Load auf deiner Box kommt.

Diese lassen sich dann anhand des User Agents identifizieren und blockieren.

Dabei stellen die meisten Bots und Crawler keine Bedrohung für deine Seite dar, es gibt sogar Bots, die man in den meisten Fällen gerne auf seiner Webseite haben möchte, wie z.B. den Googlebot:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)


Manchmal kommt es jedoch vor, dass diese Bots eine unnatürlich hohe Anzahl an Abfragen erzeugen, da sie die gesamte Webseite mit sämtlichen existierenden URLs mit hoher Frequenz abrufen. In den meisten Fällen handelt es sich dabei um Crawler von verschiedenen SEO-Tools.

Diesen Bots und Crawlern kann man auch über die robots.txt Anweisungen geben, ob und auf welche Bereiche der Seite sie zugreifen dürfen. Allerdings handelt es sich dabei um weiche Direktiven, welche von den Crawlern nicht immer, oder nicht sofort, nach dem Hinterlegen befolgt werden.

Eine weitere Möglichkeit, unerwünschte Zugriffe auf deine Webseite zu blockieren, ist unser IP Blocking Feature. Im Falle der Bots und Crawler kommen die Zugriffe jedoch vorwiegend von vielen verschiedenen IP-Adressen, was es schwierig macht, diese anhand der IP-Adresse zu blockieren.

Wie lassen sich User Agents blockieren

Um bestimmte User Agents zu blockieren, gehe wie folgt vor:

  • Navigiere zunächst in die Einstellungen der betreffenden Box

  • Wähle nun links das Untermenü Sicherheit

  • Klicke hier auf den Punkt User Agent Blocking

  • Klicke auf den Button NEUER EINTRAG

Einen neuen User Agent Blocking Eintrag anlegen
  • Nun öffnet sich ein neues Modal, in dem der zu blockierende User Agent festgelegt wird:

  • USER AGENT NAME: Hier gibst du der Blocking-Regel einen Namen, anhand derer du sie später wieder erkennst. Dieser Name hat keine Auswirkungen auf die Funktion der jeweiligen Regel. Beispiel: Google Bot Mobile

  • ZEICHENKETTE: Hier wird die Zeichenkette eingetragen, anhand derer der zu blockierende User Agent erkannt wird.

  • MATCH MODE: Hier stellst du ein, mit welcher Methode die oben eingestellte Zeichenkette des User Agents erkannt werden soll:

  • Zeichenkette enthält vollständigen user agent string: Diese Methode wählst du, wenn die eingetragene Zeichenkette genau mit dem zu blockierenden User Agent übereinstimmt. Bei dieser Einstellung werden nur User Agents blockiert, welche exakt die oben verwendete Zeichenkette enthalten. (sog. Exact Match)

    Beispiel:

    M/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

  • Zeichenkette enthält nur einen Teil des user agent string: Diese Methode wählst du, wenn die eingetragene Zeichenkette nur einen Teils des User Agent Strings enthält. Bei dieser Einstellung werden alle User Agents blockiert, welche die oben verwendete Zeichenkette im Namen enthalten. (sog. Contains Match)

    Beispiel:

    Googlebot

  • Hast du alle Einstellungen hinterlegt, klicke auf SPEICHERN

  • Das Modal schließt sich und du siehst nun die Übersicht aller bislang erzeugten Einträge

  • Über den Button EINTRAG ERSTELLEN kannst du nun weitere Einträge hinzufügen

  • Über das Stiftsymbol kannst du Einträge bearbeiten

  • Über das Papierkorbsymbol kannst du Einträge löschen


Bitte beachte, dass jeder neue Eintrag und jede Änderung erst mit ca 1. Minute Verzögerung wirken.


FAQ - Häufig gestellte Fragen zum User Agent Blocking

Wie kann ich sehen, welche User Agents auf meine Seite zugreifen?

In den Access Logs der jeweiligen Box. Falls du dabei Unterstützung benötigst, melde dich bei uns im Support. Wir können dir eine Auswertung des Bot-Traffics der des aktuellen und gestrigen Tages zukommen lassen.

Mit welchem Statuscode antwortet der NGINX Server auf Anfragen geblockter User Agents?

Der Server antwortet mit dem 403 status code

Wie kann ich nachvollziehen, welche und wieviele Anfragen blockiert wurden?

In den Access Logs der jeweiligen Box. Hier kannst du nach Requests mit 403 Statuscode suchen.

Gibt es eine Importmöglichkeit langer Regellisten?
Nein, im Moment gibt es keine Importmöglichkeit.

Wie lange dauert es, bis eine neue Regel greift?

Wenige Sekunden bis zu einigen Minuten. In der Regel ca. 1 Minute.

Was gibt es beim Erstellen von Regeln zu beachten?

Blockiere keine Browser mit der Contains Match Methode, z.B. Mozilla, AppleWebKit, Chrome, Chromium, Gecko, etc. Auch solltest du keine Betriebssysteme mit der Contains Methode blockieren, z.B. Macintosh, iPhone, Windows NT, Linux, iPad, Linux, x11 oder Android.

Ist bei der Zeichenkette auf Groß- und Kleinschreibung zu achten?

Nein, beide Methoden sind "case-insensitive".

Ist es möglich, reguläre Ausdrücke (Regex) in der Zeichenkette zu verwenden?

Nein, das ist nicht möglich.

Hat dies Ihre Frage beantwortet?