Rate-Limiting
Rate-Limiting ist eine Technik zur Steuerung des Datenverkehrs, die die Anzahl der Anfragen begrenzt, die ein Client innerhalb eines bestimmten Zeitraums an eine API, einen Webdienst oder Server senden darf.
Ausführliche Erklärung
Rate-Limiting funktioniert nach einem einfachen Prinzip: Für jeden Client wird festgelegt, wie viele Anfragen er in einem definierten Zeitfenster stellen darf – beispielsweise maximal 100 Anfragen pro Minute pro IP-Adresse. Wird dieses Limit überschritten, blockiert das System weitere Anfragen und gibt typischerweise eine HTTP-429-Fehlermeldung zurück. Die Identifikation der Clients erfolgt üblicherweise über IP-Adressen, API-Keys, User-IDs oder Tokens. Zur technischen Umsetzung kommen verschiedene Algorithmen zum Einsatz, darunter Token-Bucket-Verfahren, Leaky-Bucket-Verfahren sowie Fixed-Window- und Sliding-Window-Algorithmen.
Für Unternehmen ist Rate-Limiting aus mehreren Gründen relevant. Es schützt APIs und Webdienste vor Überlastung durch zu viele gleichzeitige Anfragen, verhindert Denial-of-Service-Angriffe und sichert faire Ressourcenverteilung zwischen allen Nutzern. Gerade bei kundenorientierten Diensten, Webshops oder Cloud-Anwendungen sorgt Rate-Limiting dafür, dass einzelne Nutzer oder automatisierte Bots nicht die gesamte Systemkapazität belegen. Zudem bietet es Schutz vor Brute-Force-Angriffen auf Login-Systeme, indem es die Anzahl fehlgeschlagener Anmeldeversuche pro Zeiteinheit begrenzt.
Die Implementierung erfordert eine sorgfältige Kalibrierung: Zu strikte Limits können legitime Nutzer behindern, während zu großzügige Schwellenwerte keinen ausreichenden Schutz bieten. Viele moderne Web-Frameworks und API-Gateways bringen bereits Rate-Limiting-Mechanismen mit, die sich konfigurieren lassen. Wichtig ist die Transparenz gegenüber API-Nutzern: Professionelle Dienste kommunizieren die aktuellen Limits über HTTP-Header und dokumentieren sie in der API-Dokumentation.
Rate-Limiting ist kein vollständiger Schutz gegen alle Angriffsformen, sondern Teil einer mehrschichtigen Sicherheitsstrategie. In Kombination mit Traffic-Filterung, IP-Blacklisting und spezialisierten DDoS-Schutzdiensten bildet es eine wirksame erste Verteidigungslinie für digitale Infrastrukturen.
Praxisbeispiel
Ein österreichischer Online-Händler mit 25 Mitarbeitern betreibt einen Webshop mit API-Schnittstelle für Partnersysteme. Nach mehreren Überlastungen durch automatisierte Preisabfragen implementiert das Unternehmen Rate-Limiting: Nicht-authentifizierte Nutzer dürfen maximal 60 Anfragen pro Minute stellen, registrierte Partner je nach Vertragsstufe zwischen 300 und 1.000 Anfragen. Seither bleiben die Ladezeiten stabil, und ein versehentlich falsch konfigurierter Partner-Bot kann den Shop nicht mehr lahmlegen.
Code-Beispiel
// Python/Flask Beispiel mit Flask-Limiter
from flask import Flask
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
app = Flask(__name__)
limiter = Limiter(
app=app,
key_func=get_remote_address,
default_limits=["200 per day", "50 per hour"]
)
@app.route("/api/products")
@limiter.limit("100 per minute")
def get_products():
return {"products": [...]}
# Bei Überschreitung: HTTP 429 Too Many Requests Quellen
- What is API Rate Limiting? Understanding Request Throttling and Best Practices - Postman
- Was ist Rate Limiting? Definition, Vorteile & Implementierung - Groenewold IT Solutions
- Cyberangriffe auf KMU: Reale Bedrohung & Schutzmaßnahmen - Proliance
- Rate Limiting: Eine Schlüsselverteidigung gegen DDoS-Angriffe - DataSunrise