Distribution av privat Application Gateway (förhandsversion)

Introduktion

Tidigare har Application Gateway v2 SKU:er, och i viss utsträckning v1, krävt offentliga IP-adresser för att möjliggöra hantering av tjänsten. Det här kravet har infört flera begränsningar när det gäller att använda detaljerade kontroller i nätverkssäkerhetsgrupper och routningstabeller. Mer specifikt har följande utmaningar observerats:

  1. Alla Application Gateways v2-distributioner måste innehålla offentlig frontend IP-konfiguration för att möjliggöra kommunikation till gatewayhanterarens tjänsttagg.
  2. Nätverkssäkerhetsgruppassociationer kräver regler för att tillåta inkommande åtkomst från GatewayManager och Utgående åtkomst till Internet.
  3. När du introducerar en standardväg (0.0.0.0/0) för att vidarebefordra trafik någon annanstans än Internet resulterar mått, övervakning och uppdateringar av gatewayen i en misslyckad status.

Application Gateway v2 kan nu hantera vart och ett av dessa objekt för att ytterligare eliminera risken för dataexfiltrering och kontrollera kommunikationens integritet inifrån det virtuella nätverket. Dessa ändringar omfattar följande funktioner:

  1. Ip-adress för privat ip-adress endast klientdels-IP-konfiguration
    • Ingen offentlig IP-adressresurs krävs
  2. Eliminering av inkommande trafik från GatewayManager-tjänsttagg via nätverkssäkerhetsgrupp
  3. Möjlighet att definiera en NSG-regel (Neka alla utgående nätverkssäkerhetsgrupp) för att begränsa utgående trafik till Internet
  4. Möjlighet att åsidosätta standardvägen till Internet (0.0.0.0/0)
  5. DNS-matchning via definierade matchare i det virtuella nätverket Läs mer, inklusive privata DNS-zoner för privata länkar.

Var och en av dessa funktioner kan konfigureras separat. Till exempel kan en offentlig IP-adress användas för att tillåta inkommande trafik från Internet och du kan definiera regeln Neka alla utgående trafik i nätverkssäkerhetsgruppens konfiguration för att förhindra dataexfiltrering.

Publicera till offentlig förhandsversion

Funktionerna i de nya kontrollerna för konfiguration av privata IP-klientdelar, kontroll över NSG-regler och kontroll över routningstabeller finns för närvarande i offentlig förhandsversion. Om du vill ansluta till den offentliga förhandsversionen kan du välja att använda Azure-portalen, PowerShell, CLI eller REST API.

När du ansluter till förhandsversionen etablerar alla nya Application Gateways med möjlighet att definiera valfri kombination av NSG, Routningstabell eller privata IP-konfigurationsfunktioner. Om du vill avregistrera dig från de nya funktionerna och återgå till de aktuella allmänt tillgängliga funktionerna i Application Gateway kan du göra det genom att avregistrera dig från förhandsversionen.

Mer information om förhandsversionsfunktioner finns i Konfigurera förhandsversionsfunktioner i Azure-prenumeration

Registrera dig för förhandsversionen

Använd följande steg för att registrera dig i den offentliga förhandsversionen för de förbättrade Application Gateway-nätverkskontrollerna via Azure-portalen:

  1. Logga in på Azure-portalen.

  2. I sökrutan anger du prenumerationer och väljer Prenumerationer.

    Azure portal search.

  3. Välj länken för prenumerationens namn.

    Select Azure subscription.

  4. Välj Förhandsversionsfunktioner under Inställningar på den vänstra menyn.

    Azure preview features menu.

  5. Du ser en lista över tillgängliga förhandsgranskningsfunktioner och din aktuella registreringsstatus.

    Azure portal list of preview features.

  6. Från Förhandsgranskningsfunktioner skriver du i filterrutan EnableApplicationGatewayNetworkIsolation, markerar funktionen och klickar på Registrera.

    Azure portal filter preview features.

Kommentar

Funktionsregistrering kan ta upp till 30 minuter att övergå från Registrering till Registrerad status.

Mer information om förhandsversionsfunktioner finns i Konfigurera förhandsversionsfunktioner i Azure-prenumeration

Avregistrera från förhandsversionen

Om du vill avanmäla dig från den offentliga förhandsversionen för de förbättrade Application Gateway-nätverkskontrollerna via portalen använder du följande steg:

  1. Logga in på Azure-portalen.

  2. I sökrutan anger du prenumerationer och väljer Prenumerationer.

    Azure portal search.

  3. Välj länken för prenumerationens namn.

    Select Azure subscription.

  4. Välj Förhandsversionsfunktioner under Inställningar på den vänstra menyn.

    Azure preview features menu.

  5. Du ser en lista över tillgängliga förhandsgranskningsfunktioner och din aktuella registreringsstatus.

    Azure portal list of preview features.

  6. Från Förhandsgranskningsfunktioner skriver du i filterrutan EnableApplicationGatewayNetworkIsolation, markerar funktionen och klickar på Avregistrera.

    Azure portal filter preview features.

Regioner och tillgänglighet

Förhandsversionen av private application gateway är tillgänglig för alla offentliga molnregioner där Application Gateway v2 sku stöds.

Konfiguration av nätverkskontroller

Efter registreringen till den offentliga förhandsversionen kan konfigurationen av NSG, routningstabellen och klientdelskonfigurationen för privata IP-adresser utföras med alla metoder. Till exempel: REST API, ARM Template, Bicep deployment, Terraform, PowerShell, CLI eller Portal. Inga API- eller kommandoändringar introduceras med den här offentliga förhandsversionen.

Resursändringar

När din gateway har etablerats tilldelas en resurstagg automatiskt med namnet EnhancedNetworkControl och värdet True. Se följande exempel:

View the EnhancedNetworkControl tag

Resurstaggen är kosmetisk och bekräftar att gatewayen har etablerats med funktioner för att konfigurera alla kombinationer av de privata gatewayfunktionerna. Ändring eller borttagning av taggen eller värdet ändrar inte gatewayens funktionsfunktioner.

Dricks

Taggen EnhancedNetworkControl kan vara till hjälp när befintliga Application Gateways distribuerades i prenumerationen före funktionsaktivering och du vill särskilja vilken gateway som kan använda de nya funktionerna.

Application Gateway-undernät

Application Gateway-undernätet är undernätet i det virtuella nätverket där Application Gateway-resurserna ska distribueras. I klientdelens privata IP-konfiguration är det viktigt att det här undernätet kan nå de resurser som vill ansluta till din exponerade app eller webbplats privat.

Utgående Internetanslutning

Application Gateway-distributioner som endast innehåller en privat IP-klientdels-IP-konfiguration (har ingen offentlig IP-klientdelskonfiguration) kan inte utgående trafik till Internet. Den här konfigurationen påverkar kommunikationen till serverdelsmål som är offentligt tillgängliga via Internet.

Om du vill aktivera utgående anslutning från din Application Gateway till ett Internetuppkopplat serverdelsmål kan du använda NAT för virtuellt nätverk eller vidarebefordra trafik till en virtuell installation som har åtkomst till Internet.

NAT för virtuella nätverk ger kontroll över vilken IP-adress eller prefix som ska användas samt konfigurerbar tidsgräns för inaktivitet. För att konfigurera skapar du en ny NAT Gateway med en offentlig IP-adress eller ett offentligt prefix och associerar den med undernätet som innehåller Application Gateway.

Om en virtuell installation krävs för utgående Internet kan du läsa avsnittet routningstabellkontroll i det här dokumentet.

Vanliga scenarier där offentlig IP-användning krävs:

  • Kommunikation till nyckelvalvet utan användning av privata slutpunkter eller tjänstslutpunkter
    • Utgående kommunikation krävs inte för pfx-filer som laddas upp direkt till Application Gateway
  • Kommunikation till serverdelsmål via Internet
  • Kommunikation till internetuppkopplade CRL- eller OCSP-slutpunkter

Kontroll av nätverkssäkerhetsgrupp

Nätverkssäkerhetsgrupper som är associerade med ett Application Gateway-undernät kräver inte längre inkommande regler för GatewayManager, och de kräver inte utgående åtkomst till Internet. Den enda obligatoriska regeln är Tillåt inkommande trafik från AzureLoadBalancer för att säkerställa att hälsoavsökningar kan nå gatewayen.

Följande konfiguration är ett exempel på den mest restriktiva uppsättningen inkommande regler som nekar all trafik utom Azure-hälsoavsökningar. Förutom de definierade reglerna definieras explicita regler för att tillåta klienttrafik att nå gatewayens lyssnare.

View the inbound security group rules

Kommentar

Application Gateway visar en avisering som ber om att se till att Allow LoadBalanceRule anges om en DenyAll-regel oavsiktligt begränsar åtkomsten till hälsoavsökningar.

Exempelscenario

I det här exemplet går vi igenom skapandet av en NSG med hjälp av Azure-portalen med följande regler:

  • Tillåt inkommande trafik till port 80 och 8080 till Application Gateway från klientbegäranden från Internet
  • Neka all annan inkommande trafik
  • Tillåt utgående trafik till ett serverdelsmål i ett annat virtuellt nätverk
  • Tillåt utgående trafik till ett serverdelsmål som är Tillgängligt via Internet
  • Neka all annan utgående trafik

Skapa först en nätverkssäkerhetsgrupp. Den här säkerhetsgruppen innehåller dina regler för inkommande och utgående trafik.

Regler för inkommande trafik

Tre inkommande standardregler har redan etablerats i säkerhetsgruppen. Se följande exempel:

View default security group rules

Skapa sedan följande fyra nya regler för inkommande säkerhet:

  • Tillåt inkommande port 80, tcp, från Internet (valfritt)
  • Tillåt inkommande port 8080, tcp, från Internet (valfritt)
  • Tillåt inkommande trafik från AzureLoadBalancer
  • Neka inkommande trafik

Så här skapar du följande regler:

  • Välj Inkommande säkerhetsregler
  • Markera Lägga till
  • Ange följande information för varje regel i fönstret Lägg till inkommande säkerhetsregel .
  • När du har angett informationen väljer du Lägg till för att skapa regeln.
  • Det tar en stund att skapa varje regel.
Regel # Källa Källtjänsttagg Källportintervall Mål Tjänst Dest-portintervall Protokoll Åtgärd Prioritet Name
1 Valfri * Valfri HTTP 80 TCP Tillåt 1028 AllowWeb
2 Valfri * Valfri Anpassat 8080 TCP Tillåt 1029 AllowWeb8080
3 Service Tag AzureLoadBalancer * Alla Anpassat * Alla Tillåt 1045 AllowLB
4 Valfri * Valfri Anpassat * Valfri Neka 4095 DenyAllInbound

Välj Uppdatera för att granska alla regler när etableringen är klar.

View example inbound security group rules

Regler för utgående trafik

Tre standardregler för utgående trafik med prioritet 65000, 65001 och 65500 har redan etablerats.

Skapa följande tre nya utgående säkerhetsregler:

  • Tillåt TCP 443 från 10.10.4.0/24 till serverdelsmål 20.62.8.49
  • Tillåt TCP 80 från källa 10.10.4.0/24 till mål 10.13.0.4
  • NekaAlla trafikregler

Dessa regler tilldelas en prioritet på 400, 401 respektive 4096.

Kommentar

  • 10.10.4.0/24 är Application Gateway-undernätets adressutrymme.
  • 10.13.0.4 är en virtuell dator i ett peer-kopplat virtuellt nätverk.
  • 20.63.8.49 är en virtuell serverdelsmåldator.

Så här skapar du följande regler:

  • Välj Utgående säkerhetsregler
  • Markera Lägga till
  • Ange följande information för varje regel i fönstret Lägg till utgående säkerhetsregel .
  • När du har angett informationen väljer du Lägg till för att skapa regeln.
  • Det tar en stund att skapa varje regel.
Regel # Källa Källans IP-adress/CIDR-intervall Källportintervall Mål Mål-IP-adresser/CIDR-intervall Tjänst Dest-portintervall Protokoll Åtgärd Prioritet Name
1 IP-adresser 10.10.4.0/24 * IP-adresser 20.63.8.49 HTTPS 443 TCP Tillåt 400 AllowToBackendTarget
2 IP-adresser 10.10.4.0/24 * IP-adresser 10.13.0.4 HTTP 80 TCP Tillåt 401 AllowToPeeredVnetVM
3 Valfri * Valfri Anpassat * Valfri Neka 4096 DenyAll

Välj Uppdatera för att granska alla regler när etableringen är klar.

View example outbound security group rules

Associera NSG till undernätet

Det sista steget är att associera nätverkssäkerhetsgruppen med det undernät som innehåller din Application Gateway.

Associate NSG to subnet

Resultat:

View the NSG overview

Viktigt!

Var försiktig när du definierar DenyAll-regler , eftersom du oavsiktligt kan neka inkommande trafik från klienter som du tänker tillåta åtkomst till. Du kan också oavsiktligt neka utgående trafik till serverdelsmålet, vilket gör att serverdelshälsan misslyckas och genererar 5XX-svar.

Routningstabellkontroll

I det aktuella erbjudandet för Application Gateway stöds inte associationen av en routningstabell med en regel (eller skapande av regel) som definierats som 0.0.0.0/0 med ett nästa hopp eftersom den virtuella installationen inte stöds för att säkerställa korrekt hantering av Application Gateway.

Efter registreringen av funktionen för offentlig förhandsversion är det nu möjligt att vidarebefordra trafik till en virtuell installation via definitionen av en routningstabellregel som definierar 0.0.0.0/0 med nästa hopp till Virtuell installation.

Tvingad tunneltrafik eller inlärning av 0.0.0.0/0-vägen via BGP-annonsering påverkar inte Application Gateway-hälsan och respekteras för trafikflödet. Det här scenariot kan vara tillämpligt när du använder VPN, ExpressRoute, Route Server eller Virtual WAN.

Exempelscenario

I följande exempel skapar vi en routningstabell och associerar den med Application Gateway-undernätet för att säkerställa att utgående Internetåtkomst från undernätet kommer ut från en virtuell installation. På hög nivå sammanfattas följande design i bild 1:

  • Application Gateway finns i ett virtuellt ekernätverk
  • Det finns en virtuell nätverksinstallation (en virtuell dator) i hubbnätverket
  • En routningstabell med en standardväg (0.0.0.0/0) till den virtuella installationen är associerad med Application Gateway-undernätet

Diagram for example route table

Bild 1: Utgående internetåtkomst via virtuell installation

Så här skapar du en routningstabell och associerar den med Application Gateway-undernätet:

  1. Skapa en routningstabell:

View the newly created route table

  1. Välj Vägar och skapa nästa hoppregel för 0.0.0.0/0 och konfigurera målet som IP-adress för den virtuella datorn:

View of adding default route to network virtual applicance

  1. Välj Undernät och associera routningstabellen till Application Gateway-undernätet:

View of associating the route to the AppGW subnet

  1. Kontrollera att trafiken passerar genom den virtuella installationen.

Begränsningar/kända problem

I den offentliga förhandsversionen är följande begränsningar kända.

Konfigurationsstöd för privat länk för tunneltrafik via privata slutpunkter till Application Gateway stöds inte med endast privat gateway.

Konfiguration av privat IP-klientdel endast med AGIC

AGIC v1.7 måste endast användas för att införa stöd för ip-adressen för privata klientdelar.

Privat slutpunktsanslutning via global VNet-peering

Om Application Gateway har en referens för serverdelsmål eller nyckelvalv till en privat slutpunkt i ett virtuellt nätverk som är tillgängligt via global VNet-peering, avbryts trafiken, vilket resulterar i en status som inte är felfri.

Network Watcher-integrering

Anslut ionfelsökningar och NSG-diagnostik returnerar ett fel när du kör kontroll- och diagnostiktester.

Samexistera v2 Application Gateways som skapats innan förbättrad nätverkskontroll aktiveras

Om ett undernät delar Application Gateway v2-distributioner som har skapats både före och efter aktiveringen av de förbättrade funktionerna för nätverkskontroll begränsas nätverkssäkerhetsgruppen (NSG) och routningstabellfunktionen till den tidigare gatewaydistributionen. Programgatewayer som etableras innan de nya funktionerna aktiveras måste antingen återskapas eller så måste nyligen skapade gatewayer använda ett annat undernät för att aktivera förbättrade funktioner för nätverkssäkerhetsgrupp och routningstabell.

  • Om det finns en gateway som distribuerades före aktiveringen av de nya funktionerna i undernätet kan det uppstå fel som: For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet' när du lägger till routningstabellposter.
  • När du lägger till regler för nätverkssäkerhetsgrupper i undernätet kan du se: Failed to create security rule 'DenyAnyCustomAnyOutbound'. Error: Network security group \<NSG-name\> blocks outgoing Internet traffic on subnet \<AppGWSubnetId\>, associated with Application Gateway \<AppGWResourceId\>. This isn't permitted for Application Gateways that have fast update enabled or have V2 Sku.

Status för okänd serverdelshälsa

Om serverdelshälsan är Okänd kan följande fel visas:

  • Det gick inte att hämta serverdelens hälsostatus. Detta inträffar när en NSG/UDR/Firewall i programgatewayens undernät blockerar trafik på portarna 65503-65534 om det finns v1 SKU och portarna 65200-65535 om det finns v2 SKU eller om det FQDN som konfigurerats i serverdelspoolen inte kunde matchas till en IP-adress. Om du vill veta mer besök - https://aka.ms/UnknownBackendHealth.

Det här felet kan ignoreras och kommer att klargöras i en framtida version.

Nästa steg