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

W tym samouczku pokazano, jak utworzyć Application Gateway przy użyciu Azure Portal Web Application Firewall (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. Dzięki Azure Application Gateway możesz kierować 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 jednej lokacji w tej bramie aplikacji, dwóch maszyn wirtualnych z systemem Linux używanych na potrzeby puli zaplecza i podstawowej reguły routingu żądań.

Ten samouczek zawiera informacje na temat wykonywania następujących 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 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 Nowe.

  2. Wybierz pozycję Sieć, a następnie wybierz pozycję Application Gateway na liście Polecane.

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 utworzysz nową sieć wirtualną w tym samym czasie, w której tworzysz bramę aplikacji. Application Gateway wystąpienia są tworzone w oddzielnych podsieciach. W tym przykładzie tworzysz dwie podsieci: jedną dla bramy aplikacji i 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 dwie podsieci:

    • Nazwa: wprowadź myVNet jako nazwę sieci wirtualnej.

    • Nazwa podsieci (Application Gateway podsieci): siatka Podsieci będzie zawierać podsieć o nazwie Default. Zmień nazwę tej podsieci na myAGSubnet.
      Podsieć bramy aplikacji może zawierać tylko bramy aplikacji. Inne zasoby nie są dozwolone.

    • Nazwa podsieci (podsieć serwera zaplecza): w drugim wierszu siatki Podsieci wprowadź myBackendSubnet w kolumnie Nazwa podsieci .

    • Zakres adresów (podsieć serwera zaplecza): w drugim wierszu siatki podsieci wprowadź zakres adresów , który nie nakłada się na zakres adresów podsieci myAGSubnet. Jeśli na przykład zakres adresów podsieci myAGSubnet to 10.21.0.0/24, wprowadź wartość 10.21.1.0/24 dla zakresu adresów podsieci myBackendSubnet.

    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 Podstawy 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 jednostek SKU 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ź wartość 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, które obsługują żą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 zapleczy wielodostępnych, takich jak Azure App Service. W tym przykładzie utworzysz pustą pulę zaplecza z bramą aplikacji, a następnie dodasz obiekty docelowe zaplecza do puli zaplecza.

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

  2. W wyświetlonym oknie Dodawanie puli zaplecza 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 Konfiguracja

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 wyświetlonym oknie Dodawanie reguły routingu wprowadź nazwę regułymyRoutingRule.

  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ź myListener jako nazwę odbiornika.

    • Adres IP frontonu: wybierz pozycję Publiczny , 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 elementu 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 Dodawania zaplecza wprowadź nazwę ustawień zapleczamyBackendSetting. 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. Tworzenie bramy aplikacji na platformie Azure może potrwać kilka minut.

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

Dodawanie obiektów docelowych zaplecza

W tym przykładzie użyjesz 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, które będą używane 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ź myVM jako nazwę maszyny wirtualnej.
    • Obraz: Ubuntu Server 20.04 LTS — Gen2.
    • Typ uwierzytelniania: Hasło
    • Nazwa użytkownika: wprowadź nazwę 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 Cloud Shell powłoki Bash. W tym celu wybierz ikonę Cloud Shell z górnego paska nawigacyjnego Azure Portal, a następnie wybierz pozycję Bash z listy rozwijanej.

    Zrzut ekranu przedstawiający Cloud Shell powłoki Bash.

  2. 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" }'
    
  3. Utwórz drugą maszynę wirtualną i zainstaluj serwer NGINX, wykonując te kroki, które zostały wcześniej wykonane. Użyj myVM2 jako nazwy maszyny wirtualnej i ustawienia --vm-name 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 ukoń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 Application Gateway publiczny adres IP 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ź nazwę myResourceGroupAG w polu WPISZ NAZWĘ GRUPY ZASOBÓW , a następnie wybierz pozycję Usuń.

Następne kroki