Implementatie van Private Application Gateway (preview)

Inleiding

In het verleden hebben Application Gateway v2-SKU's en in zekere mate v1 openbare IP-adressen nodig om het beheer van de service mogelijk te maken. Deze vereiste heeft verschillende beperkingen opgelegd bij het gebruik van verfijnde besturingselementen in netwerkbeveiligingsgroepen en routetabellen. In het bijzonder zijn de volgende uitdagingen waargenomen:

  1. Alle implementaties van Application Gateways v2 moeten openbare front-end-IP-configuratie bevatten om communicatie met de Gateway Manager-servicetag mogelijk te maken.
  2. Netwerkbeveiligingsgroepkoppelingen vereisen regels om binnenkomende toegang vanuit GatewayManager en uitgaande toegang tot internet toe te staan.
  3. Wanneer u een standaardroute (0.0.0.0.0/0) introduceert om verkeer overal anders dan internet, metrische gegevens, bewaking en updates van de gateway door te sturen, resulteert dit in een mislukte status.

Application Gateway v2 kan nu elk van deze items aanpakken om het risico van gegevensexfiltratie en het beheer van de privacy van communicatie vanuit het virtuele netwerk verder te elimineren. Deze wijzigingen omvatten de volgende mogelijkheden:

  1. Privé-IP-adres alleen front-end-IP-configuratie
    • Er is geen openbare IP-adresresource vereist
  2. Het verwijderen van inkomend verkeer van gatewayManager-servicetag via netwerkbeveiligingsgroep
  3. Mogelijkheid om een regel Voor alle uitgaande netwerkbeveiligingsgroepen (NSG' weigeren) te definiëren om uitgaand verkeer naar internet te beperken
  4. Mogelijkheid om de standaardroute naar internet te overschrijven (0.0.0.0/0)
  5. DNS-omzetting via gedefinieerde resolvers in het virtuele netwerk Meer informatie, waaronder privé-DNS-zones van private link.

Elk van deze functies kan onafhankelijk worden geconfigureerd. Een openbaar IP-adres kan bijvoorbeeld worden gebruikt om binnenkomend verkeer vanaf internet toe te staan en u kunt een regel voor alles weigeren definiëren in de configuratie van de netwerkbeveiligingsgroep om gegevensexfiltratie te voorkomen.

Onboarden naar openbare preview

De functionaliteit van de nieuwe besturingselementen van configuratie van privé-IP-front-end, controle over NSG-regels en controle over routetabellen, zijn momenteel in openbare preview. Als u wilt deelnemen aan de openbare preview, kunt u zich aanmelden voor de ervaring met behulp van Azure Portal, PowerShell, CLI of REST API.

Wanneer u deelneemt aan de preview, bieden alle nieuwe Application Gateways de mogelijkheid om een combinatie van de NSG-, routetabel- of privé-IP-configuratiefuncties te definiëren. Als u zich wilt afmelden voor de nieuwe functionaliteit en wilt terugkeren naar de huidige algemeen beschikbare functionaliteit van Application Gateway, kunt u dit doen door de registratie van de preview-versie ongedaan te maken.

Zie Preview-functies instellen in een Azure-abonnement voor meer informatie over preview-functies

Registreren bij de preview

Gebruik de volgende stappen om u in te schrijven bij de openbare preview voor de verbeterde application gateway-netwerkbesturingselementen via Azure Portal:

  1. Meld u aan bij het Azure-portaal.

  2. Voer in het zoekvak abonnementen in en selecteer Abonnementen.

    Azure portal search.

  3. Selecteer de koppeling voor de naam van uw abonnement.

    Select Azure subscription.

  4. Selecteer in het linkermenu onder Instellingen Preview-functies.

    Azure preview features menu.

  5. U ziet een lijst met beschikbare preview-functies en de huidige registratiestatus.

    Azure portal list of preview features.

  6. Vanuit preview-functies typt u het filtervak EnableApplicationGatewayNetworkIsolation, controleert u de functie en klikt u op Registreren.

    Azure portal filter preview features.

Notitie

Het kan 30 minuten duren voordat de functieregistratie is overgestapt van Registreren naar Geregistreerde status.

Zie Preview-functies instellen in een Azure-abonnement voor meer informatie over preview-functies

Registratie van de preview ongedaan maken

Als u zich wilt afmelden voor de openbare preview voor de verbeterde application gateway-netwerkbesturingselementen via portal, gebruikt u de volgende stappen:

  1. Meld u aan bij het Azure-portaal.

  2. Voer in het zoekvak abonnementen in en selecteer Abonnementen.

    Azure portal search.

  3. Selecteer de koppeling voor de naam van uw abonnement.

    Select Azure subscription.

  4. Selecteer in het linkermenu onder Instellingen Preview-functies.

    Azure preview features menu.

  5. U ziet een lijst met beschikbare preview-functies en de huidige registratiestatus.

    Azure portal list of preview features.

  6. Vanuit preview-functies typt u het filtervak EnableApplicationGatewayNetworkIsolation, controleert u de functie en klikt u op Registratie opheffen.

    Azure portal filter preview features.

Regio’s en beschikbaarheid

De preview-versie van Private Application Gateway is beschikbaar voor alle openbare cloudregio's waar Application Gateway v2-sKU wordt ondersteund.

Configuratie van netwerkbesturingselementen

Na registratie in de openbare preview kan de configuratie van de front-endconfiguratie van NSG, routetabel en privé-IP-adres worden uitgevoerd met behulp van elke methode. Bijvoorbeeld: REST API, ARM-sjabloon, Bicep-implementatie, Terraform, PowerShell, CLI of portal. Er worden geen API- of opdrachtwijzigingen geïntroduceerd in deze openbare preview.

Resourcewijzigingen

Nadat uw gateway is ingericht, wordt automatisch een resourcetag toegewezen met de naam EnhancedNetworkControl en de waarde True. Zie het volgende voorbeeld:

View the EnhancedNetworkControl tag

De resourcetag is cosmetisch en dient om te bevestigen dat de gateway is ingericht met de mogelijkheden voor het configureren van een combinatie van alleen-privé-gatewayfuncties. Het wijzigen of verwijderen van de tag of waarde wijzigt geen functionele werking van de gateway.

Tip

De tag EnhancedNetworkControl kan handig zijn wanneer bestaande Application Gateways zijn geïmplementeerd in het abonnement vóór het inschakelen van functies en u wilt onderscheid maken tussen welke gateway de nieuwe functionaliteit kan gebruiken.

Application Gateway-subnet

Application Gateway-subnet is het subnet in het virtuele netwerk waar de Application Gateway-resources worden geïmplementeerd. In de front-end-privé-IP-configuratie is het belangrijk dat dit subnet privé de resources kan bereiken die verbinding willen maken met uw blootgestelde app of site.

Uitgaande internetverbinding

Application Gateway-implementaties die alleen een privé-front-end-IP-configuratie bevatten (geen openbare IP-front-endconfiguratie hebben) kunnen geen uitgaand verkeer uitgaan dat is bestemd voor internet. Deze configuratie is van invloed op de communicatie met back-enddoelen die openbaar toegankelijk zijn via internet.

Als u uitgaande connectiviteit van uw Toepassingsgateway naar een internetgericht back-enddoel wilt inschakelen, kunt u Virtual Network NAT gebruiken of verkeer doorsturen naar een virtueel apparaat dat toegang heeft tot internet.

Virtual Network NAT biedt controle over welk IP-adres of voorvoegsel moet worden gebruikt, evenals configureerbare time-out voor inactiviteit. Als u wilt configureren, maakt u een nieuwe NAT-gateway met een openbaar IP-adres of openbaar voorvoegsel en koppelt u deze aan het subnet met Application Gateway.

Als een virtueel apparaat vereist is voor uitgaand internetverkeer, raadpleegt u de sectie met routetabelbeheer in dit document.

Veelvoorkomende scenario's waarbij openbaar IP-gebruik is vereist:

  • Communicatie met key vault zonder gebruik van privé-eindpunten of service-eindpunten
    • Uitgaande communicatie is niet vereist voor pfx-bestanden die rechtstreeks naar Application Gateway zijn geüpload
  • Communicatie met back-enddoelen via internet
  • Communicatie met internetgerichte CRL- of OCSP-eindpunten

Netwerkbeveiligingsgroepsbeheer

Netwerkbeveiligingsgroepen die zijn gekoppeld aan een Application Gateway-subnet vereisen geen binnenkomende regels meer voor GatewayManager en ze hebben geen uitgaande toegang tot internet nodig. De enige vereiste regel is Inkomend verkeer van AzureLoadBalancer toestaan om ervoor te zorgen dat statustests de gateway kunnen bereiken.

De volgende configuratie is een voorbeeld van de meest beperkende set regels voor inkomend verkeer, waarbij al het verkeer wordt geweigerd, maar azure-statustests. Naast de gedefinieerde regels worden expliciete regels gedefinieerd zodat clientverkeer de listener van de gateway kan bereiken.

View the inbound security group rules

Notitie

Application Gateway geeft een waarschuwing weer waarin wordt gevraagd of de Allow LoadBalanceRule is opgegeven als een DenyAll-regel per ongeluk de toegang tot statustests beperkt.

Voorbeeldscenario

In dit voorbeeld wordt stapsgewijs uitgelegd hoe u een NSG maakt met behulp van Azure Portal met de volgende regels:

  • Inkomend verkeer naar poort 80 en 8080 naar Application Gateway toestaan vanaf clientaanvragen die afkomstig zijn van internet
  • Al het andere binnenkomende verkeer weigeren
  • Uitgaand verkeer naar een back-enddoel in een ander virtueel netwerk toestaan
  • Uitgaand verkeer naar een back-enddoel toestaan dat toegankelijk is voor internet
  • Al het andere uitgaande verkeer weigeren

Maak eerst een netwerkbeveiligingsgroep. Deze beveiligingsgroep bevat uw regels voor inkomend en uitgaand verkeer.

Regels voor inkomend verkeer

Er zijn al drie standaardregels voor inkomend verkeer ingericht in de beveiligingsgroep. Zie het volgende voorbeeld:

View default security group rules

Maak vervolgens de volgende vier nieuwe beveiligingsregels voor inkomend verkeer:

  • Binnenkomende poort 80, tcp, vanaf internet toestaan (any)
  • Binnenkomende poort 8080, tcp, vanaf internet toestaan (any)
  • Inkomend verkeer vanuit AzureLoadBalancer toestaan
  • Binnenkomende verbindingen weigeren

Ga als volgt te werk om deze regels te maken:

  • Binnenkomende beveiligingsregels selecteren
  • Selecteer Toevoegen
  • Voer de volgende informatie voor elke regel in het deelvenster Binnenkomende beveiligingsregels toevoegen in.
  • Wanneer u de gegevens hebt ingevoerd, selecteert u Toevoegen om de regel te maken.
  • Het maken van elke regel duurt even.
Regel # Bron Bronservicetag Poortbereiken van bron Doel Service Poortbereiken dest Protocol Actie Prioriteit Naam
1 Alle * Alle HTTP 80 TCP Toestaan 1028 AllowWeb
2 Alle * Alle Aangepast telefoonnummer 8080 TCP Toestaan 1029 AllowWeb8080
3 Servicetag AzureLoadBalancer * Alle Aangepast telefoonnummer * Alle Toestaan 1045 AllowLB
4 Alle * Alle Aangepast telefoonnummer * Alle Weigeren 4095 DenyAllInbound

Selecteer Vernieuwen om alle regels te controleren wanneer het inrichten is voltooid.

View example inbound security group rules

Uitgaande regels

Er zijn al drie standaardregels voor uitgaand verkeer met prioriteit 65000, 65001 en 65500 ingericht.

Maak de volgende drie nieuwe uitgaande beveiligingsregels:

  • TCP 443 toestaan van 10.10.4.0/24 naar back-enddoel 20.62.8.49
  • TCP 80 van bron 10.10.4.0/24 naar bestemming 10.13.0.4 toestaan
  • DenyAll-verkeersregel

Aan deze regels wordt respectievelijk een prioriteit van 400, 401 en 4096 toegewezen.

Notitie

  • 10.10.4.0/24 is de adresruimte van het Application Gateway-subnet.
  • 10.13.0.4 is een virtuele machine in een gekoppeld VNet.
  • 20.63.8.49 is een back-end-doel-VM.

Ga als volgt te werk om deze regels te maken:

  • Uitgaande beveiligingsregels selecteren
  • Selecteer Toevoegen
  • Voer de volgende informatie voor elke regel in het deelvenster Uitgaande beveiligingsregels toevoegen in.
  • Wanneer u de gegevens hebt ingevoerd, selecteert u Toevoegen om de regel te maken.
  • Het maken van elke regel duurt even.
Regel # Bron IP-adressen/CIDR-bereiken van bron Poortbereiken van bron Doel DOEL-IP-adressen/CIDR-bereiken Service Poortbereiken dest Protocol Actie Prioriteit Naam
1 IP-adressen 10.10.4.0/24 * IP-adressen 20.63.8.49 HTTPS 443 TCP Toestaan 400 AllowToBackendTarget
2 IP-adressen 10.10.4.0/24 * IP-adressen 10.13.0.4 HTTP 80 TCP Toestaan 401 AllowToPeeredVnetVM
3 Alle * Alle Aangepast telefoonnummer * Alle Weigeren 4096 DenyAll

Selecteer Vernieuwen om alle regels te controleren wanneer het inrichten is voltooid.

View example outbound security group rules

NSG koppelen aan het subnet

De laatste stap is het koppelen van de netwerkbeveiligingsgroep aan het subnet dat uw Application Gateway bevat.

Associate NSG to subnet

Resultaat:

View the NSG overview

Belangrijk

Wees voorzichtig wanneer u DenyAll-regels definieert, omdat u onbedoeld inkomend verkeer van clients waartoe u toegang wilt toestaan, kunt weigeren. U kunt ook onbedoeld uitgaand verkeer naar het back-enddoel weigeren, waardoor de back-endstatus mislukt en 5XX-antwoorden produceert.

Besturingselement routetabel

In het huidige aanbod van Application Gateway wordt de koppeling van een routetabel met een regel (of het maken van een regel) gedefinieerd als 0.0.0.0/0 met een volgende hop, omdat het virtuele apparaat niet wordt ondersteund om het juiste beheer van Application Gateway te garanderen.

Na de registratie van de openbare preview-functie is de mogelijkheid om verkeer door te sturen naar een virtueel apparaat nu mogelijk via de definitie van een routetabelregel die 0.0.0.0/0 definieert met een volgende hop naar virtueel apparaat.

Geforceerde tunneling of leren van 0.0.0.0/0 route via BGP-reclame heeft geen invloed op de status van Application Gateway en wordt gehonoreerd voor de verkeersstroom. Dit scenario kan van toepassing zijn wanneer u VPN, ExpressRoute, Route Server of Virtual WAN gebruikt.

Voorbeeldscenario

In het volgende voorbeeld maken we een routetabel en koppelen we deze aan het Application Gateway-subnet om ervoor te zorgen dat uitgaande internettoegang vanuit het subnet wordt uitgaan van een virtueel apparaat. Op hoog niveau wordt het volgende ontwerp samengevat in afbeelding 1:

  • Application Gateway bevindt zich in het virtuele spoke-netwerk
  • Er is een virtueel netwerkapparaat (een virtuele machine) in het hubnetwerk
  • Een routetabel met een standaardroute (0.0.0.0/0) naar het virtuele apparaat is gekoppeld aan het Application Gateway-subnet

Diagram for example route table

Afbeelding 1: Uitgaand verkeer via internettoegang via virtueel apparaat

Een routetabel maken en deze koppelen aan het Application Gateway-subnet:

  1. Een routetabel maken:

View the newly created route table

  1. Selecteer Routes en maak de volgende hopregel voor 0.0.0.0/0 en configureer de bestemming als het IP-adres van uw VIRTUELE machine:

View of adding default route to network virtual applicance

  1. Selecteer Subnetten en koppel de routetabel aan het Application Gateway-subnet:

View of associating the route to the AppGW subnet

  1. Controleer of verkeer wordt doorgegeven via het virtuele apparaat.

Beperkingen/bekende problemen

In openbare preview zijn de volgende beperkingen bekend.

Private Link-configuratieondersteuning voor tunneling van verkeer via privé-eindpunten naar Application Gateway wordt niet ondersteund met alleen privégateway.

Privé-IP-front-endconfiguratie alleen met AGIC

AGIC v1.7 moet worden gebruikt om alleen ondersteuning voor privé-front-end-IP te introduceren.

Privé-eindpuntconnectiviteit via globale VNet-peering

Als Application Gateway een back-enddoel of sleutelkluisverwijzing heeft naar een privé-eindpunt in een VNet dat toegankelijk is via globale VNet-peering, wordt verkeer verwijderd, wat resulteert in een slechte status.

Network Watcher-integratie

Verbinding maken ie-problemen en NSG-diagnoses retourneren een fout bij het uitvoeren van controle- en diagnostische tests.

Bestaande v2 Application Gateways die zijn gemaakt vóór het inschakelen van verbeterde netwerkbeheer

Als een subnet application gateway v2-implementaties deelt die zijn gemaakt vóór en na het inschakelen van de verbeterde functionaliteit voor netwerkbeheer, is de functionaliteit netwerkbeveiligingsgroep (NSG) en routetabel beperkt tot de vorige gatewayimplementatie. Toepassingsgateways die zijn ingericht voordat de nieuwe functionaliteit wordt ingeschakeld, moeten opnieuw worden ingericht of nieuwe gateways moeten een ander subnet gebruiken om verbeterde functies voor netwerkbeveiligingsgroepen en routetabellen in te schakelen.

  • Als een gateway die is geïmplementeerd voordat de nieuwe functionaliteit wordt ingeschakeld, aanwezig is in het subnet, ziet u mogelijk fouten zoals: For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet' bij het toevoegen van vermeldingen in de routetabel.
  • Wanneer u regels voor netwerkbeveiligingsgroepen toevoegt aan het subnet, ziet u mogelijk het volgende: 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 van onbekende back-end

Als de back-endstatus Onbekend is, ziet u mogelijk de volgende fout:

  • De status van de back-end kan niet worden opgehaald. Dit gebeurt wanneer een NSG/UDR/Firewall op het subnet van de toepassingsgateway verkeer blokkeert op poorten 65503-65534 als er v1 SKU is en poorten 65200-65535 als er v2 SKU is of als de FQDN die is geconfigureerd in de back-endpool niet kan worden omgezet in een IP-adres. Ga voor meer informatie naar - https://aka.ms/UnknownBackendHealth.

Deze fout kan worden genegeerd en wordt in een toekomstige release verduidelijkt.

Volgende stappen