WAFPlanet

Rate-Limiting

WAF-Funktionen

Quick Definition

Eine Technik zur Kontrolle der Rate von Anfragen, die ein Benutzer an eine Anwendung stellen kann, zum Schutz vor Missbrauch und Brute-Force-Angriffen.

Was ist Rate-Limiting?

Rate-Limiting ist eine Sicherheits- und Ressourcenmanagement-Technik, die kontrolliert, wie viele Anfragen ein Benutzer, eine IP-Adresse oder ein API-Schlüssel innerhalb eines bestimmten Zeitfensters stellen kann. Es ist unerlässlich zur Verhinderung von Missbrauch, zum Schutz gegen Brute-Force-Angriffe und zur Gewährleistung einer fairen Ressourcenverteilung.

Gängige Rate-Limiting-Strategien umfassen:

  • Festes Fenster: Einfache Zählung, die in festen Intervallen zurückgesetzt wird (z.B. 100 Anfragen pro Minute)
  • Gleitendes Fenster: Rollendes Zeitfenster für genauere Begrenzung
  • Token Bucket: Erlaubt Bursts bei Beibehaltung der durchschnittlichen Rate
  • Leaky Bucket: Verarbeitet Anfragen mit einer festen Rate, überschüssige werden in die Warteschlange gestellt

Rate-Limiting kann angewendet werden basierend auf:

  • IP-Adresse
  • Benutzerkonto oder API-Schlüssel
  • Endpunkt oder URL-Pfad
  • Anfrageattributen (Header, Cookies)

Beispiele

Ein Login-Endpunkt könnte ein Rate-Limit von 5 Versuchen pro Minute pro IP-Adresse haben. Nach 5 fehlgeschlagenen Anmeldeversuchen werden weitere Anfragen für den Rest der Minute blockiert, um Brute-Force-Passwortangriffe zu verhindern.

Häufig gestellte Fragen

Welcher HTTP-Statuscode sollte bei Rate-Limiting zurückgegeben werden?

Der Standard-HTTP-Statuscode für Rate-Limiting ist 429 (Too Many Requests). Die Antwort sollte einen Retry-After-Header enthalten, der angibt, wann der Client es erneut versuchen kann. Viele WAFs unterstützen auch benutzerdefinierte Antwortseiten oder Weiterleitungen.