Die Ratenbeschränkung schützt APIs vor Missbrauch, indem sie die Anzahl der Anfragen steuert, die ein Benutzer innerhalb eines bestimmten Zeitrahmens stellen kann. Dies geschieht, indem ein Schwellenwert für die maximale Anzahl von Anfragen festgelegt wird, die von einem einzelnen Benutzer (oder einer IP-Adresse) über einen bestimmten Zeitraum von Sekunden, Minuten oder Stunden zulässig sind. Die Ratenbeschränkung verhindert, dass Benutzer die API mit übermäßigen Anfragen fluten, die zu Leistungsproblemen oder Sicherheitslücken durch Denial-of-Service(DoS)-Angriffe, API-Scraping und mehr führen können.
Was ist Ratenbeschränkung?
Die Ratenbeschränkung ist ein Mechanismus, mit dem die Menge der Daten oder Anforderungen gesteuert wird, die innerhalb eines bestimmten Zeitraums zwischen zwei Systemen übertragen werden können. Sie hilft, Missbrauch zu verhindern, Systemressourcen zu schützen und eine faire Nutzung für alle Benutzer sicherzustellen. Durch die Implementierung von Ratenbeschränkungen können Unternehmen das Risiko einer Serverüberlastung mindern, die Netzwerkleistung verbessern und die allgemeine Sicherheit erhöhen.
Eine digitale Ressource, wie eine Anwendungsprogrammierschnittstelle (API), ist von Natur aus begrenzt. Sie kann nur eine bestimmte Anzahl von Anfragen pro Minute oder Stunde bearbeiten, vorausgesetzt, sie wird auf einer festen Infrastruktur bereitgestellt, z. B. einem virtuellen Server. Um eine Überlastung einer solchen Ressource zu verhindern, wenden die Eigentümer häufig eine „Ratenbeschränkung“ an. Dabei wird die Anzahl der Anfragen, die sie für jeden Benutzer in einem bestimmten Zeitraum bearbeiten, eingeschränkt. Die Ratenbeschränkung wird manchmal auch als „Drosselung“ bezeichnet, da dieser Prozess dem digitalen Äquivalent einer Verengung einer Leitung entspricht, um den Luftstrom zu begrenzen.
Die Ratenbeschränkung dient mehreren Zwecken. Sie gewährleistet einen zuverlässigen Zugriff auf digitale Ressourcen, die die Erwartungen an die Servicequalität erfüllen. Dank der Ratenbeschränkung müssen Systemeigentümer nicht in Infrastruktur investieren, die sie nicht benötigen. Die Ratenbeschränkung ist auch ein wichtiges Instrument, um digitale Ressourcen vor böswilliger oder unbefugter Nutzung zu schützen, sowie zum besseren Verständnis Ihrer Traffic-Anforderungen, um die Skalierung Ihrer Umgebung zu bestimmen.
Was ist Ratenbeschränkung?
Ratenbeschränkung lässt sich am besten als Richtlinie verstehen. Die Ratenbeschränkung ist eine Reihe von Regeln, die die Rate steuern, mit der ein Benutzer auf eine digitale Ressource zugreifen kann. Wie oft kann ein Benutzer beispielsweise versuchen, sich in einer Minute bei einer Website anzumelden? Wenn es keine Ratenbeschränkungsrichtlinie gibt, lautet die Antwort: „So oft er will“. Bei Ratenbeschränkung könnte die Antwort lauten: „Der Benutzer kann versuchen, sich bis zu dreimal in einer Minute anzumelden.“ Wenn er versucht, sich ein viertes Mal anzumelden, wird er blockiert.
Eine Ratenbeschränkung erfolgt, wenn eine Ratenbeschränkungsrichtlinie durch eine bestimmte Hardware- oder Softwarelösung durchgesetzt wird. Sowohl die Richtlinie als auch ihre Durchsetzung sind notwendig. Ohne die Richtlinie ist die Durchsetzung bedeutungslos. Ohne den Richtlinien-Durchsetzungspunkt ist die Richtlinie bedeutungslos. Ratenbeschränkung bedeutet auch, dass ein Überwachungstool vorhanden ist, das die Rate der Ressourcennutzung verfolgt – und problematische Situationen wie eine Überlastung des Servers oder verdächtige Aktivitäten, die auf einen Cyberangriff hindeuten, meldet.
Warum ist die Ratenbeschränkung wichtig?
Die Ratenbeschränkung ist wichtig, da sie ein wichtiges operatives Element für Servicequalität, Cybersicherheit und Finanzen darstellt. Was die Servicequalität betrifft, so verhindert die Ratenbeschränkung, dass Ressourcen durch zu viele Anfragen überlastet werden, was zu Verlangsamungen oder Ausfällen des Dienstes führen kann. Mit gut konzipierten Richtlinien zur Ratenbeschränkung erhalten alle berechtigten Benutzer eine ähnliche Dienstqualität. Die Ratenbeschränkung trägt dazu bei, Fairness zu gewährleisten, indem sie verhindert, dass Benutzer eine digitale Ressource monopolisieren.
Im Bereich Cybersicherheit dient die Ratenbeschränkung als Gegenmaßnahme gegen eine Reihe verschiedener Bedrohungen. Ein DoS-Angriff (Denial-of-Service)versucht beispielsweise, eine Ressource mit Anforderungen zu überfluten, sodass sie heruntergefahren wird. Die Ratenbeschränkung kann den DoS-Angreifer daran hindern, dieses Ziel zu erreichen. Die Ratenbeschränkung kann auch Brute-Force-Angriffe abwehren, bei denen versucht wird, mit einer hohen Zahl von schnell wiederholten Versuchen Passwörter zu erraten. Die Ratenbeschränkung wirkt auch gegen Credential Stuffing, eine Variante von Brute Force, bei der der Angreifer schnell verschiedene gestohlene Benutzername-/Passwortkombinationen ausprobiert, um unbefugten Zugriff auf eine Ressource zu erhalten, z. B. eine Banking-Website.
Eine Ratenbeschränkung kann einem Unternehmen auch bei der Finanzierung helfen. Digitale Ressourcen sind mit Kosten verbunden. Je effizienter sie also genutzt werden, desto besser wird ihr finanzielles Ergebnis. Ratenbeschränkungen halten die Nutzung digitaler Assets in einem vorhersehbaren Rahmen. Um zu verstehen, warum dies wichtig ist, betrachten Sie bitte ein Szenario, in dem ein Unternehmen zusätzliche Server anschaffen muss, um mit einem hohen Datenverkehrsvolumen Schritt zu halten, das durch Benutzer mit unbegrenztem Zugriff verursacht wird. Das ist keine lohnende Investition.
Wenn man diese Angelegenheit aus einer anderen Perspektive betrachtet, verursacht jede Serviceanfrage Kosten. Sie sind vielleicht gering – ein Bruchteil eines Cents –, wenn Bandbreite, Rechenzentrumskosten und Software-/Hardwareabschreibungen berücksichtigt werden. Wenn jedoch Millionen unerwünschter Serviceanfragen das System ersticken, führt dies zu einer erheblichen Geldverschwendung.
Die Ratenbeschränkung kann auch Teil der Monetarisierung digitaler Assets sein. Beispiel: Ein Unternehmen kann einem Benutzer 5.000 API-Aufrufe pro Woche für 100 US-Dollar erlauben. Der API-Eigentümer benötigt eine Ratenbeschränkung, um diese maximale Anzahl von API-Aufrufen durchzusetzen.
Wie funktioniert die Ratenbeschränkung?
Ratenbeschränkung basiert auf einer Benutzer-ID oder der Internetprotokoll(IP)-Adresse eines Benutzers. Eine Ratenbeschränkungslösung verfolgt die IP-Adressen, die mit Serviceanfragen verknüpft sind. Da die IP-Adresse einen eindeutigen Code für jede Verbindung mit dem angeforderten Dienst darstellt, kann die Ratenbeschränkungslösung effektiv das Verhalten außerhalb der Richtlinien blockieren.
Der eigentliche Prozess der Ratenbeschränkung umfasst die Erfassung der Gesamtzahl der Anforderungen, die Benutzer von einer bestimmten IP-Adresse gestellt haben. Die Ratenbeschränkung vergleicht dann die Anforderungsaktivität mit ihren Richtlinien. Benutzer, die gegen die Regeln verstoßen, können leicht erkannt und gestoppt werden. In den meisten Fällen sendet die Ratenbeschränkungslösung eine Fehlermeldung an den Benutzer.
API-Paginierung ist ebenfalls ein Tool, mit dem die Rate gesteuert wird, mit der API-Anforderungen gestellt werden. Sie wird verwendet, um sicherzustellen, dass das System nicht überlastet wird und Daten effizient abgerufen werden. Diese Technik schützt zudem vor böswilligen Anfragen und reduziert das Risiko von Datenmissbrauch. Durch die Begrenzung der Anzahl der Anfragen wird auch die Serverlast reduziert und die Gesamtleistung erhöht.
Wofür wird die Ratenbeschränkung verwendet?
Systemeigentümer verwenden die Ratenbeschränkung aus verschiedenen Gründen, von denen die meisten mit der Dienstqualität und Sicherheit zu tun haben. Die Ziele bestehen in der Regel darin, den ordnungsgemäßen Betrieb der Systeme sicherzustellen, eine gute Benutzererfahrung zu bieten und digitale Assets vor böswilligem Missbrauch zu schützen. Insbesondere:
- Vermeidung von Verfügbarkeitsproblemen aufgrund übermäßiger Ressourcennutzung. Eine übermäßige Nachfrage nach einer Ressource, wie einer API, sei es aufgrund von Popularität oder Cyberkriminalität, macht die Ressource für Benutzer, die sie benötigen, weniger gut verfügbar.
- Schutz anderer Bereiche des IT-Bestands. Die Ratenbeschränkung verringert das Risiko einer Netzwerkdurchdringung oder einer Datenverletzung, die durch Brute-Force- oder Credential Stuffing-Angriffe entstehen kann.
- Verwalten von Quoten und Verträgen. Ein Systemeigentümer kann ein Kontingent für die Ressourcennutzung festlegen oder einen Vertrag erfordern, der die Menge und den Zeitpunkt des Zugriffs einschränkt. Die Ratenbeschränkung ermöglicht die Durchsetzung dieser Vereinbarungen.
- Kontrolle von Verkehr und Fluss. Die Ratenbeschränkung hält den Fluss des Netzwerkverkehrs auf einem definierten Niveau, wodurch Verlangsamungen und Ausfälle vermieden werden. Sie kann auch eine intelligente Flusssteuerung ermöglichen, bei der Netzwerkverkehr basierend auf vorhersehbaren Volumina weitergeleitet wird, z. B. durch Zusammenführen von Streams in einem einzigen Gerät.
- Kostenkontrolle und Investitionskosten. Mit der Ratenbeschränkung können Systemeigentümer Datenverkehr digitalen Ressourcen entsprechend der Ebene zuweisen, die sie bei der Beschaffung festgelegt haben. Beispiel: Der Kauf eines Servers wurde auf der Grundlage der Prognose genehmigt, dass er 10.000 Serviceanfragen pro Stunde verarbeiten kann. Wenn die tatsächlichen Serviceanfragen höher sind, könnte dies den Kauf weiterer Server erforderlich machen, die nicht im ursprünglichen Budget lagen.
Arten von Ratenbeschränkungen
Wir haben uns auf die Ratenbeschränkung basierend auf den Serviceanfragen eines Benutzers in einem festgelegten Zeitraum konzentriert. Es gibt jedoch viele andere Möglichkeiten, Anfragen einzuschränken. Beispiel: Regeln zur Ratenbeschränkung können das Anforderungsvolumen basierend auf der Häufigkeit und dem gesamten Anforderungsvolumen einschränken. Ein Benutzer darf nicht mehr als 10 Mal pro Minute versuchen, sich bei einer Website anzumelden. Es kann jedoch auch sein, dass dem Benutzer untersagt wird, sich mehr als 100 Mal pro Tag anzumelden. Beide Regeln können gelten. Andernfalls könnte dieser Benutzer versuchen, sich 10 Mal pro Minute für alle 1.440 Minuten innerhalb von 24 Stunden anzumelden, was aus Sicht der Servicequalität nicht ideal ist.
Es ist auch möglich, eine Ratenbeschränkung basierend auf dem Standort vorzunehmen. Benutzer aus Deutschland können möglicherweise 100 Anmeldeversuche pro Tag erhalten, während diejenigen in Frankreich 200 Anmeldeversuche erhalten. Alternativ kann diese Art der Richtlinie zur Ratenbeschränkung eine Umleitung von Serviceanfragen auslösen, z. B. das Senden von Datenverkehr von einem überlasteten Server in Deutschland an einen Server in Frankreich.
Fazit
Die Ratenbeschränkung ist eine wesentliche Kontroll- und Gegenmaßnahme für Systemeigentümer, die sicher bleiben und Betriebsausfälle verhindern möchten. Die Praxis trägt auch dazu bei, die gewünschten finanziellen Ergebnisse für Investitionen in digitale Ressourcen zu gewährleisten. Es handelt sich um ein einfaches Konzept – Beschränkung des Zugriffs auf der Grundlage von Regeln für Anfragen pro Minute etc. Die Umsetzung erfordert jedoch eine sorgfältige Beachtung der Details. Mit einer effektiven Ratenbeschränkung stehen Server und APIs sowie andere Infrastrukturelemente denjenigen zur Verfügung, die zu ihrer Nutzung berechtigt sind.
Häufig gestellte Fragen
Die meisten Best Practices für die API-Sicherheit umfassen folgende gängige Strategien zur Implementierung der Ratenbeschränkung:
- Token-Buckets: Weisen Sie Benutzern eine bestimmte Anzahl von Token zu, die zu einer festen Rate aufgefüllt werden. Jede API-Anfrage verbraucht ein Token, und die Anzahl der Token des Benutzers wird langsam wieder aufgefüllt. Dies hilft bei der Bewältigung von Burst Traffic und variierenden Anfrageraten.
- Leaky Buckets: Ähnlich wie Token-Buckets steuert diese Methode die Anzahl der Versuche, die jeder Benutzer für eine bestimmte Zeit erhält. Statt Token bis zu einem festgelegten Maximum zu akkumulieren, „lecken“ Leaky Buckets überschüssige Token, um einen konstanten Anfragenfluss zu gewährleisten, wodurch die Rate reibungsloser begrenzt und plötzliche Datenverkehrsspitzen verhindert werden.
- Fixed Window Counter: Diese Strategie umfasst die Festlegung eines festen Zeitfensters und einer maximalen Anzahl zulässiger Anfragen. Wenn die Anzahl der Anfragen den Grenzwert überschreitet, werden nachfolgende Anfragen abgelehnt, bis das Fenster aktualisiert wird. Diese Strategie lässt sich zwar leicht umsetzen, ist jedoch anfällig für plötzliche Traffic-Spitzen.
Ratenbegrenzende APIs können die Benutzererfahrung durch Verzögerungen oder Zugriffsprobleme beeinflussen, und eine Feinabstimmung ist erforderlich, um den Sweet Spot zwischen „Sicherheit“ und „Benutzererfahrung“ zu finden.
Aggressiv niedrige Ratenbeschränkungen können zu langsameren Antwortzeiten oder Ablehnungsfehlern für legitime Benutzer führen. Eine inkonsistente Ratenbeschränkung kann zu zeitweiligen Zugriffsproblemen und unzuverlässigem Betrieb führen. Durch die Feinabstimmung von Ratenbeschränkungen auf der Grundlage der erwarteten Verkehrsmuster kann dieses Problem beseitigt werden. Es ist empfehlenswert, Anwendungen zu entwickeln, die die Funktionalität bei Bedarf elegant einschränken und gleichzeitig die Kernfunktionen intakt halten.
Transparenz und Klarheit sind die obersten Prioritäten bei der Kommunikation von Ratenbeschränkungen für API-Sicherheit an Benutzer. Fehlermeldungen sollten den HTTP-Statuscode „429: Zu viele Anfragen“ verwenden und angeben, dass die Ratenbeschränkung aktiv ist. Dabei sollten pezifische Details zur maximal zulässigen Anzahl von Anfragen oder der verbleibenden Anfagen angegeben werden, bevor Token hinzugefügt oder aktualisiert werden.
Why customers choose Akamai
Akamai is the cybersecurity and cloud computing company that powers and protects business online. Our market-leading security solutions, superior threat intelligence, and global operations team provide defense in depth to safeguard enterprise data and applications everywhere. Akamai’s full-stack cloud computing solutions deliver performance and affordability on the world’s most distributed platform. Global enterprises trust Akamai to provide the industry-leading reliability, scale, and expertise they need to grow their business with confidence.