Rate-Limiting ist ein Sicherheitsmechanismus, der die Anzahl von Anfragen pro Zeiteinheit einschränkt, die ein Nutzer oder System an einen Server stellen darf. Ziel ist es, Missbrauch, Überlastung oder Angriffe (z. B. DDoS) zu verhindern und die Stabilität von Diensten sicherzustellen.

Wie funktioniert Rate-Limiting?

  • Ein Server zählt, wie viele Anfragen eine bestimmte IP-Adresse oder ein Nutzer innerhalb eines definierten Zeitfensters stellt
  • Wird ein Limit (z. B. 100 Anfragen pro Minute) überschritten, werden weitere Anfragen blockiert oder verzögert
  • Oft kombiniert mit Rückmeldungen wie HTTP 429 – Too Many Requests

Typische Einsatzbereiche

  • APIs: Schutz vor exzessiven automatisierten Zugriffen
  • Login-Formulare: Schutz vor Brute-Force-Angriffen
  • Kommentar- oder Nachrichtensysteme: Vermeidung von Spam
  • Webserver allgemein: Lastverteilung und Verhinderung von Überlast

Methoden des Rate-Limitings

  • Fixed Window: Zählt Anfragen in festen Zeitblöcken (z. B. pro Minute)
  • Sliding Window: Gleitende Zählung über einen kontinuierlichen Zeitraum
  • Token Bucket / Leaky Bucket: Algorithmen zur flexiblen und gleichmäßigen Verteilung

Vorteile

  • Schützt Ressourcen vor Überlastung
  • Erhöht die Systemsicherheit
  • Verhindert Missbrauch durch Bots oder Angreifer

Nachteile / Herausforderungen

  • Falsch konfigurierte Limits können legitime Nutzer behindern
  • Angreifer könnten versuchen, die Regeln zu umgehen (z. B. durch verteilte IPs)

Siehe auch