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:
- Alle implementaties van Application Gateways v2 moeten openbare front-end-IP-configuratie bevatten om communicatie met de Gateway Manager-servicetag mogelijk te maken.
- Netwerkbeveiligingsgroepkoppelingen vereisen regels om binnenkomende toegang vanuit GatewayManager en uitgaande toegang tot internet toe te staan.
- 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:
- Privé-IP-adres alleen front-end-IP-configuratie
- Er is geen openbare IP-adresresource vereist
- Het verwijderen van inkomend verkeer van gatewayManager-servicetag via netwerkbeveiligingsgroep
- Mogelijkheid om een regel Voor alle uitgaande netwerkbeveiligingsgroepen (NSG' weigeren) te definiëren om uitgaand verkeer naar internet te beperken
- Mogelijkheid om de standaardroute naar internet te overschrijven (0.0.0.0/0)
- 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:
Meld u aan bij het Azure-portaal.
Voer in het zoekvak abonnementen in en selecteer Abonnementen.
Selecteer de koppeling voor de naam van uw abonnement.
Selecteer Preview-functies in het linkermenu onder Instellingen.
U ziet een lijst met beschikbare preview-functies en de huidige registratiestatus.
Vanuit preview-functies typt u het filtervak EnableApplicationGatewayNetworkIsolation, controleert u de functie en klikt u op Registreren.
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:
Meld u aan bij het Azure-portaal.
Voer in het zoekvak abonnementen in en selecteer Abonnementen.
Selecteer de koppeling voor de naam van uw abonnement.
Selecteer Preview-functies in het linkermenu onder Instellingen.
U ziet een lijst met beschikbare preview-functies en de huidige registratiestatus.
Vanuit preview-functies typt u het filtervak EnableApplicationGatewayNetworkIsolation, controleert u de functie en klikt u op Registratie opheffen.
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:
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 die is gekoppeld aan een regel voor aanvraagroutering) 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.
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:
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 | Bestemming | Service | Poortbereiken dest | Protocol | Actie | Prioriteit | Naam |
---|---|---|---|---|---|---|---|---|---|---|
1 | Alle | * | Alle | HTTP | 80 | TCP | Toestaan | 1028 | AllowWeb | |
2 | Alle | * | Alle | Aanpassen | 8080 | TCP | Toestaan | 1029 | AllowWeb8080 | |
3 | Servicetag | AzureLoadBalancer | * | Alle | Aanpassen | * | Alle | Toestaan | 1045 | AllowLB |
4 | Alle | * | Alle | Aanpassen | * | Alle | Weigeren | 4095 | DenyAllInbound |
Selecteer Vernieuwen om alle regels te controleren wanneer het inrichten is voltooid.
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 203.0.113.1
- 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.
- 203.0.113.1 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 | Bestemming | DOEL-IP-adressen/CIDR-bereiken | Service | Poortbereiken dest | Protocol | Actie | Prioriteit | Naam |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | IP-adressen | 10.10.4.0/24 | * | IP-adressen | 203.0.113.1 | 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 | Aanpassen | * | Alle | Weigeren | 4096 | DenyAll |
Selecteer Vernieuwen om alle regels te controleren wanneer het inrichten is voltooid.
NSG koppelen aan het subnet
De laatste stap is het koppelen van de netwerkbeveiligingsgroep aan het subnet dat uw Application Gateway bevat.
Resultaat:
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
Afbeelding 1: Uitgaand verkeer via internettoegang via virtueel apparaat
Een routetabel maken en deze koppelen aan het Application Gateway-subnet:
- 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:
- Selecteer Subnetten en koppel de routetabel aan het Application Gateway-subnet:
- Controleer of verkeer wordt doorgegeven via het virtuele apparaat.
Beperkingen/bekende problemen
In openbare preview zijn de volgende beperkingen bekend.
Configuratie van privékoppeling
Private Link-configuratieondersteuning voor tunneling van verkeer via privé-eindpunten naar Application Gateway wordt niet ondersteund met alleen privégateway.
WAF-snelheidsbeperking
Frequentiebeperking voor aangepaste regels voor Application Gateway WAF v2 wordt momenteel niet ondersteund.
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
Verbindingsproblemen oplossen en NSG-diagnostische gegevens retourneren een fout bij het uitvoeren van controles 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
- Zie de Azure-beveiligingsbasislijn voor Application Gateway voor meer aanbevolen beveiligingsprocedures.