Integrera en ILB App Service-miljö med Azure Application Gateway

Den App Service-miljön är en distribution av Azure App Service i undernätet i en kunds virtuella Azure-nätverk. Den kan distribueras med en extern eller intern slutpunkt för appåtkomst. Distributionen av App Service miljö med en intern slutpunkt kallas för en intern lastbalanserare (ILB) App Service miljö (ASE).

Brandväggar för webbaserade program hjälper dig att skydda dina webbprogram genom att granska inkommande webbtrafik för att blockera SQL- injections, skript för flera webbplatser, uppladdning av skadlig kod & DDoS och andra attacker. Du kan hämta en WAF-enhet från Azure Marketplace eller så kan du använda Azure Application Gateway.

Den Azure Application Gateway är en virtuell installation som tillhandahåller Layer 7-belastningsutjämning, TLS/SSL-avlastning och brandväggsskydd för webbaserade program (WAF). Den kan lyssna på en offentlig IP-adress och dirigera trafik till din programslutpunkt. Följande information beskriver hur du integrerar en WAF-konfigurerad programgateway med en app i en ILB App Service miljö.

Integreringen av programgatewayen med ILB App Service miljön är på appnivå. När du konfigurerar programgatewayen med din ILB App Service-miljö gör du det för specifika appar i din ILB App Service miljö. Den här tekniken gör det möjligt att vara värd för säkra program för flera samma App Service ILB.

Skärmbild av diagram över högnivåintegrering

I den här genomgången kommer du att:

  • Skapa en Azure Application Gateway.
  • Konfigurera programgatewayen så att den pekar på en app i din ILB App Service miljö.
  • Redigera det offentliga DNS-värdnamnet som pekar på din programgateway.

Förutsättningar

För att integrera din programgateway med din ILB App Service-miljö behöver du:

  • En ILB App Service miljö.
  • En privat DNS-zon för ILB App Service miljö.
  • En app som körs i ILB App Service miljön.
  • Ett offentligt DNS-namn som används senare för att peka på din programgateway.
  • Om du behöver använda TLS/SSL-kryptering till programgatewayen krävs ett giltigt offentligt certifikat som används för att binda till programgatewayen.

ILB App Service miljö

Mer information om hur du skapar en ILB App Service miljö finns i Skapa en ASE i Azure Portal och Skapa en ASE med ARM.

  • När ILB ASE har skapats är standarddomänen <YourAseName>.appserviceenvironment.net .

    Skärmbild av översikt över ILB ASE

  • En intern lastbalanserare etableras för inkommande åtkomst. Du kan kontrollera den inkommande adressen i IP-adresserna under ASE-Inställningar. Du kan skapa en privat DNS-zon som mappas till den här IP-adressen senare.

    Skärmbild av att hämta den inkommande adressen från inställningarna för ILB ASE-IP-adresser.

En privat DNS-zon

Du behöver en privat DNS-zon för intern namnmatchning. Skapa den med ase-namnet med postuppsättningarna som visas i följande tabell (anvisningar finns i Snabbstart –Skapa en privat DNS-zon i Azure med hjälp av Azure Portal ).

Namn Typ Värde
* A INKOMMANDE ASE-adress
@ A INKOMMANDE ASE-adress
@ SOA ASE DNS-namn
*.scm A INKOMMANDE ASE-adress

App Service på ILB ASE

Du måste skapa en App Service plan och en app i din ILB ASE. När du skapar appen i portalen väljer du din ILB ASE som Region.

Ett offentligt DNS-namn till programgatewayen

Om du vill ansluta till programgatewayen från Internet behöver du ett dirigerbart domännamn. I det här fallet använde jag ett dirigerbart domännamn och planerar att ansluta till asabuludemo.com en App Service med det här domännamnet app.asabuludemo.com . IP-adresserna som mappas till det här appdomännamnet måste anges till den offentliga IP-adressen efter att programgatewayen har skapats. Med en offentlig domän mappad till programgatewayen behöver du inte konfigurera en anpassad domän i App Service. Du kan köpa ett anpassat domännamn med App Service Domains.

Ett giltigt offentligt certifikat

För säkerhetsförbättring rekommenderar vi att du binder TLS/SSL-certifikat för sessionskryptering. För att binda TLS/SSL-certifikat till programgatewayen krävs ett giltigt offentligt certifikat med följande information. Med App Service certifikatkan du köpa ett TLS/SSL-certifikat och exportera det i PFX-format.

Name Värde Beskrivning
Eget namn <yourappname>.<yourdomainname>, till exempel: app.asabuludemo.com
eller *.<yourdomainname> , till exempel: *.asabuludemo.com
Ett standardcertifikat eller ett jokerteckencertifikat för programgatewayen
Alternativt namn för certifikatmottagare <yourappname>.scm.<yourdomainname>, till exempel: app.scm.asabuludemo.com
eller *.scm.<yourdomainname> , till exempel: *.scm.asabuludemo.com
SAN som gör det möjligt att ansluta App Service kudu-tjänsten. Det är en valfri inställning om du inte vill publicera App Service kudu-tjänsten på Internet.

Certifikatfilen ska ha en privat nyckel och spara den i PFX-format. Den importeras till programgatewayen senare.

Skapa en programgateway

Information om hur du skapar en grundläggande programgateway finns i Självstudie:Skapa en programgateway med en Web Application Firewall med hjälp av Azure Portal .

I den här självstudien använder vi Azure Portal för att skapa en programgateway med ILB App Service miljö.

I den Azure Portal väljer du Nytt nätverk > för > Application Gateway för att skapa en programgateway.

  1. Inställning för grundläggande inställningar

    I listrutan Nivå kan du välja Standard V2 eller WAF V2 för att aktivera WAF-funktionen på programgatewayen.

  2. Inställningar för frontends

    Välj IP-adresstyp för frontend till Offentlig, Privat eller Båda. Om du anger Privat eller Båda måste du tilldela en statisk IP-adress i programgatewayens undernätsintervall. I det här fallet ställer vi in på Offentlig IP endast för offentlig slutpunkt.

    • Offentlig IP-adress – Du måste associera en offentlig IP-adress för den offentliga åtkomsten till programgatewayen. Registrera den här IP-adressen. Du måste lägga till en post i DNS-tjänsten senare.

      Skärmbild av hur du hämtar en offentlig IP-adress från programgatewayens frontends-inställning.

  3. Inställning för backends

    Ange ett namn på backend-poolen och välj App Services IP-adress eller FQDN i Måltyp. I det här fallet anger vi App Services och väljer App Service namn i mållistrutan.

    Skärmbild av att lägga till ett namn på en backend-pool i inställningen för backends.

  4. Konfigurationsuppsättning

    I Konfigurationsinställning måste du lägga till en routningsregel genom att klicka på ikonen Lägg till en routningsregel.

    Skärmbild av att lägga till en routningsregel i konfigurationsinställningen.

    Du måste konfigurera en lyssnare och backend-mål i en routningsregel. Du kan lägga till en HTTP-lyssnare för proof of concept-distribution eller lägga till en HTTPS-lyssnare för att förbättra säkerheten.

    • Om du vill ansluta till programgatewayen med HTTP-protokollet kan du skapa en lyssnare med följande inställningar,

      Parameter Värde Beskrivning
      Regelnamn Exempelvis: http-routingrule Routningsnamn
      Lyssnarens namn Exempelvis: http-listener Lyssnarens namn
      Klientdels-IP Offentliga För Internetåtkomst anger du till Offentlig
      Protokoll HTTP Använd inte TLS/SSL-kryptering
      Port 80 Http-standardport
      Lyssnartyp Flera webbplatser Tillåt att lyssna på flera platser på programgatewayen
      Värdtyp Flera/jokertecken Ange till webbplatsnamn med flera eller jokertecken om lyssnartypen är inställd på flera platser.
      Värdnamn Exempelvis: app.asabuludemo.com Ange till ett dirigerbart domännamn för App Service

      Skärmbild av HTTP-lyssnare för routningsregeln för programgatewayen.

    • Om du vill ansluta till programgatewayen med TLS/SSL-kryptering kan du skapa en lyssnare med följande inställningar,

      Parameter Värde Beskrivning
      Regelnamn Exempelvis: https-routingrule Routningsnamn
      Lyssnarens namn Exempelvis: https-listener Lyssnarens namn
      Klientdels-IP Offentliga För Internetåtkomst anger du till Offentlig
      Protokoll HTTPS Använda TLS/SSL-kryptering
      Port 443 Https-standardport
      Https-Inställningar Upload ett certifikat Upload ett certifikat innehåller CN och den privata nyckeln i PFX-format.
      Lyssnartyp Flera webbplatser Tillåt att lyssna på flera platser på programgatewayen
      Värdtyp Flera/jokertecken Ange till webbplatsnamn med flera eller jokertecken om lyssnartypen är inställd på flera platser.
      Värdnamn Exempelvis: app.asabuludemo.com Ange till ett dirigerbart domännamn för App Service

      H T T P S-lyssnare för application gateway-routningsregeln.

    • Du måste konfigurera en backend-pool och HTTP-inställning i Backend-mål. Backend-poolen konfigurerades i tidigare steg. Klicka på Lägg till ny länk för att lägga till en HTTP-inställning.

      Skärmbild av att lägga till en ny länk för att lägga till en H T T P-inställning.

    • HTTP-inställningar som anges enligt nedan:

      Parameter Värde Beskrivning
      HTTP-inställningsnamn Exempelvis: https-setting HTTP-inställningsnamn
      Backend-protokoll HTTPS Använda TLS/SSL-kryptering
      Serverdelsport 443 Https-standardport
      Använda välkända CA-certifikat Yes Standarddomännamnet för ILB ASE är .appserviceenvironment.net , certifikatet för den här domänen utfärdas av en offentlig betrodd rotutfärdare. I inställningen Betrott rotcertifikat kan du ange att använda välkända betrodda ca betrodda rotcertifikat.
      Åsidosätt med nytt värdnamn Yes Värdnamnsrubriken skrivs över vid anslutning till appen på ILB ASE
      Åsidosättning av värdnamn Välj värdnamn från backend-målet När du ställer in backend-App Service kan du välja värd från backend-målet
      Skapa anpassade avsökningar No Använd standardhälsoavsökning

      Skärmbild av dialogrutan **Lägg till en H T T P-inställning**.

Konfigurera en application gateway-integrering med ILB ASE

För att få åtkomst till ILB ASE från programgatewayen måste du kontrollera om en virtuell nätverkslänk till den privata DNS-zonen. Om det inte finns något virtuellt nätverk länkat till programgatewayens VNet lägger du till en virtuell nätverkslänk med följande steg.

  • Om du vill konfigurera en virtuell nätverkslänk med en privat DNS-zon går du till konfigurationsplanet för den privata DNS-zonen. Välj länkarna För virtuella nätverk Lägg > till

Lägg till en virtuell nätverkslänk i den privata DNS-zonen.

  • Ange länknamnet och välj respektive prenumeration och det virtuella nätverk där programgatewayen finns.

Skärmbild av inställningen namn på indatalänk till virtuella nätverkslänkar i den privata DNS-zonen.

  • Du kan bekräfta hälsotillståndet för backend från backend-hälsotillståndet i programmets gatewayplan.

Skärmbild av att bekräfta hälsotillståndet för backend från backend-hälsotillståndet.

Lägga till en offentlig DNS-post

Du måste konfigurera en korrekt DNS-mappning vid åtkomst till programgatewayen från Internet.

  • Den offentliga IP-adressen för programgatewayen finns i IP-konfigurationer för frontend i programmets gatewayplan.

Application Gateway-ip-adressen för frontend finns i IP-konfiguration för frontend.

  • Använd Azure DNS-tjänsten som exempel kan du lägga till en postuppsättning för att mappa appdomännamnet till den offentliga IP-adressen för programgatewayen.

Skärmbild av att lägga till en postuppsättning för att mappa appens domännamn till den offentliga IP-adressen för programgatewayen.

Verifiera anslutningen

  • På en datoråtkomst från Internet kan du verifiera namnmatchning för appens domännamn till programgatewayens offentliga IP-adress.

validera namnmatchning från en kommandotolk.

  • På en datoråtkomst från Internet testar du webbåtkomsten från en webbläsare.

Skärmbild av att öppna en webbläsare och komma åt webben.