Freigeben über


Was ist die Ratenbegrenzung für Web Application Firewall in Application Gateway?

Die Ratenbegrenzung für Web Application Firewall in Application Gateway ermöglicht es Ihnen, ungewöhnlich hohe Mengen an Datenverkehr für Ihre Anwendung zu erkennen und zu blockieren. Durch die Verwendung der Ratenbegrenzung in Application Gateway WAF v2 können Sie viele Arten von Denial-of-Service-Angriffen abwehren, sich vor Clients schützen, die versehentlich falsch konfiguriert wurden, um große Mengen an Anforderungen in einem kurzen Zeitraum zu senden, oder die Datenverkehrsraten zu Ihrer Website aus bestimmten Regionen steuern.

Richtlinien zur Ratenbegrenzung

Die Ratenbegrenzung wird mithilfe von benutzerdefinierten WAF-Regeln in einer Richtlinie konfiguriert.

Hinweis

Ratenbegrenzungsregeln werden nur auf Web Application Firewalls unterstützt, auf denen die neueste WAF-Engine ausgeführt wird. Um sicherzustellen, dass Sie die neueste Engine verwenden, wählen Sie CRS 3.2 als Standardregelsatz aus.

Wenn Sie eine Ratenbegrenzungsregel konfigurieren, müssen Sie den Schwellenwert angeben: die Anzahl der Anforderungen, die innerhalb des angegebenen Zeitraums zulässig sind. 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 Übereinstimmungsbedingung angeben, die der WAF mitteilt, wann das Ratenlimit aktiviert werden soll. Sie können mehrere Regeln für die Ratenbegrenzung konfigurieren, die mit verschiedenen Variablen und Pfaden innerhalb Ihrer Richtlinie übereinstimmen.

Application Gateway WAF v2 führt auch eine GroupByUserSession ein, die konfiguriert werden muss. GroupByUserSession gibt an, wie Anforderungen für eine übereinstimmende Ratenbegrenzungsregel gruppiert und gezählt werden.

Die folgenden drei GroupByVariables sind derzeit verfügbar:

  • ClientAddr – Dies ist die Standardeinstellung, die bedeutet, dass jeder Schwellenwert für die Ratenbegrenzung und jede Risikominderung 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. Bei einer Regel für ein Ratenlimit wird also Traffic aus derselben Geografie gruppiert.
  • Keine: Der gesamte Datenverkehr wird gruppiert und zählt für den Schwellenwert der Quotengrenzregel. Wenn der Schwellenwert überschritten wird, wird die Aktion gegen allen Datenverkehr ausgelöst, der der Regel entspricht, und führt keine separaten Zähler für jede Client-IP-Adresse oder jeden geografischen Standort. Es wird empfohlen, None für bestimmte Übereinstimmungsbedingungen zu verwenden, z. B. für eine Anmeldeseite oder eine Liste verdächtiger User-Agents.

Details zur Ratenbegrenzung

Die konfigurierten Schwellenwerte für die Ratenbegrenzung werden für jeden Endpunkt, an den die Web Application Firewall-Richtlinie angehängt ist, unabhängig voneinander 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, daher sollten sie nicht für eine feinkörnige Steuerung des Anwendungsdatenverkehrs verwendet werden. Stattdessen wird sie empfohlen, um anomale Datenverkehrsraten zu mindern und die Anwendungsverfügbarkeit aufrechtzuerhalten.

Der Algorithmus für gleitende Fenster blockiert den gesamten übereinstimmenden Datenverkehr für das erste Fenster, in dem der Schwellenwert überschritten wird, und drosselt dann den Datenverkehr in zukünftigen Fenstern. Seien Sie vorsichtig, wenn Sie Schwellenwerte für die Konfiguration von Regeln mit breiter Übereinstimmung definieren, wobei entweder GeoLocation oder None als GroupByVariables verwendet wird. Falsch konfigurierte Schwellenwerte können zu häufigen kurzen Ausfällen für übereinstimmenden Datenverkehr führen.

Nächster Schritt