Vad är hastighetsbegränsning för Azure Front Door?

Med hastighetsbegränsning kan du identifiera och blockera onormalt höga trafiknivåer från alla socket-IP-adresser. Genom att använda Azure Web Application Firewall i Azure Front Door kan du minimera vissa typer av överbelastningsattacker. Hastighetsbegränsning skyddar dig också mot klienter som av misstag har felkonfigurerats för att skicka stora mängder begäranden under en kort tidsperiod.

Socket-IP-adressen är adressen till klienten som initierade TCP-anslutningen till Azure Front Door. Vanligtvis är socket-IP-adressen användarens IP-adress, men det kan också vara IP-adressen för en proxyserver eller en annan enhet som finns mellan användaren och Azure Front Door.

Du kan definiera hastighetsbegränsningar på socket-IP-adressnivån eller fjärradressnivån. Om du har flera klienter som har åtkomst till Azure Front Door från olika socket-IP-adresser har var och en sina egna hastighetsgränser tillämpade. Socket-IP-adressen är den käll-IP-adress som webbaserade programbrandväggen (WAF) ser. Om användaren finns bakom en proxyserver är socket-IP-adressen ofta proxyserveradressen. Fjärradressen är den ursprungliga klient-IP-adressen som vanligtvis skickas via begärandehuvudet X-Forwarded-For .

Konfigurera en princip för hastighetsbegränsning

Hastighetsbegränsning konfigureras med hjälp av anpassade WAF-regler.

När du konfigurerar en frekvensgränsregel anger du tröskelvärdet. Tröskelvärdet är antalet webbbegäranden som tillåts från varje socket-IP-adress inom en tidsperiod på antingen en minut eller fem minuter.

Du måste också ange minst ett matchningsvillkor, vilket talar om för Azure Front Door när hastighetsgränsen ska aktiveras. Du kan konfigurera flera hastighetsgränser som gäller för olika sökvägar i ditt program.

Om du behöver tillämpa en frekvensgränsregel på alla dina begäranden kan du överväga att använda ett matchningsvillkor som i följande exempel:

Screenshot that shows the Azure portal showing a match condition that applies to all requests. The match condition looks for requests where the Host header size is zero or greater.

Det föregående matchningsvillkoret identifierar alla begäranden med en Host rubrik med en längd som är större än 0. Eftersom alla giltiga HTTP-begäranden för Azure Front Door innehåller en Host rubrik får det här matchningsvillkoret effekten att matcha alla HTTP-begäranden.

Hastighetsbegränsningar och Azure Front Door-servrar

Begäranden från samma klient kommer ofta till samma Azure Front Door-server. I så fall blockeras begäranden så snart hastighetsgränsen har nåtts för var och en av klientens IP-adresser.

Det är möjligt att begäranden från samma klient kan komma till en annan Azure Front Door-server som inte har uppdaterat hastighetsbegränsningsräknarna ännu. Klienten kan till exempel öppna en ny TCP-anslutning för varje begäran och varje TCP-anslutning kan dirigeras till en annan Azure Front Door-server.

Om tröskelvärdet är tillräckligt lågt kan den första begäran till den nya Azure Front Door-servern klara hastighetsbegränsningskontrollen. För ett lågt tröskelvärde (till exempel mindre än cirka 200 begäranden per minut) kan det därför hända att vissa begäranden över tröskelvärdet når fram.

Några saker att tänka på när du fastställer tröskelvärden och tidsfönster för hastighetsbegränsning:

  • En större fönsterstorlek med det minsta tröskelvärdet för antal godkända förfrågningar är den mest effektiva konfigurationen för att förhindra DDoS-attacker. Den här konfigurationen är effektivare eftersom när en angripare når tröskelvärdet blockeras de under resten av hastighetsbegränsningsfönstret. Om en angripare blockeras under de första 30 sekunderna av ett enminutersfönster är de därför bara frekvensbegränsade under de återstående 30 sekunderna. Om en angripare blockeras under den första minuten av ett femminutersfönster är de frekvensbegränsade under de återstående fyra minuterna.
  • Att ange större tidsfönsterstorlekar (till exempel fem minuter över en minut) och större tröskelvärden (till exempel 200 över 100) tenderar att vara mer exakta när det gäller att framtvinga tröskelvärden för nära hastighetsgränsen än att använda kortare tidsfönsterstorlekar och lägre tröskelvärden.
  • Azure Front Door WAF-hastighetsbegränsning fungerar under en fast tidsperiod. När ett tröskelvärde för hastighetsbegränsning överskrids blockeras all trafik som matchar den hastighetsbegränsningsregeln under resten av det fasta fönstret.

Nästa steg