Das Internet ist ein riesiges, sich ständig veränderndes Meer von Informationen. Eine wesentliche Rolle beim Durchsuchen und Sammeln dieser umfangreichen Daten spielt der Web Crawler, auch oft Bot genannt, ein automatisiertes Programm. Diese Bots surfen durchs Web, indexieren Informationen, sammeln Daten und bieten verschiedene Dienste an und sind somit ein wichtiger Bestandteil des Web-Ökosystems. Doch nicht alle Bots sind vorteilhaft für das Web. Manchmal gibt es auch schädliche Bots, die Websites schädigen oder ausgenutzt werden können.
In diesem Artikel werfen wir einen Blick auf die Arten und Merkmale bekannter Bots, die häufig im Web anzutreffen sind, erläutern, wie man nützliche Bots von schädlichen Bots unterscheidet und erkunden effektive Methoden zum Schutz von Websites vor schädlichen Bots.
Häufige bekannte Bots im Web (nützliche Bots)
Der Großteil des Web-Traffics wird von Bots erzeugt, nicht von Menschen. Die wichtigsten und nützlichsten Bots sind:
1. Suchmaschinenbots (Search Engine Bots)
Die häufigsten und bedeutendsten Bots. Sie durchsuchen Webseiten, sammeln Inhalte und fügen sie dem Suchmaschinenindex hinzu, um Benutzer bei der Informationssuche zu unterstützen.
-
Googlebot (Google): Der führende Web-Crawler von Google. Er durchsucht fast jede Seite im Web, um die Suchergebnisse zu aktualisieren und liefert Daten an Google-Dienste (Karten, Nachrichten usw.). Im
User-Agent
wird er alsGooglebot
oderMediapartners-Google
angezeigt. -
Bingbot (Microsoft Bing): Der Crawler der Bing-Suchmaschine von Microsoft. Im
User-Agent
wird er alsBingbot
angezeigt. -
Baidu Spider (Baidu): Der Crawler von Baidu, einer der führenden Suchmaschinen in China. Wenn Sie auf den chinesischen Markt abzielen, ist der Besuch von Baidu Spider auch wichtig. Im
User-Agent
wird er alsBaiduspider
angezeigt. -
Yandex Bot (Yandex): Der Crawler der wichtigen russischen Suchmaschine Yandex. Im
User-Agent
wird er alsYandexBot
angezeigt. -
Yeti (Naver): Der Hauptsuchmaschinen-Crawler von Naver in Südkorea. Er sammelt Suchergebnisse, die auf den koreanischen Markt zugeschnitten sind, und wird im
User-Agent
alsYeti
angezeigt.
2. Social Media Bots (Soziale Medien Bots)
Diese Bots werden verwendet, um eine Vorschau (Titel, Beschreibung, Bild) des Links zu erstellen, wenn dieser in sozialen Medien geteilt wird.
-
Facebook External Hit (Facebook): Holt sich Seiteninformationen, wenn ein Link auf Facebook geteilt wird. Im
User-Agent
wird er alsfacebookexternalhit
angezeigt. -
Twitterbot (Twitter/X): Generiert Linkvorschauen auf Twitter (X). Im
User-Agent
wird er alsTwitterbot
angezeigt. -
Slackbot (Slack): Erstellt Vorschauen, wenn Links auf Slack geteilt werden. Im
User-Agent
wird er alsSlackbot
angezeigt.
3. Monitoring/Analytics Bots (Überwachungs-Analyse Bots)
Diese Bots werden verwendet, um den Zustand, die Leistung und Sicherheitsanfälligkeiten von Webseiten zu überwachen oder zur Analyse des Traffics zu dienen.
-
UptimeRobot, Pingdom: Überwachen die Betriebszeit von Webseiten und senden Benachrichtigungen, wenn diese ausfallen.
-
Site Crawlers (Screaming Frog, Ahrefsbot, SemrushBot usw.): SEO-Tools analysieren Webseiten, um SEO-Verbesserungen zu finden oder Wettbewerbsanalysedaten zu sammeln. Der
User-Agent
enthält den Namen des jeweiligen Tools. -
Ahrefsbot (Ahrefs): Ahrefs ist einer der leistungsstärksten SEO-Analysecrawler und Ahrefsbot ist einer der aktivsten kommerziellen Crawler im Web. Er sammelt umfangreiche SEO-Daten, darunter Backlinks, Keyword-Rankings und organischen Traffic. Besonders zur Erstellung einer umfangreichen Backlink-Datenbank crawlt er das Internet sehr umfassend, weshalb er in den Serverprotokollen als einer der häufigsten Bots nach
Googlebot
auffällt. ImUser-Agent
wird er alsAhrefsBot
angezeigt.
Unterscheidung zwischen schädlichen und nützlichen Bots
Die Auswirkungen von Bot-Traffic auf eine Website hängen stark von den Zielen und dem Verhalten der Bots ab. Schädliche Bots können die Ressourcen einer Website erschöpfen, Daten stehlen oder Sicherheitsanfälligkeiten ausnutzen.
Merkmale nützlicher Bots
-
Beachtung von
robots.txt
: Die meisten nützlichen Bots respektieren dierobots.txt
-Datei der Website und folgen den dort festgelegten Regeln (Kollisionszulassungs-/Verboten, Crawling-Geschwindigkeit usw.). -
Normale Anfrage-Muster: Sie geben einen angemessenen Zeitabstand zwischen den Anfragen, um den Server nicht zu überlasten.
-
Formeller
User-Agent
: Sie verwenden eine klare und bekannteUser-Agent
-Zeichenfolge, die oft Informationen über den Besitzer des Bots enthält (z. B.Googlebot/2.1 (+http://www.google.com/bot.html)
). -
Echte IP-Adressen: Sie senden Anfragen aus dem tatsächlichen IP-Adressbereich des Bots-Besitzers. (z. B. verwendet Googlebot alle Google-eigenen IP-Adressen)
Merkmale schädlicher Bots
-
Missachtung von
robots.txt
: Versuchen, unbefugten Zugriff auf Bereiche zu erlangen, die nicht unerlaubt sind, indem sie dierobots.txt
-Datei ignorieren. -
Ungewöhnliche Anfrage-Muster: Wiederholte Anfragen in kurzer Zeit an bestimmte Seiten (Versuche eines DDoS-Angriffs), abnorm schnell Crawling-Geschwindigkeit usw. überlasten den Server.
-
Gefälschter
User-Agent
: Verschleiern sich durch Fälschung vonUser-Agent
nützlicher Bots (z. B. Googlebot) oder Verwendung von zufällig generiertenUser-Agent
. -
Unbekannte IP-Adressen: Verwenden von Proxy-Servern, VPNs oder Zombie-PCs, um die IP-Adressen zu verbergen oder häufig zu ändern.
-
Schädliche Aktivitäten:
-
Inhalts-Scraping: Unbefugtes Kopieren von Inhalten einer Website zur Veröffentlichung oder zum Wiederverkauf auf anderen Websites.
-
Inventar-Sniping: Schnelles Aufspüren von Produkten auf E-Commerce-Websites, um unter anderem mit Hamsterkäufen auszunutzen.
-
Credential Stuffing: Versuch des Logins mit gestohlenen Benutzerkontoinformationen auf anderen Websites.
-
Spam-Anmeldungen: Automatisches Registrieren von Spam-Inhalten in Foren oder Kommentarbereichen.
-
DDoS-Angriffe: Erzeugen von massiven Traffic, um Websites lahmzulegen.
-
Schwachstellen-Scanning: Automatisches Scannen bekannt gewordener Sicherheitsanfälligkeiten von Websites zur Auffindung von Angriffspunkten.
-
Effektive Methoden zur Blockierung schädlicher Bots
Schädliche Bots ignorieren Regeln wie robots.txt
und versuchen, sich als echte Benutzer auszugeben, um in Websites einzudringen. Daher müssen ihre abnormalen Verhaltensmuster erkannt und diese Anfragen gezielt blockiert werden, was fortgeschrittene Strategien erfordert.
1. IP-Adressen- und User-Agent
-basierte Blockierung (Eingeschränkte Anfangsabwehr)
Wenn bösartiger Traffic kontinuierlich von bestimmten IP-Adressen oder -Bereichen kommt oder offensichtlich schädliche User-Agent
-Zeichenfolgen verwendet werden, kann dies vorübergehend wirksam sein.
-
Webserver-Einstellungen (Apache, Nginx):
- Blockierung bestimmter IP-Adressen:
# Beispiel für Nginx
deny 192.168.1.100;
deny 10.0.0.0/8;
- **Blockierung schädlicher `User-Agent`:**
# Beispiel für Apache .htaccess
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "BadBotString|AnotherBadBot" [NC]
RewriteRule .* - [F,L] # Gibt 403 Forbidden zurück
Limitation: IP-Adressen können dynamisch sein oder leicht über Proxys, VPNs oder Tor-Netzwerke umgangen werden. Schädliche Bots können die IP fast unbegrenzt ändern, was bedeutet, dass IP-basiertes Blockieren lediglich einen zusätzlichen Verwaltungsaufwand schafft und keine langfristige Lösung darstellt. User-Agent
kann ebenfalls leicht gefälscht werden, sodass es schwierig ist, präzise schädliche Bots alleine mit dieser Methode zu stoppen.
2. Anfrageratenbegrenzung (Rate Limiting)
Wenn die Anzahl der Anfragen von einer bestimmten IP-Adresse, User-Agent
oder URL innerhalb kurzer Zeit abnorm ansteigt, können diese Anfragen begrenzt oder blockiert werden. Dies ist effektiv zur Verhinderung von DDoS-Angriffen oder übermäßigem Scraping.
- Webserver-Einstellungen (Beispiel Nginx):
# Innerhalb des Nginx http-Blocks
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=5r/s;
# Innerhalb des server oder location Blocks
location / {
limit_req zone=mylimit burst=10 nodelay; # Erlaubt 5 Anfragen pro Sekunde, bis zu 10 Anfragen im Burst
# ...
}
Schwierigkeit und Risiko: Die Ratenbegrenzung ist sehr nützlich, aber die Festlegung geeigneter Schwellenwerte ist sehr schwierig. Wenn sie zu streng festgelegt wird, kann dies den Verkehr regulärer Benutzer oder nützlicher Suchmaschinen-Bots einschränken und damit die Zugänglichkeit des Dienstes verringern. Wenn sie zu locker festgelegt wird, kann sie schädlichen Bots ermöglichen, ihre Ziele zu erreichen. Eine ständige Überwachung und Feinabstimmung sind erforderlich, basierend auf einem tiefen Verständnis der Dienstcharakteristika und des normalen Traffic-Musters.
3. Verhaltensbasierte Erkennung und Aufbau individueller Verteidigungssysteme (effektivste Strategie)
Dies ist die raffinierteste und effektivste Methode. Schädliche Bots können IP oder User-Agent
maskieren, aber ihr Verhaltensmuster auf der Website wird immer ungewöhnlich erscheinen. Es ist entscheidend, diese abnormalen Verhaltensweisen zu analysieren, um schädliche Bots zu identifizieren und ein Verteidigungssystem gegen diese Muster aufzubauen.
-
Die Bedeutung der Traffic-Überwachung und Protokollanalyse:
Die Protokolle des Webservers (Access Log) sind die wichtigste Datenquelle, um das Verhalten von Bots zu erkennen. Es ist unerlässlich, die Protokolle regelmäßig (mindestens einmal täglich) zu überprüfen und zu analysieren. Durch die Protokollanalyse können wir folgende abnormale Verhaltensweisen von bösartigen Bots identifizieren.
-
Ungewöhnliche Navigationspfade: Reihenfolge von Seiten, die Menschen normalerweise nicht aufrufen würden, abnorm schnelle Seitenwechsel, wiederholter Zugriff auf bestimmte Seiten.
-
Wiederholte Versuche bestimmter Aktionen: Wiederholtes fehlgeschlagenes Einloggen, Versuche, sich mit nicht existierenden Konten anzumelden, endloses Einreichen bestimmter Formulare, das Einnehmen von Plätzen in Reservierungssystemen mittels Makros.
-
Verdächtige URL-Anfragen: Wiederholte Versuche, bekannte Schwachstellenpfade (z. B.
/wp-admin/
,/phpmyadmin/
,.env
-Dateien usw.) aufzurufen, die auf der Website nicht existieren. -
Analyse von HTTP-Headers: Ungewöhnliche Kombinationen oder Reihenfolgen der HTTP-Header, fehlende Header usw.
-
-
Beispiel für das Muster von bösartigen Bots:
Es müssen spezifische Verhaltensmuster von bösartigen Bots festgestellt und auf dieser Grundlage Verteidigungslogik implementiert werden.
-
GET /cgi-bin/luci/;stok=.../shell?cmd=RCE
- Erklärung: Ein Versuch, die Remote-Code-Ausführungsanfälligkeit (RCE) des OpenWrt-Administrator-Panels auszunutzen. Es werden Schwachstellen in Linux-basierten Systemen, die hauptsächlich auf Routern oder eingebetteten Geräten verwendet werden, erkundet.
-
POST /wp-login.php
(wiederholte Anmeldeversuche)- Erklärung: Bruteforce-Angriffe oder Credential Stuffing Versuche auf das WordPress-Administrations-Panel.
-
GET /HNAP1/
- Erklärung: Ein Scan- und Angriffsversuch, der sich auf die HNAP1 (Home Network Administration Protocol) Schwachstelle konzentriert, die bei D-Link-Routern entdeckt wurde.
-
GET /boaform/admin/formLogin
- Erklärung: Ein Einbruchsversuch in das Administrator-Login-Panel des
Boa
-Webservers, der an alten Routern oder Webcams verwendet wird.
- Erklärung: Ein Einbruchsversuch in das Administrator-Login-Panel des
-
GET /.env
oderGET /.git/config
- Erklärung: Ein Versuch, sensible Informationen durch den Zugang zu
.env
-Dateien (Umgebungsvariablen) oder dem.git
-Verzeichnis abzuziehen.
- Erklärung: Ein Versuch, sensible Informationen durch den Zugang zu
Wenn solche Muster erkannt werden, können entsprechende Anfragen blockiert oder vorübergehend IPs auf die Blacklist gesetzt werden. Dies kann durch Middleware auf Serverseite (z. B. Django-Middleware) oder Webserver-Einstellungen (Nginx
map
-Modul, Apachemod_rewrite
usw.) implementiert werden. -
-
Überprüfung der JavaScript-Ausführung:
Die meisten schädlichen Bots können JavaScript nicht so perfekt ausführen wie ein echter Browser. Methoden zur Erkennung von Bots könnten die Überprüfung der Ausführung von verstecktem JavaScript (z. B. das Anstoßen eines Klicks auf ein bestimmtes DOM-Element), Canvas-Fingerprinting oder die Überprüfung von Browser-API-Aufrufen umfassen, welche dazu dienen, Clients zu blockieren, die JavaScript-Ausführung nicht erfolgreich sind.
4. Nutzung von Honeypots (Fallen)
Honeypots sind absichtlich angelegte „Fallen“, um schädliche Bots anzulocken und zu identifizieren. Diese Elemente bleiben normalen Benutzern unsichtbar, sind jedoch so gestaltet, dass automatisierte Bots sie erkunden oder darauf interagieren.
-
Funktionsweise:
-
Versteckte Links/Felder: Durch Verwendung von CSS (
display: none;
,visibility: hidden;
,height: 0;
usw.) oder durch dynamisch erzeugtes JavaScript werden Elemente geschaffen, die normalen Benutzern völlig unsichtbare Links oder Formularfelder darstellen. -
Leiten des Bot-Verhaltens: Menschen, die einen normalen Webbrowser verwenden, können diese Elemente nicht sehen und können dementsprechend nicht interagieren. Aber bösartige Bots, die alle Links oder Formulare auf der Webseite mechanisch parsen, entdecken dieses versteckte Element und versuchen, damit zu interagieren (z. B. Eingabe von Werten in ein verstecktes Formularfeld oder Klicken auf einen versteckten Link).
-
Identifizierung bösartiger Bots: Wenn Werte in versteckte Felder eingegeben werden oder Anfragen auf versteckte Links erfolgen, kann dies eindeutig als Handlung eines schädlichen Bots angesehen werden.
-
Automatische Blockierung: IP-Adressen oder Sitzungen, bei denen solches Verhalten festgestellt wird, werden unverzüglich auf die Blacklist gesetzt oder blockiert.
-
-
Implementierungsbeispiel:
<form action="/submit" method="post">
<label for="username">Benutzername:</label>
<input type="text" id="username" name="username">
<div style="position: absolute; left: -9999px;">
<label for="email_hp">Dieses Feld bitte leer lassen:</label>
<input type="text" id="email_hp" name="email_hp">
</div>
<label for="password">Passwort:</label>
<input type="password" id="password" name="password">
<button type="submit">Login</button>
</form>
Der Server betrachtet Anfragen mit Werten im `email_hp`-Feld als Bots und blockiert diese.
- Vorteil: Sie können schädliche Bots effektiv identifizieren, ohne die Benutzererfahrung zu beeinträchtigen. Die Implementierung ist relativ einfach und schwer zu fälschen.
5. Web Application Firewalls (WAF) und spezialisierte Bot-Management-Lösungen
Wenn Sie eine groß angelegte Website oder sensible Dienste betreiben, ist es am effektivsten, spezialisierte WAF-Lösungen (Cloudflare, AWS WAF, Sucuri usw.) oder Bot-Management-Lösungen (Cloudflare Bot Management, Akamai Bot Manager, PerimeterX usw.) zu verwenden. Solche Lösungen bieten:
-
Erweiterte Verhaltensanalysen: Nutzen maschinelles Lernen zur Echtzeitanalyse des Traffics, um feine Unterschiede im Verhalten zwischen Menschen und Bots zu erfassen.
-
Bedrohungsintelligenz: Identifiziert umfangreiche Bedrohungen unter Verwendung weltweiter Angriffsmuster und IP-Blacklist-Datenbanken.
-
Minimierung von Fehlblockierungen: Filtert schädliche Bots heraus, während Fehlblockierungen von nützlichen Bots und normalen Benutzern auf Basis ausgeklügelter Algorithmen minimiert werden.
-
Automatisierte Reaktionen: Blockiert automatisch erkannte bösartige Bots und bietet Herausforderungen zur Überprüfung an.
Fazit: Aktive und mehrschichtige Bot-Abwehrstrategien
Bösartige Bots entwickeln sich ständig weiter und versuchen, Websites anzugreifen. robots.txt
dient lediglich als Anleitung für ehrliche Bots und kann nicht als Schutzschild gegen Eindringlinge fungieren. Daher ist es für die Sicherheit und Stabilität von Websites unerlässlich, das Verhalten von Bots zu analysieren und zu identifizieren, um schädliche Bots selektiv zu blockieren, was eine aktive und mehrschichtige Abwehrstrategie erforderlich macht.
Durch die Analyse von Protokollen zur Identifizierung abnormaler Verhaltensmuster, das sorgfältige Festlegen von Anfrageratenbegrenzungen, die Installation von Fallen mittels Honeypots und gegebenenfalls den Einsatz spezialisierter Bot-Management-Lösungen oder WAF können Websites sicherer geschützt und gleichzeitig einer nahtlosen Interaktion mit nützlichen Bots ermöglicht werden, um den Benutzern einen reibungslosen Dienst zu bieten. Welche Bot-Bedrohungen sind auf Ihrer Website am anfälligsten? Es ist an der Zeit, über geeignete Abwehrstrategien nachzudenken.
Es sind keine Kommentare vorhanden.