Delen via


Azure Container Apps beveiligen met Web Application Firewall in Application Gateway

Wanneer u uw apps of microservices in Azure Container Apps host, wilt u deze mogelijk niet altijd rechtstreeks publiceren op internet. In plaats daarvan wilt u ze mogelijk beschikbaar maken via een omgekeerde proxy.

Een omgekeerde proxy is een service die zich voor een of meer services bevindt, binnenkomend verkeer onderschept en omleidt naar de juiste bestemming.

Met omgekeerde proxy's kunt u services plaatsen voor uw apps die ondersteuning bieden voor geavanceerde functionaliteit, waaronder:

  • Routering
  • Caching
  • Snelheidsbeperking
  • Load balancing
  • Beveiligingslagen
  • Filteren aanvragen

In dit artikel wordt beschreven hoe u uw container-apps beveiligt met behulp van een WaF (Web Application Firewall) op Azure-toepassing Gateway met een interne Container Apps-omgeving.

Zie Netwerkomgeving in Azure Container Apps voor meer informatie over netwerkconcepten in Container Apps.

Vereisten

  • Interne omgeving met aangepast VNet: een container-app hebben die zich in een interne omgeving bevindt en is geïntegreerd met een aangepast virtueel netwerk. Zie een virtueel netwerk opgeven voor een interne Azure Container Apps-omgeving voor meer informatie over het maken van een aangepaste, geïntegreerde app voor een virtueel netwerk.

  • Beveiligingscertificaten: als u TLS/SSL-versleuteling moet gebruiken voor de toepassingsgateway, is een geldig openbaar certificaat vereist dat wordt gebruikt om verbinding te maken met uw toepassingsgateway.

Het domein van uw container-app ophalen

Gebruik de volgende stappen om de waarden van het standaarddomein en het statische IP-adres op te halen om uw Privé-DNS zone in te stellen.

  1. Selecteer uw container-app in het venster Overzicht van de resourcegroep in de portal.

  2. Selecteer in het venster Overzicht voor uw container-app-resource de koppeling voor de Container Apps-omgeving

  3. Selecteer in het venster Overzicht voor uw container-app-omgevingsresource de JSON-weergave in de rechterbovenhoek van de pagina om de JSON-weergave van de container-apps-omgeving weer te geven.

  4. Kopieer de waarden voor de defaultDomain - en staticIp-eigenschappen en plak deze in een teksteditor. In de volgende sectie maakt u een privé-DNS-zone met behulp van deze waarden voor het standaarddomein.

Een Azure Privé-DNS-zone maken en configureren

  1. Selecteer een resource maken in het menu van Azure Portal of op de startpagina.

  2. Zoek Privé-DNS Zone en selecteer Privé-DNS Zone in de zoekresultaten.

  3. Selecteer de knop Maken.

  4. Voer de volgende waarden in:

    Instelling Actie
    Abonnement Selecteer uw Azure-abonnement.
    Resourcegroep Selecteer de resourcegroep van uw container-app.
    Naam Voer de eigenschap defaultDomain in van de Container Apps-omgeving uit de vorige sectie.
    Locatie van resourcegroep Laat de standaardwaarde staan. Een waarde is niet nodig omdat Privé-DNS Zones globaal zijn.
  5. Selecteer Controleren + maken. Nadat de validatie is voltooid, selecteert u Maken.

  6. Nadat de privé-DNS-zone is gemaakt, selecteert u Ga naar de resource.

  7. Selecteer +Recordset in het venster Overzicht om een nieuwe recordset toe te voegen.

  8. Voer in het venster Recordset toevoegen de volgende waarden in:

    Instelling Actie
    Naam Voer * in.
    Type Selecteer een adresrecord.
    TTL Behoud de standaardwaarden.
    TTL-eenheid Behoud de standaardwaarden.
    IP-adres Voer de eigenschap staticIp in van de Container Apps-omgeving uit de vorige sectie.
  9. Selecteer OK om de recordset te maken.

  10. Selecteer opnieuw +Recordset om een tweede recordset toe te voegen.

  11. Voer in het venster Recordset toevoegen de volgende waarden in:

    Instelling Actie
    Naam Voer @ in.
    Type Selecteer een adresrecord.
    TTL Behoud de standaardwaarden.
    TTL-eenheid Behoud de standaardwaarden.
    IP-adres Voer de eigenschap staticIp in van de Container Apps-omgeving uit de vorige sectie.
  12. Selecteer OK om de recordset te maken.

  13. Selecteer het venster Virtuele netwerkkoppelingen in het menu aan de linkerkant van de pagina.

  14. Selecteer +Toevoegen om een nieuwe koppeling te maken met de volgende waarden:

    Instelling Actie
    Koppelingsnaam Voer my-custom-vnet-pdns-link in.
    Ik ken de resource-id van het virtuele netwerk Laat het uitgeschakeld.
    Virtueel netwerk Selecteer het virtuele netwerk waarmee uw container-app is geïntegreerd.
    Automatische registratie inschakelen Laat het uitgeschakeld.
  15. Selecteer OK om de koppeling naar het virtuele netwerk te maken.

Azure Application Gateway maken en configureren

Tabblad Basisbeginselen

  1. Voer de volgende waarden in de sectie Projectdetails in.

    Instelling Actie
    Abonnement Selecteer uw Azure-abonnement.
    Resourcegroep Selecteer de resourcegroep voor uw container-app.
    Naam van toepassingsgateway Voer my-container-apps-agw in.
    Regio Selecteer de locatie waar uw container-app is ingericht.
    Laag Selecteer WAF V2. U kunt Standard V2 gebruiken als u WAF niet nodig hebt.
    Automatische schaalaanpassing inschakelen Als standaard ingesteld laten. Voor productieomgevingen wordt automatisch schalen aanbevolen. Zie Automatisch schalen Azure-toepassing Gateway.
    Availability zone Selecteer Geen. Voor productieomgevingen wordt Beschikbaarheidszones aanbevolen voor hogere beschikbaarheid.
    HTTP2 Behoud de standaardwaarde.
    WAF-beleid Selecteer Nieuw maken en voer my-waf-policy in voor het WAF-beleid. Selecteer OK. Als u Standard V2 voor de laag hebt gekozen, kunt u deze stap overslaan.
    Virtueel netwerk Selecteer het virtuele netwerk waarmee uw container-app is geïntegreerd.
    Subnet Selecteer Subnetconfiguratie beheren. Als u al een subnet hebt dat u wilt gebruiken, gebruikt u dit en gaat u verder met de sectie Front-ends.
  2. Selecteer +Subnet in het venster Subnetten van mijn aangepaste vnet en voer de volgende waarden in:

    Instelling Actie
    Naam Voer appgateway-subnet in.
    Subnetadresbereik Behoud de standaardwaarden.
  3. Behoud voor de rest van de instellingen de standaardwaarden.

  4. Selecteer Opslaan om het nieuwe subnet te maken.

  5. Sluit het venster Subnetten om terug te keren naar het venster Toepassingsgateway maken.

  6. Selecteer de volgende waarden:

    Instelling Actie
    Subnet Selecteer het appgateway-subnet dat u hebt gemaakt.
  7. Selecteer Volgende: Front-ends om door te gaan.

Tabblad Front-ends

  1. Voer op het tabblad Front-ends de volgende waarden in:

    Instelling Actie
    Type front-end-IP-adres Selecteer Openbaar.
    Openbaar IP-adres Selecteer Nieuwe toevoegen. Voer mijn front-end in voor de naam van uw front-end en selecteer OK

    Notitie

    Voor de Application Gateway v2-SKU moet er een openbaar front-end-IP-adres zijn. U kunt zowel een openbare als een privé-front-end-IP-configuratie hebben, maar een privé-front-end-IP-configuratie zonder openbaar IP-adres wordt momenteel niet ondersteund in de v2-SKU. Lees hier voor meer informatie.

  2. Selecteer Volgende: Back-ends.

Tabblad Back-ends

De back-endpool wordt gebruikt om aanvragen naar de juiste back-endservers te routeren. Back-endpools kunnen bestaan uit elke combinatie van de volgende resources:

  • NIC’s
  • Openbare IP-adressen
  • Interne IP-adressen
  • Virtuele-machineschaalsets
  • Fully Qualified Domain Names (FQDN)
  • Back-ends met meerdere tenants, zoals Azure-app Service en Container Apps

In dit voorbeeld maakt u een back-endpool die is gericht op uw container-app.

  1. Selecteer Een back-endpool toevoegen.

  2. Open een nieuw tabblad en navigeer naar uw container-app.

  3. Zoek in het venster Overzicht van de container-app de toepassings-URL en kopieer deze.

  4. Ga terug naar het tabblad Back-ends en voer de volgende waarden in het venster Een back-endpool toevoegen in:

    Instelling Actie
    Naam Voer my-agw-backend-pool in.
    Back-endpool zonder doelen toevoegen Selecteer Nee.
    Doeltype Selecteer IP-adres of FQDN.
    Doel Voer de URL van de container-app-toepassing in die u hebt gekopieerd en verwijder het https:// voorvoegsel. Deze locatie is de FQDN-naam van uw container-app.
  5. Selecteer Toevoegen.

  6. Selecteer volgende op het tabblad Back-ends: Configuratie.

Tabblad Configuratie

Op het tabblad Configuratie verbindt u de front-end- en back-endpool die u hebt gemaakt met behulp van een routeringsregel.

  1. Selecteer Een routeringsregel toevoegen. Voer de volgende waarden in:

    Instelling Actie
    Naam Voer my-agw-routing-rule in.
    Prioriteit Voer 1 in.
  2. Voer op het tabblad Listener de volgende waarden in:

    Instelling Actie
    Naam van listener Voer mijn agw-listener in.
    IP-adres voor front-end Selecteer Openbaar.
    Protocol Selecteer HTTPS. Als u geen certificaat hebt dat u wilt gebruiken, kunt u HTTP selecteren
    Poort Voer 443 in. Als u HTTP voor uw protocol hebt gekozen, voert u 80 in en gaat u verder met de sectie standaard/aangepast domein.
    Een certificaat kiezen Selecteer Een certificaat uploaden. Als uw certificaat is opgeslagen in de sleutelkluis, kunt u een certificaat kiezen uit Key Vault.
    Certificaatnaam Voer een naam in voor uw certificaat.
    PFX-certificaatbestand Selecteer uw geldige openbare certificaat.
    Wachtwoord Voer uw certificaatwachtwoord in.

    Als u het standaarddomein wilt gebruiken, voert u de volgende waarden in:

    Instelling Actie
    Listener Type Selecteer Basic
    URL van foutpagina Laten staan als nee

    Als u een aangepast domein wilt gebruiken, voert u ook de volgende waarden in:

    Instelling Actie
    Listener Type Meerdere sites selecteren
    Host type Eén selecteren
    Hostnamen Voer het aangepaste domein in dat u wilt gebruiken.
    URL van foutpagina Laten staan als nee
  3. Selecteer het tabblad Back-enddoelen en voer de volgende waarden in:

  4. Ga naar het tabblad Back-enddoelen en voer de volgende waarden in:

    Instelling Actie
    Doeltype Selecteer my-agw-backend-pool die u eerder hebt gemaakt.
    Back-endinstellingen Selecteer Nieuwe toevoegen.
  5. Voer in het venster Back-endinstelling toevoegen de volgende waarden in:

    Instelling Actie
    Naam van back-endinstellingen Voer my-agw-backend-setting in.
    Protocol van back-end Selecteer HTTPS.
    Back-endpoort Voer 443 in.
    Bekende CA-certificaat gebruiken Selecteer Ja.
    Overschrijven met nieuwe hostnaam Selecteer Ja.
    Onderdrukking van hostnaam Selecteer Hostnaam kiezen uit het back-enddoel.
    Aangepaste tests maken Selecteer Nee.
  6. Selecteer Toevoegen om de back-endinstellingen toe te voegen.

  7. Selecteer opnieuw toevoegen in het venster Een regel voor doorsturen toevoegen.

  8. Selecteer Volgende: Tags.

  9. Selecteer Volgende: Beoordelen en maken en selecteer vervolgens Maken.

U kunt een beveiligde verbinding tot stand brengen met interne container-app-omgevingen door gebruik te maken van private link, omdat uw Application Gateway kan communiceren met uw container-app in de back-end via het virtuele netwerk.

  1. Zodra de Toepassingsgateway is gemaakt, selecteert u Ga naar de resource.

  2. Selecteer privékoppeling in het menu aan de linkerkant en selecteer vervolgens Toevoegen.

  3. Voer de volgende waarden in:

    Instelling Actie
    Naam Voer my-agw-private-link in.
    Subnet private link Selecteer het subnet waarmee u de privékoppeling wilt maken.
    IP-adresconfiguratie front-end Selecteer het front-end-IP-adres voor uw toepassingsgateway.
  4. Selecteer Toevoegen onder Instellingen voor privé-IP-adressen.

  5. Selecteer Toevoegen onderaan het venster.

De container-app controleren

  1. Zoek het openbare IP-adres voor de toepassingsgateway op de pagina Overzicht of u kunt naar het adres zoeken. Als u wilt zoeken, selecteert u Alle resources en voert u my-container-apps-agw-pip in het zoekvak in. Selecteer vervolgens het IP-adres in de zoekresultaten.

  2. Navigeer naar het openbare IP-adres van de toepassingsgateway.

  3. Uw aanvraag wordt automatisch doorgestuurd naar de container-app, waarmee wordt gecontroleerd of de toepassingsgateway is gemaakt.

Resources opschonen

Wanneer u de resources die u hebt gemaakt niet meer nodig hebt, verwijdert u de resourcegroep. Wanneer u de resourcegroep verwijdert, verwijdert u ook alle gerelateerde resources.

De resourcegroep verwijderen:

  1. Selecteer in het menu Azure-portal de optie Resourcegroepen of zoek ernaar en selecteer Resourcegroepen.

  2. Zoek en selecteer mijn container-apps op de pagina Resourcegroepen.

  3. Selecteer Resourcegroep verwijderen op de pagina van de resourcegroep.

  4. Voer mijn container-apps in onder TYP DE NAAM VAN DE RESOURCEGROEP en selecteer Vervolgens Verwijderen

Volgende stappen