Co to jest ograniczanie szybkości dla usługi Azure Front Door?

Ograniczanie szybkości umożliwia wykrywanie i blokowanie nietypowo wysokiego poziomu ruchu z dowolnego adresu IP gniazda. Za pomocą usługi Azure Web Application Firewall w usłudze Azure Front Door można ograniczyć niektóre typy ataków typu "odmowa usługi". Ograniczanie szybkości chroni również klientów, którzy zostali przypadkowo nieprawidłowo skonfigurowani w celu wysyłania dużych ilości żądań w krótkim czasie.

Adres IP gniazda to adres klienta, który zainicjował połączenie TCP z usługą Azure Front Door. Zazwyczaj adres IP gniazda jest adresem IP użytkownika, ale może to być również adres IP serwera proxy lub innego urządzenia, które znajduje się między użytkownikiem i usługą Azure Front Door.

Limity szybkości można zdefiniować na poziomie adresu IP gniazda lub na poziomie adresu zdalnego. Jeśli masz wielu klientów uzyskujących dostęp do usługi Azure Front Door z różnych adresów IP gniazd, mają stosowane własne limity szybkości. Adres IP gniazda jest źródłowym adresem IP widocznym przez zaporę aplikacji internetowej (WAF). Jeśli użytkownik znajduje się za serwerem proxy, adres IP gniazda jest często adresem serwera proxy. Adres zdalny to oryginalny adres IP klienta, który jest zwykle wysyłany za pośrednictwem nagłówka X-Forwarded-For żądania.

Konfigurowanie zasad limitu szybkości

Ograniczanie szybkości jest konfigurowane przy użyciu niestandardowych reguł zapory aplikacji internetowej.

Podczas konfigurowania reguły limitu szybkości należy określić próg. Próg to liczba żądań internetowych dozwolonych z każdego adresu IP gniazda w okresie jednej minuty lub pięciu minut.

Należy również określić co najmniej jeden warunek dopasowania, który informuje usługę Azure Front Door, kiedy należy aktywować limit szybkości. Można skonfigurować wiele limitów szybkości, które mają zastosowanie do różnych ścieżek w aplikacji.

Jeśli musisz zastosować regułę limitu szybkości do wszystkich żądań, rozważ użycie warunku dopasowania, takiego jak w poniższym przykładzie:

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.

Powyższy warunek dopasowania identyfikuje wszystkie żądania o Host nagłówku o długości większej niż 0. Ponieważ wszystkie prawidłowe żądania HTTP dla usługi Azure Front Door zawierają Host nagłówek, ten warunek dopasowania ma wpływ na dopasowanie wszystkich żądań HTTP.

Limity szybkości i serwery usługi Azure Front Door

Żądania od tego samego klienta często docierają do tego samego serwera usługi Azure Front Door. W takim przypadku żądania są blokowane natychmiast po osiągnięciu limitu szybkości dla każdego z adresów IP klienta.

Możliwe, że żądania od tego samego klienta mogą zostać dostarczone na inny serwer usługi Azure Front Door, który jeszcze nie odświeżył liczników limitu szybkości. Na przykład klient może otworzyć nowe połączenie TCP dla każdego żądania, a każde połączenie TCP może być kierowane do innego serwera usługi Azure Front Door.

Jeśli próg jest wystarczająco niski, pierwsze żądanie do nowego serwera usługi Azure Front Door może przejść kontrolę limitu szybkości. Dlatego w przypadku niskiego progu (na przykład mniejszego niż około 200 żądań na minutę) niektóre żądania mogą wystąpić powyżej progu.

Kilka zagadnień, które należy wziąć pod uwagę podczas określania wartości progowych i okien czasowych na potrzeby ograniczania szybkości:

  • Większy rozmiar okna z najmniejszym dopuszczalnym progiem liczby żądań jest najbardziej efektywną konfiguracją zapobiegania atakom DDoS. Ta konfiguracja jest bardziej skuteczna, ponieważ gdy osoba atakująca osiągnie próg, zostanie zablokowany dla pozostałej części okna limitu szybkości. W związku z tym, jeśli osoba atakująca zostanie zablokowana w ciągu pierwszych 30 sekund w ciągu jednej minuty, jest ona ograniczona tylko przez pozostałe 30 sekund. Jeśli osoba atakująca zostanie zablokowana w pierwszej minucie pięciominutowego okna, jest ona ograniczona przez pozostałe cztery minuty.
  • Ustawienie większych rozmiarów okien czasowych (na przykład pięć minut w ciągu jednej minuty) i większych wartości progowych (na przykład 200 powyżej 100) jest bardziej dokładne w wymuszaniu progów zbliżonych do progów limitu szybkości niż użycie krótszych rozmiarów przedziałów czasu i niższych wartości progowych.
  • Ograniczanie szybkości zapory aplikacji internetowej usługi Azure Front Door działa w ustalonym przedziale czasu. Po naruszeniu progu limitu szybkości cały ruch zgodny z regułą ograniczania szybkości jest blokowany w pozostałej części stałego okna.

Następne kroki