Rate-Limiting

Mit Rate-Limiting den Datenverkehr kontrollieren und steuern.

25. Jun 20252 min Lesezeit

Rate-Limiting oder im deutschen Durchsatzbegrenzung ist eine Methode, um den Datenverkehr zu einem Dienst oder Server zu kontrollieren. Dies wird dadurch erreicht, indem man die Anzahl an Anfragen begrenzt, die innerhalb eines bestimmten Zeitrahmens gestellt werden können. Notwendig ist dieses Verfahren, um einen Ressourcenmissbrauch zu verhindern, eine faire Nutzung von Diensten sicherzustellen und um den Verkehrsfluss zu Webservern, APIs oder anderen Online-Diensten zu steuern.

Mittels Rate-Limiting lässt sich verhindern, dass Server aufgrund von zu vielen Anfragen wie sie bei DDoS-Angriffen erfolgen, überlastet und zum Absturz gebracht werden. Gleichzeitig werden Ausfallzeiten oder langsame Antwortzeiten verringert. Es lässt sich aber auch der Datenfluss steuern, was besonders wichtig ist bei APIs, die große Datenmengen verarbeiten und übertragen. Dadurch lassen sich die Daten gleichmäßig zwischen den Elementen der API verteilen und die Kosten steuern, um den Einsatz zu vieler Ressourcen zu verhindern.

Ausgeführt wird Rate-Limiting in einer Anwendung und nicht im Webserver selbst. Dabei wird beobachtet, wie viele Anfragen von jeder IP-Adresse gestellt werden und wie viel Zeit zwischen den Anfragen liegt. Bei zu vielen Anfragen innerhalb eines festgelegten Zeitfensters, werden diese entweder verzögert bearbeitet oder komplett blockiert. Angreifer haben es dadurch schwerer einen Server oder Dienst zu überwältigen.

Rate-Limiting hilft auch gegen Brute-Force-Attacken. Indem die Anmeldeversuche, die pro Stunde erfolgen können, begrenzt werden, sinkt statistisch gesehen die Wahrscheinlichkeit das ein Brute-Force-Angriff erfolgreich ist.