Udostępnij za pośrednictwem


Samouczek: tworzenie bramy aplikacji z usługą Web Application Firewall przy użyciu witryny Azure Portal

W tym samouczku pokazano, jak za pomocą witryny Azure Portal utworzyć usługę Application Gateway z zaporą aplikacji internetowej (WAF). Zapora aplikacji internetowych chroni Twoje aplikacje, używając reguł OWASP. Reguły te obejmują ochronę przed atakami, takimi jak iniekcja kodu SQL, działanie skryptów między witrynami i porywanie sesji. Po utworzeniu bramy aplikacji przetestujesz ją, aby upewnić się, że działa prawidłowo. Usługa aplikacja systemu Azure Gateway kieruje ruch internetowy aplikacji do określonych zasobów, przypisując odbiorniki do portów, tworząc reguły i dodając zasoby do puli zaplecza. Dla uproszczenia w tym samouczku użyto prostej konfiguracji z publicznym adresem IP frontonu, podstawowego odbiornika do hostowania pojedynczej lokacji w tej bramie aplikacji, dwóch maszyn wirtualnych z systemem Linux używanych do obsługi puli zaplecza i podstawowej reguły routingu żądań.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Tworzenie bramy aplikacji z włączoną zaporą aplikacji internetowych
  • Tworzenie maszyn wirtualnych używanych jako serwery zaplecza
  • Tworzenie konta magazynu i konfigurowanie diagnostyki
  • Testowanie bramy aplikacji

Diagram przykładu zapory aplikacji internetowej.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Logowanie się do platformy Azure

Zaloguj się w witrynie Azure Portal.

Tworzenie bramy aplikacji

  1. Wybierz pozycję Utwórz zasób w menu po lewej stronie w witrynie Azure Portal. Zostanie wyświetlone okno Tworzenie zasobu .

  2. Wybierz pozycję Sieć , a następnie wybierz pozycję Application Gateway na liście Popularne usługi platformy Azure.

Karta Podstawowe

  1. Na karcie Podstawy wprowadź następujące wartości dla następujących ustawień bramy aplikacji:

    • Grupa zasobów: wybierz grupę zasobów myResourceGroupAG . Jeśli ta grupa nie istnieje, wybierz pozycję Utwórz nową w celu jej utworzenia.

    • Nazwa bramy aplikacji: wprowadź nazwę bramy aplikacji myAppGateway .

    • Warstwa: wybierz pozycję Zapora aplikacji internetowej w wersji 2.

    • Zasady zapory aplikacji internetowej: wybierz pozycję Utwórz nową, wpisz nazwę nowych zasad, a następnie wybierz przycisk OK. Spowoduje to utworzenie podstawowych zasad zapory aplikacji internetowej z zarządzanym zestawem reguł podstawowych (CRS).

      Zrzut ekranu przedstawiający kartę Tworzenie nowej bramy aplikacji: Podstawy.

  2. Do komunikacji między tworzonymi zasobami platforma Azure potrzebuje sieci wirtualnej. Możesz utworzyć nową sieć wirtualną lub użyć istniejącej. W tym przykładzie tworzysz nową sieć wirtualną w tym samym czasie, w której tworzysz bramę aplikacji. Wystąpienia usługi Application Gateway są tworzone w oddzielnych podsieciach. W tym przykładzie utworzysz dwie podsieci: jedną dla bramy aplikacji, a następnie dodaj drugą dla serwerów zaplecza.

    W obszarze Konfigurowanie sieci wirtualnej wybierz pozycję Utwórz nową , aby utworzyć nową sieć wirtualną. W wyświetlonym oknie Tworzenie sieci wirtualnej wprowadź następujące wartości, aby utworzyć sieć wirtualną i podsieć:

    • Nazwa: wprowadź nazwę sieci wirtualnej myVNet .

    • Przestrzeń adresowa : zaakceptuj zakres adresów 10.0.0.0/16 .

    • Nazwa podsieci (podsieć usługi Application Gateway): obszar Podsieci zawiera podsieć o nazwie Default. Zmień nazwę tej podsieci na myAGSubnet i pozostaw domyślny zakres adresów IPv4 10.0.0.0/24.
      Podsieć bramy aplikacji może zawierać tylko bramy aplikacji. Inne zasoby nie są dozwolone.

      Wybierz przycisk OK , aby zamknąć okno Tworzenie sieci wirtualnej i zapisać ustawienia sieci wirtualnej.

      Zrzut ekranu przedstawiający tworzenie nowej bramy aplikacji: Tworzenie sieci wirtualnej.

  3. Na karcie Podstawowe zaakceptuj wartości domyślne innych ustawień, a następnie wybierz pozycję Dalej: Frontony.

Karta Frontonów

  1. Na karcie Frontony sprawdź, czy typ adresu IP frontonu jest ustawiony na Publiczny.
    Adres IP frontonu można skonfigurować tak, aby był publiczny lub oba w zależności od przypadku użycia. W tym przykładzie wybierzesz publiczny adres IP frontonu.

    Uwaga

    W przypadku jednostki SKU usługi Application Gateway w wersji 2 obsługiwane są obecnie typy publicznych i obu adresów IP frontonu. Konfiguracja prywatnego adresu IP frontonu nie jest obecnie obsługiwana.

  2. Wybierz pozycję Dodaj nowy dla publicznego adresu IP i wprowadź ciąg myAGPublicIPAddress jako nazwę publicznego adresu IP, a następnie wybierz przycisk OK.

    Zrzut ekranu przedstawiający tworzenie nowej bramy aplikacji: frontony.

  3. Wybierz pozycję Dalej: zaplecza.

Karta Zaplecza

Pula zaplecza służy do kierowania żądań do serwerów zaplecza obsługujących żądanie. Pule zaplecza mogą składać się z kart sieciowych, zestawów skalowania maszyn wirtualnych, publicznych adresów IP, wewnętrznych adresów IP, w pełni kwalifikowanych nazw domen (FQDN) i wielodostępnych zapleczy, takich jak aplikacja systemu Azure Service. W tym przykładzie utworzysz pustą pulę zaplecza z bramą aplikacji, a następnie dodasz elementy docelowe zaplecza do puli zaplecza.

  1. Na karcie Zaplecza wybierz pozycję Dodaj pulę zaplecza.

  2. W oknie Dodawanie puli zaplecza, które zostanie otwarte, wprowadź następujące wartości, aby utworzyć pustą pulę zaplecza:

    • Nazwa: wprowadź nazwę puli zaplecza myBackendPool .
    • Dodaj pulę zaplecza bez obiektów docelowych: wybierz pozycję Tak , aby utworzyć pulę zaplecza bez obiektów docelowych. Obiekty docelowe zaplecza zostaną dodane po utworzeniu bramy aplikacji.
  3. W oknie Dodawanie puli zaplecza wybierz pozycję Dodaj, aby zapisać konfigurację puli zaplecza i wrócić do karty Zaplecza.

    Zrzut ekranu przedstawiający tworzenie nowej bramy aplikacji: zaplecza.

  4. Na karcie Zaplecza wybierz pozycję Dalej: Konfiguracja.

Karta konfiguracji

Na karcie Konfiguracja połączysz pulę frontonu i zaplecza utworzoną przy użyciu reguły routingu.

  1. Wybierz pozycję Dodaj regułę routingu w kolumnie Reguły routingu.

  2. W oknie Dodawanie reguły routingu, które zostanie otwarte, wprowadź nazwę reguły myRoutingRule.

  3. W polu Priorytet wpisz numer priorytetu.

  4. Reguła routingu wymaga odbiornika. Na karcie Odbiornik w oknie Dodawanie reguły routingu wprowadź następujące wartości dla odbiornika:

    • Nazwa odbiornika: wprowadź wartość myListener jako nazwę odbiornika.

    • Protokół IP frontonu: wybierz pozycję Publiczny protokół IPv4 , aby wybrać publiczny adres IP utworzony dla frontonu.

      Zaakceptuj wartości domyślne innych ustawień na karcie Odbiornik , a następnie wybierz kartę Elementy docelowe zaplecza, aby skonfigurować pozostałą część reguły routingu.

    Zrzut ekranu przedstawiający tworzenie nowej bramy aplikacji: odbiornik.

  5. Na karcie Elementy docelowe zaplecza wybierz pozycję myBackendPool dla obiektu docelowego zaplecza.

  6. W obszarze Ustawienia zaplecza wybierz pozycję Dodaj nowe , aby utworzyć nowe ustawienie zaplecza. To ustawienie określa zachowanie reguły routingu. W wyświetlonym oknie Dodawanie zaplecza wprowadź nazwę ustawień zaplecza myBackendSetting. Zaakceptuj wartości domyślne innych ustawień w oknie, a następnie wybierz pozycję Dodaj, aby powrócić do okna Dodawanie reguły routingu.

    Zrzut ekranu przedstawiający ustawienie Tworzenie nowej bramy aplikacji i zaplecza.

  7. W oknie Dodawanie reguły routingu wybierz pozycję Dodaj, aby zapisać regułę routingu i wrócić do karty Konfiguracja.

    Zrzut ekranu przedstawiający tworzenie nowej bramy aplikacji: reguła routingu.

  8. Wybierz pozycję Dalej: Tagi , a następnie Dalej: Przejrzyj i utwórz.

Karta Przeglądanie i tworzenie

Przejrzyj ustawienia na karcie Przeglądanie i tworzenie , a następnie wybierz pozycję Utwórz , aby utworzyć sieć wirtualną, publiczny adres IP i bramę aplikacji. Utworzenie bramy aplikacji na platformie Azure może potrwać kilka minut.

Zaczekaj na pomyślne zakończenie wdrożenia, zanim przejdziesz do kolejnej sekcji.

Dodawanie podsieci serwera zaplecza

  1. Otwórz sieć wirtualną myVNet.
  2. W obszarze Ustawienia wybierz pozycję Podsieci.
  3. Wybierz pozycję + Podsieć.
  4. W polu Nazwa wpisz myBackendSubnet.
  5. W polu Adres początkowy wpisz 10.0.1.0.
  6. Wybierz pozycję Dodaj , aby dodać podsieć.

Dodawanie obiektów docelowych zaplecza

W tym przykładzie używasz maszyn wirtualnych jako docelowego zaplecza. Możesz użyć istniejących maszyn wirtualnych lub utworzyć nowe. Utworzysz dwie maszyny wirtualne używane przez platformę Azure jako serwery zaplecza dla bramy aplikacji.

W tym celu wykonasz następujące czynności:

  1. Utwórz dwie nowe maszyny wirtualne z systemem Linux, myVM i myVM2 do użycia jako serwery zaplecza.
  2. Zainstaluj serwer NGINX na maszynach wirtualnych, aby sprawdzić, czy brama aplikacji została pomyślnie utworzona.
  3. Dodaj serwery zaplecza do puli zaplecza.

Tworzenie maszyny wirtualnej

  1. W witrynie Azure Portal wybierz pozycję Utwórz zasób. Zostanie wyświetlone okno Tworzenie zasobu .

  2. W obszarze Maszyna wirtualna wybierz pozycję Utwórz.

  3. Wprowadź następujące wartości na karcie Podstawy dla poniższych ustawień maszyny wirtualnej:

    • Grupa zasobów: wybierz nazwę grupy zasobów myResourceGroupAG .
    • Nazwa maszyny wirtualnej: wprowadź nazwę maszyny wirtualnej myVM .
    • Obraz: Ubuntu Server 20.04 LTS — Gen2.
    • Typ uwierzytelniania: Hasło
    • Nazwa użytkownika: wprowadź nazwę nazwy użytkownika administratora.
    • Hasło: wprowadź hasło dla hasła administratora.
    • Publiczne porty wejściowe: wybierz pozycję Brak.
  4. Zaakceptuj inne wartości domyślne, a następnie wybierz pozycję Dalej: Dyski.

  5. Zaakceptuj wartości domyślne karty Dyski, a następnie wybierz pozycję Dalej: Sieć.

  6. Na karcie Sieć sprawdź, czy wybrano pozycję myVNet w obszarze Sieć wirtualna oraz czy pozycja Podsieć została ustawiona na wartość myBackendSubnet.

  7. W obszarze Publiczny adres IP wybierz pozycję Brak.

  8. Zaakceptuj inne wartości domyślne, a następnie wybierz pozycję Dalej: Zarządzanie.

  9. Wybierz pozycję Dalej: Monitorowanie, ustaw opcję Diagnostyka rozruchu na Wartość Wyłącz. Zaakceptuj pozostałe wartości domyślne, a następnie wybierz pozycję Przeglądanie + tworzenie.

  10. Na karcie Przeglądanie + tworzenie przejrzyj ustawienia, usuń wszystkie błędy walidacji, a następnie wybierz pozycję Utwórz.

  11. Poczekaj na ukończenie tworzenia maszyny wirtualnej, zanim przejdziesz dalej.

Instalowanie serwera NGINX na potrzeby testowania

W tym przykładzie zainstalujesz serwer NGINX na maszynach wirtualnych tylko w celu sprawdzenia, czy platforma Azure pomyślnie utworzyła bramę aplikacji.

  1. Otwórz powłokę Bash Cloud Shell. W tym celu wybierz ikonę usługi Cloud Shell na górnym pasku nawigacyjnym witryny Azure Portal, a następnie wybierz pozycję Bash z listy rozwijanej.

    Zrzut ekranu przedstawiający powłokę Bash Cloud Shell.

  2. Upewnij się, że sesja powłoki bash jest ustawiona dla twojej subskrypcji:

    az account set --subscription "<your subscription name>"

  3. Uruchom następujące polecenie, aby zainstalować serwer NGINX na maszynie wirtualnej:

     az vm extension set \
     --publisher Microsoft.Azure.Extensions \
     --version 2.0 \
     --name CustomScript \
     --resource-group myResourceGroupAG \
     --vm-name myVM \
     --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
    
  4. Utwórz drugą maszynę wirtualną i zainstaluj serwer NGINX, wykonując te kroki, które zostały wcześniej ukończone. Użyj maszyny wirtualnej myVM2 jako nazwy maszyny wirtualnej i --vm-name ustawienia polecenia cmdlet.

Dodawanie serwerów zaplecza do puli zaplecza

  1. Wybierz pozycję Wszystkie zasoby, a następnie wybierz pozycję myAppGateway.

  2. Wybierz pozycję Pule zaplecza w menu po lewej stronie.

  3. Wybierz pozycję myBackendPool.

  4. W obszarze Typ docelowy wybierz pozycję Maszyna wirtualna z listy rozwijanej.

  5. W obszarze Cel wybierz skojarzony interfejs sieciowy dla maszyny wirtualnej myVM z listy rozwijanej.

  6. Powtórz dla maszyny myVM2.

    Dodawanie serwerów zaplecza

  7. Wybierz pozycję Zapisz.

  8. Przed przejściem do następnego kroku poczekaj na zakończenie wdrożenia.

Testowanie bramy aplikacji

Mimo że serwer NGINX nie jest wymagany do utworzenia bramy aplikacji, zainstalowano ją w celu sprawdzenia, czy platforma Azure pomyślnie utworzyła bramę aplikacji. Użyj usługi internetowej, aby przetestować bramę aplikacji:

  1. Na ekranie Omówienie znajdź publiczny adres IP bramy aplikacji. Zrzut ekranu przedstawiający publiczny adres IP usługi Application Gateway na stronie Przegląd.

    Możesz też wybrać pozycję Wszystkie zasoby, wprowadzić ciąg myAGPublicIPAddress w polu wyszukiwania, a następnie wybrać go w wynikach wyszukiwania. Platforma Azure wyświetla publiczny adres IP na stronie Omówienie.

  2. Skopiuj publiczny adres IP, a następnie wklej go na pasku adresu przeglądarki.

  3. Sprawdź odpowiedź. Prawidłowa odpowiedź sprawdza, czy brama aplikacji została pomyślnie utworzona i może pomyślnie nawiązać połączenie z zapleczem.

    Zrzut ekranu przedstawiający testowanie bramy aplikacji.

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów utworzonych za pomocą bramy aplikacji, usuń grupę zasobów. Usuwając grupę zasobów, usuwasz również bramę aplikacji i wszystkie powiązane z nią zasoby.

Aby usunąć grupę zasobów:

  1. W menu po lewej stronie witryny Azure Portal wybierz pozycję Grupy zasobów.
  2. Na stronie Grupy zasobów wyszukaj pozycję myResourceGroupAG na liście i wybierz ją.
  3. Na stronie grupy zasobów wybierz pozycję Usuń grupę zasobów.
  4. Wprowadź ciąg myResourceGroupAG w polu WPISZ NAZWĘ GRUPY ZASOBÓW, a następnie wybierz pozycję Usuń.

Następne kroki