Rate Limiting

  • Irina Dobler
  • Juni 11, 2025

Inhalt

Rate Limiting

Unter „Rate Limiting“, oder auch „Durchsatzbegrenzung“ oder „Ratenbegrenzung“, versteht man eine defensive Strategie zur Streuung des Netzwerkverkehrs. Dabei wird eine Obergrenze festgelegt, wie oft Benutzer oder Anwendungen eine Aktion innerhalb eines definierten Zeitfensters durchführen können.

Rate Limiting begrenzt demnach die Anzahl der Anfragen, die Webserver erreichen. Aus diesem Grund wird die Technik eingesetzt, um Webseiten oder Anwendungen vor unbeabsichtigter oder böswilliger Überlastung, beispielsweise durch Bots, zu schützen. 

Rate Limiting bei APIs 

APIs sind häufige Angriffspunkte, da sie oft öffentlich zugänglich sind und von einer Vielzahl von Clients und Anwendungen genutzt werden. Durch fehlerhafte Implementierungen oder böswillige Angriffe können APIs einer unkontrollierten Anfragelast ausgesetzt sein.

Eine Folge davon kann eine Beeinträchtigung weiter Nutzer sein, da einzelne Clients oder Anwendungen den Dienst monopolisieren. Daher spielt dies bei dem Schutz von APIs eine wichtige Rolle.  

Vorteile von Rate Limiting 

  • Schutz vor Missbrauch und Überlastung: Hilft dabei, Ressourcen zu verhindern, dass Ressourcen von einer Flut von Anfragen überlastet werden. Dabei wird nicht zwischen versehentlichen Anfragen oder böswilligen Angriffen unterschieden. 
  • Verfügbarkeit und Performance: Durch die Verhinderung, dass ein Akteur die Ressourcen eines Servers komplett in Anspruch nimmt, wird sichergestellt, dass der Dienst für Benutzer verfügbar bleibt. Durch die reduzierte Last auf die Server verbessert sich ebenfalls die Antwortzeit des Dienstes. 
  • Kostenkontrolle für API-Anbieter: Rate Limiting hilft dabei, die Rechenkosten zu kontrollieren, die durch die Beantwortung von API-Anfragen entstehen. 

Wie funktioniert Rate Limiting? 

Die Funktionsweise von Rate Limiting basiert auf der Verfolgung der Anfragen einer bestimmten Quelle innerhalb eines definierten Zeitraums. Im ersten Schritt wird diese Quelle identifiziert, sei es eine IP-Adresse, eine Benutzer-ID oder ein API-Schlüssel.

Anschließend wird die Anzahl der Anfragen, die von einer Quelle stammen, in dem festgelegten Zeitfenster gezählt. Überschreitet die Anzahl der Anfragen die konfigurierten Begrenzungen, wird eine Aktion ausgeführt, die die Anfrage ablehnt oder verzögert. 

Algorithmen 

Für die Implementierung von Rate Limiting können unterschiedliche Algorithmen genutzt werden. Der Token-Bucket-Algorithmus verwendet einen virtuellen Eimer, der mit einer bestimmten Anzahl von Tokens gefüllt ist. Für jede Anfrage, die eine Quelle an den Zielserver stellt, wird ein Token verbraucht. Der Eimer wird nach einem bestimmten Zeitraum wieder aufgefüllt, ist er aber vor Ablauf der Zeit leer, werden weitere Anfragen gestoppt.  

Vergleichbar damit ist der Leaky-Bucket-Algorithmus. Auch hier wird ein virtueller Eimer verwendet, nur dass dieser anstelle von Tokens, Anfragen sammelt. Da der Eimer in regelmäßigen Abständen ausläuft, sollte dieser durch normale Anfragen nicht komplett befüllt werden können. Tritt dieser Fall trotzdem ein, kommen weitere Anfragen nicht mehr durch. 

Bei dem Fixed-Window-Counter-Algorithmus werden feste Zeitfenster gesetzt und Zähler erfassen die Anzahl der Anfragen innerhalb dieser. Überschreitet die Anzahl der Anfragen, das definierte Limit, werden weitere Versuche abgelehnt, bis die Zeitfenster rum sind und die Zähler zurückgesetzt wurden. 

Bei dem Sliding-Window-Log-Algorithmus werden Anfragen mit einem Zeitstempel protokolliert und innerhalb eines kontinuierlich nach vorne gleitenden Zeitfensters gezählt. Erreicht die Anzahl der Zeitstempel die vordefinierte Anzahl, werden weitere Anfragen gestoppt. 

Eine Kombination der Fixed-Window und Sliding-Window-Log-Algorithmen ist der Sliding-Window-Counter-Algorithmus. Hierbei werden die Anfragen in fixen Zeitfenstern und in einem sich nach vorne bewegenden Zeitfenster gezählt. 

Rate Limiting und Benutzer-Logins 

Auch bei Benutzer-Logins wird Rate Limiting als Sicherheitsmaßnahme eingesetzt. Es dient dabei nicht nur dem Schutz der Infrastruktur, sondern auch dem Schutz der Endnutzer. Insbesondere sollen damit Brute-Force-Attacken entgegengewirkt werden, bei denen Angreifer systematisch unterschiedliche Passwortkombinationen ausprobieren, um sich unbefugten Zugang zu Benutzerkonten zu verschaffen.

Ebenfalls können mit Rate Limiting auch Credential-Stuffing-Angriffe, bei denen Kriminelle Kombinationen aus gestohlenen Nutzernamen und Passwörtern ausprobieren, um Zugang zu Konten zu erhalten. Durch eine Begrenzung der Anzahl der Login-Versuche innerhalb eines definierten Zeitfensters, werden solche Attacken erschwert und zeitgleich Systemressourcen vor Missbrauch geschützt.  

Allumfassende Cybersicherheit

Kontaktieren Sie unsere Experten und erfahren Sie, wie Ihr Geschäft mit einer automatisierten Sicherheitslösung geschützt werden kann.

Rate Limiting vs. Drosselung 

Die Begriffe werden gerne synonym verwendet, jedoch funktioniert die Drosselung anders. Bei einer Drosselung werden Anfragen nicht direkt abgelehnt, sondern verzögert, um die Last auf die Server zu reduzieren. 

Die Grenzen von Rate Limiting 

Rate Limiting ist zwar effektiv gegen bestimmte Arten von Angriffen, aber es ist kein Allheilmittel. Es sollte in Kombination mit weiteren Sicherheitsmaßnahmen, wie beispielsweise einer Web Application Firewall (WAF) eingesetzt werden, um einen umfassenden Schutz zu gewährleisten. 

Fazit 

Wie ein Türsteher, der den Einlass auf eine bestimmte Anzahl von Personen pro Stunde beschränkt, begrenzt Rate Limiting Anfragen auf eine bestimmte Anzahl pro gesetztem Zeitfenster. Daher ist Rate Limiting ein wichtiges Werkzeug für jeden, der eine Webseite, eine API oder einen anderen Online-Dienst betreibt. Es bietet einen wichtigen Schutz vor Missbrauch und Überlastung, wodurch die Dienste für den Endnutzer verfügbar sind und zuverlässig funktionieren. 

DDoS-Schutzspezialist Link11 gewinnt Partner in der Schweiz
Link11 Sonder-Report zu DDoS-Angreifer ZZb00t veröffentlicht
X