Was ist Rate Limiting? | Rate Limiting und Bots

Rate Limiting blockiert Benutzer, Bots oder Anwendungen, die eine Website überbeanspruchen oder missbrauchen. Rate Limiting kann bestimmte Arten von Bot-Angriffen stoppen.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Wofür braucht man Rate Limiting?
  • Wie funktioniert Rate Limiting?
  • Wie wird Rate Limiting angewandt?
  • Was ist der Unterschied zwischen Rate Limiting und anderen Arten von Bot-Management?

Ähnliche Inhalte


Möchten Sie noch mehr erfahren?

Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!

Lesen Sie die Cloudflare Datenschutzrichtlinie, um zu erfahren, wie wir Ihre persönlichen Daten sammeln und verarbeiten.

Link zum Artikel kopieren

Was ist Rate Limiting?

Durchsatzbegrenzung auf Geschwindigkeitsbegrenzungsschild neben der Straße – 75 Anfragen pro Minute

Durchsatzbegrenzung ist eine Strategie zur Begrenzung des Netzwerk-Traffics. Damit wird festgelegt, wie oft jemand eine Aktion innerhalb eines bestimmten Zeitraums wiederholen kann, z. B. um sich bei einem Konto anzumelden. Durchsatzbegrenzung kann dazu beitragen, bestimmte Arten von böswilligen Bot-Aktivitäten zu stoppen. Es kann auch die Belastung von Webservern verringern. Allerdings ist Durchsatzbegrenzung keine vollständige Lösung für den Umgang mit Bot-Aktivität.

Welche Arten von Bot-Angriffen werden durch Rate Limiting gestoppt?

Durchsatzbegrenzung wird häufig angewendet, um zu verhindern, dass böswillige Bots eine Website oder Anwendung negativ beeinflussen. Durchsatzbegrenzung hilft bei der Bekämpfung folgender Angriffe:

Rate Limiting schützt auch vor API-Überbeanspruchung, die nicht unbedingt böswillig oder auf Bot-Aktivitäten zurückzuführen ist, aber dennoch verhindert werden sollte.

Wie funktioniert Rate Limiting?

Durchsatzbegrenzung wird in einer Anwendung ausgeführt, anstatt auf dem Webserver selbst. In der Regel basiert Durchsatzbegrenzung darin, IP-Adressen zu verfolgen, die Anfragen versenden, und zu beobachten, wie viel Zeit zwischen den Anfragen vergeht. Die IP-Adresse ist das wichtigste Instrument, mit der eine Anwendung identifizieren kann, wer oder was die Anfrage stellt.

Eine Rate-Limiting-Lösung misst die Zeitspanne zwischen jeder Anfrage von jeder IP-Adresse und auch die Anzahl der Anfragen innerhalb eines bestimmten Zeitrahmens. Wenn innerhalb des angegebenen Zeitrahmens zu viele Anfragen von einer einzelnen IP-Adresse eingehen, wird die Rate-Limiting-Lösung die Anfragen der IP-Adresse für einen bestimmten Zeitraum nicht erfüllen.

Im Wesentlichen sagt eine Anwendung mit Rate Limiting zu eindeutigen Benutzern, die Anfragen zu schnell stellen: „Hey, mach mal langsam“. Also ganz so als würde die Polizei, einen Autofahrer wegen Geschwindigkeitsüberschreitung anhalten oder als würden die Eltern ihr Kind ermahnen, nicht allzu viele Süßigkeiten auf einmal zu essen.

Was ist eine IP-Adresse?

Eine IP-Adresse ist die eindeutige numerische (oder in IPv6 alphanumerische) Kennung, die jedem internetfähigen Gerät zugewiesen wird. Für seine gesamte Onlinezeit hat ein Gerät seine eigene IP-Adresse. Wie mit richtigen Straße oder eine Telefonnummern können Geräte mithilfe ihrer IP-Adressen Nachrichten hin und her senden. Eine herkömmliche Adresse (IPv4) sieht folgendermaßen aus: 198.41.129.1

Für Benutzergeräte sind IP-Adressen normalerweise nicht permanent, da in IPv4 nicht genügend IP-Adressen für alle vorhanden sind. Stattdessen weist der Internet Service Provider (ISP) des Benutzers Adressen dynamisch zu, wenn Geräte eine Verbindung zum Internet herstellen.

Eine Rate-Limiting-Lösung kann eine IP-Adresse als Grundlage verwenden, um zu bestimmen, welche Geräte zu viele Anfragen auf einmal stellen und vorübergehend blockiert werden sollten.

Wie funktioniert Rate Limiting bei Benutzer-Logins?

Benutzer können aus ihrem Konto ausgesperrt werden, wenn sie in kurzer Zeit zu viele erfolglose Anmeldeversuche unternehmen. Dieser Fall tritt auf, wenn eine Website Rate Limiting verwendet.

Diese Vorsichtsmaßnahme dient nicht dazu, Benutzer zu ärgern, wenn sie ihre Passwörter vergessen haben. Sie blockiert Brute-Force-Angriffe, bei denen ein Bot Tausende verschiedener Passwörter ausprobiert, um das richtige zu erraten und in das Konto einzubrechen. Wenn ein Bot nur drei oder vier Anmeldeversuche pro Stunde ausführen kann, ist der Erfolg eines solchen Angriffs statistisch unwahrscheinlich.

Rate Limiting auf einer Anmeldeseite kann auf Grundlage der IP-Adresse des Benutzers oder auf Grundlage seines Benutzernamens angewendet werden. Idealerweise handelt es sich um eine Kombination aus beidem, weil:

  • Wenn Durchsatzbegrenzung nur auf die IP-Adresse angewendet wird, können Brute-Force-Angreifer diesen Umstand umgehen, indem sie versuchen, sich von mehreren IP-Adressen aus anzumelden (möglicherweise mithilfe eines Botnetzes).
  • Wenn Rate Limiting nur über den Benutzernamen erfolgt, kann jeder Angreifer mit einer Liste bekannter Benutzernamen eine Vielzahl häufig verwendeter Kennwörter mit diesen Benutzernamen ausprobieren und wird zumindest in einige Kontos erfolgreich einbrechen können – und das alles von nur einer IP-Adresse aus.

Da man Rate Limiting braucht, um diese Brute-Force-Angriffe zu verhindern, können Benutzer, die sich nicht an ihre Kennwörter erinnern können, zusammen mit böswilligen Bots von Rate Limiting betroffen sein. Benutzer sehen dann eine Meldung wie „Zu viele Anmeldeversuche“ und werden aufgefordert, es innerhalb eines bestimmten Zeitraums erneut zu versuchen, oder sie werden sogar darauf hingewiesen, dass sie vollständig aus ihrem Konto ausgesperrt wurden.

Wie funktioniert die Rate Limiting für APIs?

API oder Application Programming Interface sind dafür da, bestimmte Funktionen von einem Programm anzufragen. APIs sind für die meisten Benutzer unsichtbar, aber für die ordnungsgemäße Funktion von Anwendungen äußerst wichtig. Beispielsweise kann sich die Website eines Restaurants auf die API eines Tischreservierungsdienstes stützen, damit ihre Kunden online einen Tisch reservieren können. Eine E-Commerce-Plattform kann die API eines Versandunternehmens integrieren, um den Benutzern genaue Versandkosten anzuzeigen.

Jedes Mal, wenn eine API auf eine Anfrage antwortet, muss der Eigentümer dieser API die Rechenzeit bezahlen: die Serverressourcen, die erforderlich sind, um den Code auszuführen und eine Antwort auf diese API-Anfrage zu erstellen. Im obigen Beispiel führt die API-Integration des Restaurants dazu, dass der Tischreservierungsdienst die Rechenzeit bezahlt, wenn ein Restaurantkunde eine Reservierung vornimmt.

Aus diesem Grund kann jede Anwendung oder jeder Dienst, der eine API für Entwickler anbietet, die Anzahl der API-Aufrufe durch jeden einzelnen Benutzer pro Stunde oder Tag einschränken. Auf diese Weise können Entwickler von Drittanbietern eine API nicht übermäßig verwenden.

Rate Limiting kann Entwickler auch dazu motivieren, mehr für die Nutzung der API zu zahlen: Oft können sie nur begrenzt viele API-Aufrufe tätigen, bevor sie mehr für den API-Dienst bezahlen.

Rate Limiting für APIs schützt auch vor böswilligen Bot-Angriffen. Ein Angreifer kann Bots verwenden, um so viele wiederholte Aufrufe an eine API zu tätigen, dass der Dienst für andere nicht verfügbar ist oder der Dienst insgesamt abstürzt. Dies ist eine Art DoS- oder DDoS-Angriff.

Wie nutzen Social Media-Plattformen wie Twitter und Instagram Rate Limiting?

Rate Limiting für Social-Media-Plattformen ist im Grunde nur API-Rate-Limiting. Jede Drittanbieteranwendung, die beispielsweise Twitter integriert, kann nur begrenzt oft pro Stunde aktualisieren, um nach neuen Tweets oder Nachrichten zu suchen. Instagram hat ähnliche Grenzen für Apps von Drittanbietern. Aus diesem Grund sehen Benutzer gelegentlich den Hinweis „Rate Limiting überschritten“.

Diese Grenzwerte gelten normalerweise nicht für Benutzer, die die Social Media-Plattform direkt nutzen.

Was ist der Unterschied zwischen Bot-Management und Rate Limiting?

Durchsatzbegrenzung ist ziemlich eindimensional: Es ist zwar nützlich, kann jedoch nur ganz bestimmte Arten von Bot-Aktivitäten stoppen. Darüber hinaus gilt Durchsatzbegrenzung nicht nur für Bots, sondern um die Verwendung allgemein zu beschränken. Die Durchsatzbegrenzung von Cloudflare schützt beispielsweise vor DDoS-Angriffen, API-Missbrauch und Brute-Force-Angriffen, bekämpft jedoch nicht unbedingt andere Formen böswilliger Bot-Aktivitäten und unterscheidet nicht zwischen guten und schlechten Bots.

Im Gegensatz dazu kann Bot-Management die Bot-Aktivität in der Regel ganzheitlich erkennen. Zum Beispiel identifiziert das Cloudflare Bot Management wahrscheinliche Bots mittels maschinellem Lernen und blockiert so eine größere Vielfalt von Bot-Angriffen (darunter Credential Stuffing, Spam Posting, Inventory Hoarding). Kleinere Unternehmen können böswillige Bots auch mit dem Super Bot Fight Mode blockieren. Der Super Bot Fight Mode ist in den Cloudflare Pro- und Business-Tarifen verfügbar.