Was ist die Ratenbegrenzung für Web Application Firewall in Application Gateway?
Mit der Ratenbegrenzung für Web Application Firewall in Application Gateway können Sie ungewöhnlich hohe Datenverkehrsaufkommen, die für Ihre Anwendung bestimmt sind, erkennen und blockieren. Durch die Verwendung der Ratenbegrenzung für Application Gateway WAF_v2 können Sie viele Arten von Denial-of-Service-Angriffen entschärfen, Ihre Systeme vor Clients schützen, die versehentlich falsch konfiguriert wurden und große Mengen von Anforderungen in einem kurzen Zeitraum senden, oder die Datenverkehrsraten an Ihre Website aus bestimmten geografischen Regionen kontrollieren.
Richtlinien zur Ratenbegrenzung
Die Ratenbegrenzung wird mithilfe benutzerdefinierter WAF-Regeln in einer Richtlinie konfiguriert.
Hinweis
Quotengrenzregeln werden nur in Web Application Firewalls mit der neuesten WAF-Engine unterstützt. Um sicherzustellen, dass Sie die neueste Engine verwenden, wählen Sie CRS 3.2 als Standardregelsatz aus.
Wenn Sie eine WAF-Quotengrenzregel konfigurieren, müssen Sie den Schwellenwert angeben: die Anzahl der innerhalb des angegebenen Zeitraums zulässigen Anforderungen. Die Ratenbegrenzung für Application Gateway WAF_v2 nutzt einen Algorithmus mit gleitendem Fenster, um zu bestimmen, wann der Datenverkehr den Schwellenwert überschritten hat und gelöscht werden muss. Während des ersten Fensters, in dem der Schwellenwert für die Regel überschritten wird, wird jeder weitere Datenverkehr gelöscht, der der Quotengrenzregel entspricht. Ab dem zweiten Fenster ist Datenverkehr bis zum Schwellenwert innerhalb des konfigurierten Fensters zulässig, sodass ein Drosselungseffekt entsteht.
Sie müssen auch eine Vergleichsbedingung angeben, um der WAF mitzuteilen, wann die Ratenbegrenzung aktiviert werden soll. Sie können mehrere Quotengrenzregeln konfigurieren, die verschiedenen Variablen und Pfaden innerhalb Ihrer Richtlinie entsprechen.
Mit Application Gateway WAF_v2 wird auch eine GroupByUserSession eingeführt, die konfiguriert werden muss. GroupByUserSession gibt an, wie Anforderungen für eine Vergleichsregel für die Ratenbegrenzung gruppiert und gezählt werden.
Die folgenden drei GroupByVariables sind derzeit verfügbar:
- ClientAddr: Dies ist die Standardeinstellung, und sie bedeutet, dass jeder Schwellenwert und jede Entschärfung für die Ratenbegrenzung unabhängig für jede eindeutige Quell-IP-Adresse gilt.
- GeoLocation: Der Datenverkehr wird basierend auf einem Geo-Match-Element der Client-IP-Adresse nach geografischer Region gruppiert. Für eine Quotengrenzregel wird also Datenverkehr aus derselben geografischen Region gruppiert.
- Keine: Der gesamte Datenverkehr wird gruppiert und zählt für den Schwellenwert der Quotengrenzregel. Bei Überschreitung des Schwellenwerts wird die Aktion für den gesamten Datenverkehr ausgelöst, der der Regel entspricht. Es werden keine unabhängigen Leistungsindikatoren für jede einzelne Client-IP-Adresse oder geografische Region verwendet. Es wird empfohlen, die Option Keine mit bestimmten Vergleichsbedingungen zu verwenden, z. B. einer Anmeldeseite oder einer Liste verdächtiger Benutzer-Agents.
Details zur Ratenbegrenzung
Die konfigurierten Schwellenwerte für die Ratenbegrenzung werden für jeden Endpunkt, an den die Web Application Firewall-Richtlinie angefügt ist, unabhängig gezählt und nachverfolgt. Beispielsweise verwaltet eine einzelne WAF-Richtlinie, die an fünf verschiedene Listener angefügt ist, unabhängige Leistungsindikatoren sowie die Erzwingung des Schwellenwerts für jeden der Listener.
Die Schwellenwerte für die Ratenbegrenzung werden nicht immer genau wie definiert erzwungen, sodass sie nicht für eine differenzierte Steuerung des Anwendungsdatenverkehrs verwendet werden sollten. Sie werden stattdessen für Entschärfungsmaßnahmen bei anomalen Datenverkehrsraten sowie zur Aufrechterhaltung der Anwendungsverfügbarkeit empfohlen.
Der Algorithmus mit gleitendem Fenster blockiert den gesamten Datenverkehr für das erste Fenster, in dem der Schwellenwert überschritten wird, und drosselt dann den Datenverkehr in zukünftigen Fenstern. Gehen Sie beim Definieren von Schwellenwerten zum Konfigurieren von weit gefassten Regeln mit GeoLocation oder Keine als GroupByVariables mit Vorsicht vor. Falsch konfigurierte Schwellenwerte können zu häufigen kurzen Ausfällen für den entsprechenden Datenverkehr führen.