Glossar · Sicherheit · Stand
Rate Limiting
Rate Limiting begrenzt, wie viele Anfragen innerhalb einer bestimmten Zeit zugelassen werden. Eine Regel bestimmt, was gezählt wird, für wen das Limit gilt und wie das System bei Überschreitung reagiert.
Interaktives Modell
Ein Vorrat für kurze Spitzen.
Ein Token-Bucket erlaubt einen begrenzten Ansturm. Ist der Vorrat verbraucht, wird die nächste Anfrage vorläufig abgewiesen.
Drei FreigabenBeispiel für ein Konto
Client
Begrenzung
API
Vereinfachtes Token-Bucket-Beispiel mit Kapazität drei. Vorrat, Auffüllrate und Geltungsbereich sind frei gewählte Modellwerte. Eine HTTP-429-Antwort kann mit Retry-After eine Wartezeit nennen. Die Animation zeigt weder reale Grenzwerte noch Live-Verkehr.
Grenzen brauchen einen Bezug
Ein Limit kann je Konto, API-Schlüssel, IP-Adresse oder für einen bestimmten Pfad gelten. Diese Auswahl ist ebenso wichtig wie die Zahl. Viele Menschen können dieselbe öffentliche IP-Adresse nutzen; ein einzelner Akteur kann umgekehrt viele Adressen verwenden.
Außerdem zählt das Verfahren: Ein festes Zeitfenster verhält sich an seiner Grenze anders als ein gleitendes Fenster. Ein Token-Bucket lässt einen begrenzten Vorrat für kurze Lastspitzen zu. Zwei Regeln mit derselben Minutenangabe können deshalb unterschiedlich wirken.
Ein Beispiel für eine API
Eine beispielhafte Berichtsschnittstelle erlaubt einem Konto zehn neue Berechnungen pro Minute. Weitere Anfragen werden vorläufig abgewiesen. Das Limit schützt die aufwendige Berechnung; ein einfacher Abruf eines fertigen Berichts kann eine andere Grenze haben.
HTTP sieht für zu viele Anfragen den Status
429 Too Many Requests vor. Mit Retry-After kann der
Server einen Zeitpunkt oder eine Wartezeit nennen. Ein Client sollte diese
Information beachten und Wiederholungen verteilen, statt sofort eine neue Welle
auszulösen.
Was das Limit nicht ersetzt
Eine Ratenbegrenzung unterscheidet zunächst nach Menge und Regel. Sie ersetzt keine Prüfung der Berechtigungen und keine inhaltliche Sicherheitsprüfung durch eine WAF. Ein langsamer Missbrauch kann unter einem Mengenlimit bleiben.
Auch bei verteilten Systemen muss der Geltungsbereich klar sein. Eine Grenze je Knoten ist nicht automatisch dieselbe Grenze für das ganze Netz. Für die Auswahl zählen deshalb sowohl das gewünschte Nutzerverhalten als auch die Stelle, an der eine Anfrage teuer wird.
Häufige Fragen
Ist Rate Limiting gleich DDoS-Schutz?
Nein. Es kann ein Baustein sein. Ein Angriff, der bereits die Netzverbindung überlastet, braucht Schutz an einer anderen Stelle als ein teurer API-Aufruf.
Ist 429 ein dauerhafter Zugriffsverlust?
Nein. Der Status beschreibt eine Begrenzung der Anfragerate. Dauer und Umfang hängen von der Regel und der Antwort des Dienstes ab.