Självstudie: Skapa en programgateway med Web Application Firewall med Azure-portalen

Den här självstudien visar hur du använder Azure Portal för att skapa en Application Gateway med en Web Application Firewall (WAF). I brandväggen används OWASP-regler till att skydda programmet. De här reglerna kan exempelvis skydda mot attacker som SQL-inmatning, skriptattacker mellan webbplatser och sessionskapningar. När du har skapat programgatewayen testar du den för att kontrollera att den fungerar korrekt. Med Azure Application Gateway dirigerar du programwebbtrafiken till specifika resurser genom att tilldela lyssnare till portar, skapa regler och lägga till resurser i en serverdelspool. För enkelhetens skull använder den här självstudien en enkel konfiguration med en offentlig IP-adress på klientsidan, en grundläggande lyssnare som är värd för en enda plats på den här programgatewayen, två virtuella Linux-datorer som används för serverdelspoolen och en grundläggande routningsregel för begäranden.

I den här guiden får du lära dig att:

  • Skapa en programgateway med WAF aktiverat
  • Skapa de virtuella datorer som används som serverdelsservrar
  • Skapa ett lagringskonto och konfigurera diagnostik
  • Testa programgatewayen

Diagram över brandväggsexemplet för webbprogram.

Anteckning

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Krav

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Logga in på Azure

Logga in på Azure-portalen.

Skapa en programgateway

  1. Välj Skapa en resurs på den vänstra menyn på Azure-portalen. Fönstret Nytt visas.

  2. Välj Nätverk och välj sedan Application Gateway i listan Aktuella.

Fliken Grundläggande

  1. På fliken Grundläggande anger du följande värden för följande inställningar för programgatewayen:

    • Resursgrupp: Välj myResourceGroupAG för resursgruppen. Om den inte finns väljer du Skapa ny för att skapa den.

    • Namn på programgateway: Ange myAppGateway som namn på programgatewayen.

    • Nivå: välj WAF V2.

    • WAF-princip: Välj Skapa ny, ange ett namn för den nya principen och välj sedan OK. Detta skapar en grundläggande WAF-princip med en hanterad core rule set (CRS).

      Skärmbild av fliken Skapa ny programgateway: Grundläggande.

  2. För att Azure ska kunna kommunicera mellan resurserna som du skapar krävs ett virtuellt nätverk. Du kan antingen skapa ett nytt virtuellt nätverk eller använda ett befintligt nätverk. I det här exemplet skapar du ett nytt virtuellt nätverk samtidigt som du skapar programgatewayen. Application Gateway instanser skapas i separata undernät. Du skapar två undernät i det här exemplet: ett för programgatewayen och ett för backend-servrarna.

    Under Konfigurera virtuellt nätverk väljer du Skapa nytt för att skapa ett nytt virtuellt nätverk. I fönstret Skapa virtuellt nätverk som öppnas anger du följande värden för att skapa det virtuella nätverket och två undernät:

    • Namn: Ange myVNet som namn på det virtuella nätverket.

    • Undernätsnamn (Application Gateway undernät): Rutnätet Undernät visar ett undernät med namnet Standard. Ändra namnet på det här undernätet till myAGSubnet.
      Undernätet för en programgateway kan endast innehålla programgatewayer. Inga andra resurser är tillåtna.

    • Undernätsnamn (serverdelsundernät): På den andra raden i rutnätet Undernät anger du myBackendSubnet i kolumnen Undernätsnamn .

    • Adressintervall (serverdelsundernät): På den andra raden i undernätsrutnätet anger du ett adressintervall som inte överlappar adressintervallet för myAGSubnet. Om adressintervallet för myAGSubnet till exempel är 10.21.0.0/24 anger du 10.21.1.0/24 för adressintervallet för myBackendSubnet.

    Välj OK för att stänga fönstret Skapa virtuellt nätverk och spara inställningarna för det virtuella nätverket.

    Skärmbild av Skapa ny programgateway: Skapa virtuellt nätverk.

  3. På fliken Grundläggande accepterar du standardvärdena för de andra inställningarna och väljer sedan Nästa: Klientdelar.

Fliken Klientdelar

  1. På fliken Klientdelar kontrollerar du att IP-adresstypen för klientdelen är inställd på Offentlig.
    Du kan konfigurera klientdels-IP-adressen så att den är offentlig eller Båda enligt ditt användningsfall. I det här exemplet väljer du en OFFENTLIG IP-adress för klientdelen.

    Anteckning

    För Application Gateway v2-SKU:n stöds ip-adresstyperna Public och Both Frontend i dag. Ip-konfiguration för privata klientdelar stöds inte för närvarande.

  2. Välj Lägg till ny för den offentliga IP-adressen och ange myAGPublicIPAddress som namn på den offentliga IP-adressen och välj sedan OK.

    Skärmbild av Skapa ny programgateway: Klientdelar.

  3. Välj Nästa: Serverdelar.

Fliken Serverdelar

Serverdelspoolen används för att dirigera begäranden till serverdelsservrarna som hanterar begäran. Serverdelspooler kan bestå av nätverkskort, VM-skalningsuppsättningar, offentliga IP-adresser, interna IP-adresser, fullständigt kvalificerade domännamn (FQDN) och serverdelar för flera klientorganisationer som Azure App Service. I det här exemplet skapar du en tom serverdelspool med programgatewayen och lägger sedan till serverdelsmål i serverdelspoolen.

  1. På fliken Serverdelar väljer du Lägg till en serverdelspool.

  2. I fönstret Lägg till en serverdelspool som öppnas anger du följande värden för att skapa en tom serverdelspool:

    • Namn: Ange myBackendPool som namn på serverdelspoolen.
    • Lägg till serverdelspool utan mål: Välj Ja för att skapa en serverdelspool utan mål. Du lägger till serverdelsmål när du har skapat programgatewayen.
  3. I fönstret Lägg till en serverdelspool väljer du Lägg till för att spara konfigurationen av serverdelspoolen och återgå till fliken Serverdelar .

    Skärmbild av Skapa ny programgateway: Serverdelar.

  4. På fliken Serverdelar väljer du Nästa: Konfiguration.

Fliken Konfiguration

På fliken Konfiguration ansluter du klientdels- och serverdelspoolen som du skapade med hjälp av en routningsregel.

  1. Välj Lägg till en routningsregel i kolumnen Routningsregler .

  2. I fönstret Lägg till en routningsregel som öppnas anger du myRoutingRule som regelnamn.

  3. För Prioritet anger du ett prioritetsnummer.

  4. En routningsregel kräver en lyssnare. På fliken Lyssnare i fönstret Lägg till en routningsregel anger du följande värden för lyssnaren:

    • Lyssnarnamn: Ange myListener som namn på lyssnaren.

    • Klientdels-IP: Välj Offentlig för att välja den offentliga IP-adress som du skapade för klientdelen.

      Acceptera standardvärdena för de andra inställningarna på fliken Lyssnare och välj sedan fliken Serverdelsmål för att konfigurera resten av routningsregeln.

    Skärmbild som visar Skapa ny programgateway: lyssnare.

  5. På fliken Serverdelsmål väljer du myBackendPool för serverdelsmålet.

  6. För serverdelsinställningarna väljer du Lägg till ny för att skapa en ny serverdelsinställning. Den här inställningen bestämmer routningsregelns beteende. I inställningsfönstret Lägg till serverdel som öppnas anger du myBackendSetting som namn på serverdelsinställningar. Acceptera standardvärdena för de andra inställningarna i fönstret och välj sedan Lägg till för att återgå till fönstret Lägg till en routningsregel .

    Skärmbild som visar inställningen Skapa ny programgateway, serverdel.

  7. I fönstret Lägg till en routningsregel väljer du Lägg till för att spara routningsregeln och återgår till fliken Konfiguration .

    Skärmbild som visar Skapa ny programgateway: routningsregel.

  8. Välj Nästa: Taggar och sedan Nästa: Granska + skapa.

Fliken Granska + skapa

Granska inställningarna på fliken Granska + skapa och välj sedan Skapa för att skapa det virtuella nätverket, den offentliga IP-adressen och programgatewayen. Det kan ta flera minuter för Azure att skapa programgatewayen.

Vänta tills distributionen har slutförts innan du går vidare till nästa avsnitt.

Lägga till serverdelsmål

I det här exemplet använder du virtuella datorer som målserverdel. Du kan antingen använda befintliga virtuella datorer eller skapa nya. Du skapar två virtuella datorer som Azure använder som serverdelsservrar för programgatewayen.

För att göra detta gör du följande:

  1. Skapa två nya virtuella Linux-datorer, myVM och myVM2, som ska användas som serverdelsservrar.
  2. Installera NGINX på de virtuella datorerna för att kontrollera att programgatewayen har skapats.
  3. Lägg till serverdelsservrarna i serverdelspoolen.

Skapa en virtuell dator

  1. Välj Skapa en resurs på Azure-portalen. Fönstret Skapa en resurs visas.

  2. Under Virtuell dator väljer du Skapa.

  3. Ange dessa värden på fliken Grundläggande inställningar för följande inställningar för virtuella datorer:

    • Resursgrupp: Välj myResourceGroupAG som resursgruppsnamn.
    • Namn på virtuell dator: Ange myVM som namn på den virtuella datorn.
    • Bild: Ubuntu Server 20.04 LTS – Gen2.
    • Autentiseringstyp: Lösenord
    • Användarnamn: Ange ett namn för administratörens användarnamn.
    • Lösenord: Ange ett lösenord för administratörslösenordet.
    • Offentliga inkommande portar: Välj Ingen.
  4. Acceptera de andra standardvärdena och välj sedan Nästa: Diskar.

  5. Acceptera standardinställningarna på fliken Diskar och välj sedan Nästa: Nätverk.

  6. På fliken Nätverk kontrollerar du att myVNet har valts för Virtuellt nätverk och att Undernät är inställt på myBackendSubnet.

  7. För Offentlig IP väljer du Ingen.

  8. Acceptera de andra standardvärdena och välj sedan Nästa: Hantering.

  9. Välj Nästa: Övervakning, ställ in StartdiagnostikInaktivera. Acceptera de övriga standardinställningarna och välj sedan Granska + skapa.

  10. Gå igenom inställningarna på fliken Granska + skapa och åtgärda eventuella verifieringsfel och välj sedan Skapa.

  11. Vänta på att skapandet av den virtuella datorn är klart innan du fortsätter.

Installera NGINX för testning

I det här exemplet installerar du NGINX på de virtuella datorerna bara för att verifiera att Azure har skapat programgatewayen.

  1. Öppna en Bash-Cloud Shell. Det gör du genom att välja ikonen Cloud Shell i det övre navigeringsfältet i Azure Portal och sedan välja Bash i listrutan.

    Skärmbild som visar Bash-Cloud Shell.

  2. Kör följande kommando för att installera NGINX på den virtuella datorn:

     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. Skapa en andra virtuell dator och installera NGINX med de här stegen som du slutförde tidigare. Använd myVM2 för namnet på den virtuella datorn och för inställningen --vm-name för cmdleten.

Lägga till serverdelsservrar i serverdelspoolen

  1. Välj Alla resurser och välj sedan myAppGateway.

  2. Välj Serverdelspooler på den vänstra menyn.

  3. Välj myBackendPool.

  4. Under Måltyp väljer du Virtuell dator i listrutan.

  5. Under Mål väljer du det associerade nätverksgränssnittet för myVM i listrutan.

  6. Upprepa för myVM2.

    Lägga till serverdelsservrar

  7. Välj Spara.

  8. Vänta tills distributionen har slutförts innan du fortsätter till nästa steg.

Testa programgatewayen

Även om NGINX inte krävs för att skapa programgatewayen installerade du den för att kontrollera om Azure har skapat programgatewayen. Använd webbtjänsten för att testa programgatewayen:

  1. Leta reda på den offentliga IP-adressen för programgatewayen på skärmen Översikt. Skärmbild av Application Gateway offentlig IP-adress på översiktssidan.

    Eller så kan du välja Alla resurser, ange myAGPublicIPAddress i sökrutan och sedan välja den i sökresultaten. Azure visar den offentliga IP-adressen på sidan Översikt.

  2. Kopiera den offentliga IP-adressen och klistra in den i webbläsarens adressfält.

  3. Kontrollera svaret. Ett giltigt svar verifierar att programgatewayen har skapats och att den kan ansluta till serverdelen.

    Skärmbild av testning av programgatewayen.

Rensa resurser

När du inte längre behöver de resurser som du skapade med programgatewayen kan du ta bort resursgruppen. När du tar bort resursgruppen tas även programgatewayen och alla dess relaterade resurser bort.

Så här tar du bort resursgruppen:

  1. Välj Resursgrupper på den vänstra menyn på Azure-portalen.
  2. På sidan Resursgrupper söker du efter och väljer myResourceGroupAG.
  3. Välj Ta bort resursgrupp på sidan Resursgrupp.
  4. Ange myResourceGroupAG som TYP RESURSGRUPPENS NAMN och välj sedan Ta bort.

Nästa steg