Dela via


Mönsterimplementering för nätverkssäker ingress

Nätverkssäker ingress kapslar in flera designmönster, inklusive mönster för global routning, global avlastning och hälsoslutpunktsövervakning. Du kan använda mönsterimplementeringen i den här artikeln som en gateway för alla HTTP- eller HTTPS-arbetsbelastningar som kräver hög tillgänglighet eller tillförlitlighet genom att tillhandahålla säker global routning till arbetsbelastningar i olika regioner med låg latens vid redundansväxling.

Video: Nätverkssäker ingressimplementering

Mönsterkrav

Den här artikeln beskriver tre krav som mönsterimplementeringen för nätverkssäker ingress fokuserar på: global routning, redundans med låg svarstid och mildrande attacker vid gränsen.

Global routning

Nätverkets säkra ingressmönster kapslar in det globala routningsmönstret. Implementeringen kan därför dirigera begäranden till arbetsbelastningar i olika regioner.

Diagram som visar en HTTPS-begäran som dirigeras till två arbetsbelastningar i olika regioner.

Redundansväxling med låg fördröjning

Implementeringen måste kunna identifiera felfria och felfria arbetsbelastningar och justera routningen på ett sätt som är tidskänsligt. Svarstiden bör ha stöd för att justera routningen på några minuter.

Diagram som visar en HTTPS-begäran som inte dirigeras till en arbetsbelastning som inte är felfri.

Minimera attacker vid kanten

För att minimera attacker vid gränsen krävs en "nätverkssäker" del av implementeringen. PaaS-tjänster (arbetsbelastningar eller plattform som en tjänst) bör inte vara tillgängliga via Internet. Internettrafik bör endast kunna dirigeras via gatewayen. Gatewayen bör ha möjlighet att minimera sårbarheter.

Diagram som visar en HTTPS-begäran med en SQL-instruktion i frågesträngen för en begäran som inte stoppas vid gränsen.

Mönster

Den här lösningen implementerar följande designmönster:

Designa

Diagram som visar en begäran som flödar via Azure Front Door Premium till regionala stämplar.

Diagrammet visar en HTTPS-begäran som flödar till en Azure Front Door Premium-ruta, som har en brandvägg för webbprogram i sig. Detta illustrerar integreringen mellan Azure Front Door Premium och Azure Web Application Firewall. Diagrammet visar sedan begäran som flödar via Private Link till två stämplar i olika regioner. Varje stämpel har en statisk webbplats och en intern lastbalanserare. Begäranden flödar via Private Link till de statiska webbplatserna och lastbalanserarna i båda stämplarna.

Den här implementeringen innehåller följande information:

  • Den använder Azure Blob Storage-konton för att simulera statiska webbarbetsbelastningar som körs i två regioner. Den här implementeringen innehåller inga arbetsbelastningar som körs bakom en intern lastbalanserare (ILB). Diagrammet visar en ILB för att illustrera att den här implementeringen skulle fungera för privata arbetsbelastningar som körs bakom en ILB.
  • Den använder Azure Front Door Premium-nivån som global gateway.
  • Azure Front Door-instansen har en global brandväggsprincip för webbprogram (WAF) som konfigurerats med hanterade regler som hjälper till att skydda mot vanliga kryphål.
  • Lagringskontona exponeras inte via Internet.
  • Azure Front Door Premium-nivån har åtkomst till lagringskontona via Azure Private Link.
  • Azure Front Door-instansen har följande konfiguration på hög nivå:
    • En slutpunkt med en enda väg som pekar på en enda ursprungsgrupp. En ursprungsgrupp är en samling ursprung eller serverdelar.
    • Ursprungsgruppen har ett ursprung som konfigurerats för att peka på varje lagringskonto.
    • Varje ursprung begär Private Link-åtkomst till lagringskontot.
    • Ursprungsgruppen har hälsoavsökningar konfigurerade för åtkomst till en HTML-sida i lagringskontona. HTML-sidan fungerar som hälsoslutpunkt för de statiska arbetsbelastningarna. Om avsökningarna kan komma åt ursprunget i tre av de fyra senaste försöken anses ursprunget vara felfritt.

Komponenter

Webbbegäran

  • Azure Web Application Firewall: Premium-nivån för brandväggen för webbprogram stöder Microsoft-hanterade regler som hjälper till att skydda mot vanliga kryphål.
  • Azure Private Link: Privata slutpunkter i Azure Private Link exponerar en Azure PaaS-tjänst för en privat IP-adress i ett virtuellt nätverk. Den här exponeringen gör att kommunikationen kan flöda över Microsofts stamnätverk och inte på det offentliga Internet.
  • Azure Front Door Premium-nivå: Azure Front Door ger global belastningsutjämning på Layer 7. Azure Front Door har integrering med Brandvägg för webbprogram. Premium-nivån stöder:
    • Azure Private Link: Stöd för Private Link gör att Azure Front Door kan kommunicera med PaaS-tjänster eller arbetsbelastningar som körs i ett privat virtuellt nätverk via Microsofts stamnätverk.
    • Microsoft-hanterade regeluppsättningar: Premiumnivån för Azure Front Door stöder premiumnivån för Brandvägg för webbprogram, som stöder den hanterade regeluppsättningen i WAF.
  • Azure Storage: Den här implementeringen använder Blob Storage-konton för att representera en statisk webbplats eller arbetsbelastning.
  • Intern lastbalanserare: Den här implementeringen använder inte den interna lastbalanseraren. Den visas som en privat arbetsbelastning som körs bakom lastbalanseraren. Routningen till lagringskontot är densamma som för lastbalanserare.

Operations

Att skydda resurser från ett nätverksperspektiv hjälper till att skydda mot kryphål, men isolerar också resurserna från processer eller administratörer som kan behöva komma åt dessa resurser. En byggagent i en DevOps-pipeline kan till exempel behöva komma åt lagringskontot för att kunna distribuera en uppdatering till webbprogrammet. Dessutom kan en administratör behöva komma åt resursen i felsökningssyfte.

För att illustrera åtkomsten till säker nätverksåtkomst i drift distribuerar den här implementeringen en virtuell dator (VM) i ett virtuellt nätverk som har Åtkomst till Private Link till lagringskontona. Den här implementeringen distribuerar Azure Bastion, som administratören kan använda för att ansluta till den virtuella datorn. I distributionsscenariot kan en privat byggagent distribueras till det virtuella nätverket, ungefär som den virtuella datorn.

Här följer information om komponenterna för åtgärder:

  • Azure Virtual Network: Den här implementeringen använder det virtuella nätverket för att innehålla de komponenter som krävs för att en administratör ska kunna kommunicera säkert med lagringskontot via det privata Microsoft-stamnätverket.
  • Virtuella Azure-datorer: Den här implementeringen använder en virtuell dator som en jumpbox för administratörer att ansluta till. Den virtuella datorn distribueras i det privata virtuella nätverket.
  • Azure Bastion: Med Azure Bastion kan administratören ansluta på ett säkert sätt till den virtuella jumpbox-datorn via Secure Shell (SSH) utan att kräva att den virtuella datorn har en offentlig IP-adress.
  • Private Link-slutpunkt: Den privata slutpunkten tilldelas en privat IP-adress från det virtuella nätverket och ansluter till lagringskontots PaaS-tjänst. Med den här anslutningen kan resurser i det privata virtuella nätverket kommunicera med lagringskontot via den privata IP-adressen.
  • Privat Azure DNS-zon: Den privata Azure DNS-zonen är en DNS-tjänst som används för att matcha Azure Storage-kontots Private Link-värdnamn till den privata slutpunktens privata IP-adress.

Flöde för webbbegäran

Diagram som visar flödet för en webbbegäran.

Diagrammet visar en användare som gör en webbbegäran till Azure Front Door. I rutan Azure Front Door visar diagrammet vart och ett av stegen i Azure Front Door-routningsflödet. Markerat i flödet är steget där WAF-regler utvärderas, där Azure Front Door-vägen matchas och en ursprungsgrupp väljs och var ursprunget väljs från ursprungsgruppen. Den sista markerade delen är där Azure Front Door ansluter till Azure Blob Storage-kontot via Private Link.

  1. Användaren utfärdar en HTTP- eller HTTPS-begäran till en Azure Front Door-slutpunkt.

  2. WAF-reglerna utvärderas. Regler som matchar loggas alltid. Om Azure Front Door WAF-principläget är inställt på förebyggande och matchningsregeln har en åtgärd inställd på att blockera avvikelse blockeras begäran. Annars fortsätter eller omdirigeras begäran eller de efterföljande reglerna utvärderas.

  3. Den väg som konfigurerats i Azure Front Door matchas och rätt ursprungsgrupp har valts. I det här exemplet var sökvägen till det statiska innehållet på webbplatsen.

  4. Ursprunget väljs från ursprungsgruppen.

    a. I det här exemplet bedömde hälsoavsökningarna webbplatsen som felaktig, så den elimineras från möjliga ursprung.
    b. Den här webbplatsen är vald.

  5. Begäran dirigeras till Azure Storage-kontot via Private Link via Microsofts stamnätverk.

Mer information om Azure Front Door-routningsarkitekturen finns i Översikt över routningsarkitektur.

Driftflöde

Diagram som visar flödet som en administratör använder för att ansluta till en skyddad resurs.

Diagrammet har tre delar. I den första delen visas Azure Blob Storage som en statisk webbplats. Azure Front Door ansluter via Private Link till lagringskontot. Den andra delen är en ruta som representerar ett virtuellt nätverk. Det virtuella nätverket har undernät och deras innehåll. Dessa undernät innehåller ett privat slutpunktsundernät som innehåller en Private Link-slutpunkt med en IP-adress på 10.0.2.5, ett jumpbox-undernät med en virtuell jumpbox-dator och ett Azure Bastion-undernät med Azure Bastion i. Den tredje delen är en administrativ användare som använder SSH för att komma åt den virtuella jumpbox-datorn i det virtuella nätverket via Azure Bastion. En pil går från den virtuella datorn till den privata Azure DNS-zonen. Den sista pilen går från den virtuella datorn till slutpunkten För privat länk och sedan till lagringskontot.

  1. En administratör ansluter till Azure Bastion-instansen som distribueras i det virtuella nätverket.

  2. Azure Bastion tillhandahåller SSH-anslutning till den virtuella jumpbox-datorn.

  3. Administratören i jumpboxen försöker komma åt lagringskontot via Azure CLI. Jumpboxen frågar DNS för den offentliga Azure Blob Storage-kontoslutpunkten: storageaccountname.blob.core.windows.net.

    Privat DNS löser sig slutligen till storageaccountname.privatelink.blob.core.windows.net. Den returnerar den privata IP-adressen för Private Link-slutpunkten, som är 10.0.2.5 i det här exemplet.

  4. En privat anslutning till lagringskontot upprättas via Private Link-slutpunkten.

Att tänka på

Tänk på följande när du använder den här lösningen.

Tillförlitlighet

Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden som du gör gentemot dina kunder. Mer information finns i Översikt över tillförlitlighetspelare.

Det här scenariot tar upp följande viktiga punkter om tillförlitlighet:

  • Global routning med låg svarstid möjliggör tillförlitlighet genom att använda hälsoavsökningar genom att isolera programmet mot regionala avbrott.
  • Brandväggen för webbprogram i Azure Front Door ger ett centraliserat skydd för HTTP- och HTTPS-begäranden.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Det här scenariot tar upp följande viktiga punkter om säkerhet:

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Även om både Azure Front Door Premium och Web Application Firewall Premium tillhandahåller avancerade säkerhetsfunktioner över Standard-nivån, medför det ytterligare kostnader för båda. Läs följande resurser om du vill veta mer om priser för Azure Front Door och Brandvägg för webbprogram:

Driftsäkerhet

Driftskvalitet omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Översikt över grundpelare för driftskvalitet.

Implementering av nätverkssäkerhetsgränser ökar komplexiteten för åtgärder och distribution. Ha dessa punkter i åtanke:

  • IP-intervallen för Microsoft-värdbaserade agenter varierar över tid. Överväg att implementera lokalt installerade agenter i ditt virtuella nätverk.
  • Implementera Azure Bastion för scenarier där driftteam behöver åtkomst till nätverkssäkerhetsresurser.
  • Användningen av Brandvägg för webbprogram i Azure Front Door för att tillhandahålla centraliserat skydd för HTTP- och HTTPS-begäranden är ett exempel på gatewayavlastningsmönstret. Ansvaret för att undersöka begäranden om kryphål avlastas till brandväggen för webbprogram i Azure Front Door. Fördelen med ett utmärkt driftsperspektiv är att du bara behöver hantera reglerna på ett enda ställe.

Viktigt!

Med exemplet på säker nätverksingress kan du distribuera alla resurser som krävs för att du ska kunna ansluta till en jumpbox via Azure Bastion och ansluta till en nätverkssäker virtuell dator.

Prestandaeffektivitet

Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla de krav som användarna ställer på den. Mer information finns i Översikt över grundpelare för prestandaeffektivitet.

Global routning möjliggör horisontell skalning genom distribution av fler resurser i samma region eller olika regioner.

Nästa steg