Ćwiczenie — testowanie zasad usługi Front Door i zapory aplikacji internetowej

Ukończone

Ostatnim krokiem jest przetestowanie środowiska usługi Front Door i sprawdzenie, czy reguły routingu są prawidłowo skonfigurowane pod kątem kierowania ruchu internetowego. Chcemy również przetestować dostępność serwerów internetowych pochodzenia, a jeśli buforowana zawartość będzie nadal dostępna, gdy serwery nie działają.

Testowanie dystrybucji ruchu dla aplikacji internetowej do rejestracji pojazdów

  1. W usłudze Cloud Shell uruchom następujące polecenie, aby wygenerować adres URL punktu końcowego usługi Front Door.

    echo https://$(az afd endpoint show \
        --profile-name vehicleFrontDoor \
        --endpoint-name $endpoint \
        --resource-group $RG \
        --query hostName \
        --output tsv)
    
  2. Za pomocą przeglądarki internetowej przejdź do witryny internetowej pod adresem URL zwróconym w poprzednim poleceniu. Ten adres URL to adres punktu końcowego utworzonego w profilu usługi Front Door. Sprawdź, czy zostanie wyświetlona strona główna aplikacji internetowej do rejestrowania pojazdów. Zwróć uwagę, że nazwa serwera internetowego jest wyświetlana na stronie, aby poinformować, które wystąpienie obsługuje twoje żądanie.

    Screenshot of web server 1 responding to web browser request.

  3. Odśwież przeglądarkę, naciskając klawisz F5 kilka razy na klawiaturze. Zwróć uwagę na zmianę nazwy serwera między serwerem webServer1 i serwerem webServer2. Oba serwery internetowe znajdują się w tym samym regionie i mają podobne opóźnienie. W związku z tym oba serwery mają równe szanse na obsługę żądań.

    Screenshot of web server 2 responding to web browser request.

Routing testowy

Teraz przetestujmy routing konfiguracji trasy do każdej witryny internetowej. Skonfigurowano trasę zgodną /VehicleRegistration/ z zasadami i /VehicleRegistration/* przejdź do prywatnego punktu końcowego dla serwerów internetowych. W przypadku żądań, które są zgodne /LicenseRenewal/ i /LicenseRenewal/* przekierowano je do usługi App Service. W tym laboratorium komunikacja między usługą Azure Front Door a zasobami źródła jest prywatna, ponieważ używasz usługi Private Link do nawiązywania łączności.

  1. Aby przetestować routing do innych stron w witrynie internetowej rejestracji pojazdów, wybierz pozycję Zarejestruj pojazd.

    Screenshot of web server 1 register a vehicle link.

  2. Zwróć uwagę, że adres URL został zmieniony tak, aby zawierał ścieżkę /VehicleRegistration/Create. Ponieważ mamy wzorzec dopasowania /VehicleRegistration/*do elementu , symbol wieloznaczny pasuje do wszystkich elementów po / i jest kierowany do serwerów internetowych hostujących witrynę internetową rejestracji pojazdów.

    Screenshot of vehicle registration page.

  3. Następnie przetestujmy routing do witryny internetowej odnawiania licencji. Zmień ścieżkę z /VehicleRegistration/Create na /LicenseRenewal/. Ta ścieżka kieruje do źródła usługi App Service.

    Screenshot of license renewal home page.

  4. Wybierz pozycję Odnów licencję, aby zobaczyć zmianę ścieżki na /LicenseRenewal/Create. Podobnie jak w przypadku trasy rejestracji pojazdów, istnieje wzorzec dopasowania /LicenseRenewal/* , który ma symbol wieloznaczny, aby dopasować wszystko po / i kierować ten ruch do usługi App Service.

    Screenshot of renew a license page.

Dzięki tej konfiguracji można kierować użytkowników do obu witryn internetowych za pośrednictwem usługi Front Door. Możesz skonfigurować domenę niestandardową, którą można łatwo zapamiętać i skierować użytkowników do odpowiedniej strony zgodnie z ich potrzebami. Dzięki usłudze Front Door można rozszerzyć usługę , aby hostować wiele witryn internetowych, włączyć buforowanie w celu zwiększenia wydajności zasobów statycznych oraz zapewnić wysoką skalowalność i dostępną aplikację internetową.

Testowanie zasad zabezpieczeń

  1. Pobierz i zainstaluj język Go dla systemu Windows. Użyj wszystkich ustawień domyślnych podczas instalacji. Musisz uruchomić aplikację GoTestWAF .

  2. Pobierz i zainstaluj narzędzie Git dla systemu Windows. Użyj wszystkich ustawień domyślnych podczas instalacji. Musisz sklonować repozytorium gotestwaf na komputer lokalny.

  3. Po zainstalowaniu narzędzi Go i Git dla systemu Windows otwórz powłokę Git Bash i uruchom polecenie git clone https://github.com/wallarm/gotestwaf.git , aby pobrać pliki GoTestWAF na komputer lokalny.

    Screenshot of cloning the gotestwaf repository with Git.

  4. Zmień katalog na gotestwaf folder za pomocą cd gotestwaf polecenia .

    Screenshot of changing directory to gotestwaf folder with Git.

  5. Teraz uruchom następujące polecenie, aby sprawdzić, czy zasady zabezpieczeń działają. Zastąp ciąg "<EVALUATE_SECURITY_SOLUTION_URL> adresem URL punktu końcowego na początku tej lekcji.

    go run ./cmd --url=<EVALUATED_SECURITY_SOLUTION_URL> --verbose
    
  6. Jeśli ustawienia zasad zapory aplikacji internetowej zostały skonfigurowane poprawnie, powinny zostać wyświetlone Baseline attack status code: 999 dane wyjściowe. Ten kod stanu odpowiedzi jest taki sam, jak skonfigurowany, jeśli zapora aplikacji internetowej blokuje żądanie.

    Screenshot of running GoTestWAF with Git and displaying 999 status code.

Masz teraz w pełni funkcjonalną aplikację internetową pojazdu silnikowego chronioną przez zasady zapory aplikacji internetowej (WAF).