Rekommendationer för att skapa en segmenteringsstrategi

Gäller för rekommendationen för checklistan för välarkitekterat ramverkssäkerhet:

SE:04 Skapa avsiktlig segmentering och perimeterer i arkitekturdesignen och arbetsbelastningens fotavtryck på plattformen. Segmenteringsstrategin måste innehålla nätverk, roller och ansvarsområden, arbetsbelastningsidentiteter och resursorganisation.

Ett segment är ett logiskt avsnitt i din lösning som måste skyddas som en enhet. En segmenteringsstrategi definierar hur en enhet ska separeras från andra enheter med en egen uppsättning säkerhetskrav och mått.

Den här guiden beskriver rekommendationerna för att skapa en enhetlig segmenteringsstrategi. Med hjälp av perimeterr och isoleringsgränser i arbetsbelastningar kan du utforma en säkerhetsmetod som fungerar för dig.

Definitioner 

Period Definition
Inneslutning En teknik för att innehålla explosionsradien om en angripare får åtkomst till ett segment.
Åtkomst med lägsta behörighet En Nulta pouzdanost princip som syftar till att minimera en uppsättning behörigheter för att slutföra en jobbfunktion.
Perimeternätverk Förtroendegränsen runt ett segment.
Resursorganisering En strategi för att gruppera relaterade resurser efter flöden inom ett segment.
Roll En uppsättning behörigheter som krävs för att slutföra en jobbfunktion.
Segment En logisk enhet som är isolerad från andra entiteter och som skyddas av en uppsättning säkerhetsåtgärder.

Viktiga designstrategier

Begreppet segmentering används ofta för nätverk. Samma underliggande princip kan dock användas i en lösning, inklusive segmentering av resurser i hanteringssyfte och åtkomstkontroll.

Segmentering hjälper dig att utforma en säkerhetsmetod som tillämpar skydd på djupet baserat på principerna i Nulta pouzdanost modellen. Se till att en angripare som bryter mot ett nätverkssegment inte kan få åtkomst till ett annat genom att segmentera arbetsbelastningar med olika identitetskontroller. I ett säkert system blockerar identitets- och nätverksattribut obehörig åtkomst och döljer tillgångarna från att exponeras. Här är några exempel på segment:

  • Prenumerationer som isolerar arbetsbelastningar i en organisation
  • Resursgrupper som isolerar arbetsbelastningstillgångar
  • Distributionsmiljöer som isolerar distribution efter steg
  • Team och roller som isolerar jobbfunktioner relaterade till utveckling och hantering av arbetsbelastningar
  • Programnivåer som isoleras av arbetsbelastningsverktyget
  • Mikrotjänster som isolerar en tjänst från en annan

Tänk på de här viktiga segmenteringselementen för att se till att du skapar en omfattande strategi för skydd på djupet:

  • Gränsen eller perimetern är startkanten för ett segment där du tillämpar säkerhetskontroller. Perimeterkontroller bör blockera åtkomst till segmentet om det inte uttryckligen tillåts. Målet är att förhindra att en angripare bryter igenom perimetern och får kontroll över systemet. En programnivå kan till exempel acceptera en slutanvändares åtkomsttoken när den bearbetar en begäran. Men datanivån kan kräva en annan åtkomsttoken som har en specifik behörighet, som endast programnivån kan begära.

  • Inneslutning är utgångskanten för ett segment som förhindrar lateral förflyttning i systemet. Målet med inneslutning är att minimera effekten av ett intrång. Ett virtuellt Azure-nätverk kan till exempel användas för att konfigurera routnings- och nätverkssäkerhetsgrupper för att endast tillåta trafikmönster som du förväntar dig, vilket undviker trafik till godtyckliga nätverkssegment.

  • Isolering är en metod för att gruppera entiteter med liknande garantier för att skydda dem med en gräns. Målet är enkel hantering och inneslutning av en attack i en miljö. Du kan till exempel gruppera de resurser som är relaterade till en specifik arbetsbelastning i en Azure-prenumeration och sedan tillämpa åtkomstkontroll så att endast specifika arbetsbelastningsteam kan komma åt prenumerationen.

Det är viktigt att notera skillnaden mellan perimeterer och isolering. Perimeter refererar till de platspunkter som ska kontrolleras. Isolering handlar om gruppering. Innehåller aktivt ett angrepp genom att använda dessa begrepp tillsammans.

Isolering innebär inte att skapa silor i organisationen. En enhetlig segmenteringsstrategi ger anpassning mellan de tekniska teamen och anger tydliga ansvarslinjer. Tydlighet minskar risken för mänskliga fel och automatiseringsfel som kan leda till säkerhetsrisker, driftstopp eller både och. Anta att en säkerhetsöverträdelse identifieras i en komponent i ett komplext företagssystem. Det är viktigt att alla förstår vem som ansvarar för resursen så att rätt person ingår i triage-teamet. Organisationen och intressenterna kan snabbt identifiera hur de ska reagera på olika typer av incidenter genom att skapa och dokumentera en bra segmenteringsstrategi.

Kompromiss: Segmentering medför komplexitet eftersom det finns omkostnader i hanteringen. Det finns också en kompromiss i kostnaden. Till exempel etableras fler resurser när distributionsmiljöer som körs sida vid sida segmenteras.

Risk: Mikrosegmentering utöver en rimlig gräns förlorar fördelen med isolering. När du skapar för många segment blir det svårt att identifiera kommunikationspunkter eller tillåta giltiga kommunikationsvägar inom segmentet.

Upprätta identitet som primär säkerhetsperimeter

Olika identiteter, till exempel personer, programvarukomponenter eller enheter, har åtkomst till arbetsbelastningssegment. Identitet är en perimeter som ska vara den primära försvarslinjen för att autentisera och auktorisera åtkomst över isoleringsgränser, oavsett var åtkomstbegäran kommer ifrån. Använd identitet som en perimeter för att:

  • Tilldela åtkomst efter roll. Identiteter behöver bara åtkomst till de segment som krävs för att utföra sitt jobb. Minimera anonym åtkomst genom att förstå roller och ansvarsområden för den begärande identiteten så att du känner till entiteten som begär åtkomst till ett segment och i vilket syfte.

    En identitet kan ha olika åtkomstomfattningar i olika segment. Överväg en typisk miljökonfiguration med separata segment för varje steg. Identiteter som är associerade med utvecklarrollen har läs- och skrivbehörighet till utvecklingsmiljön. När distributionen övergår till mellanlagring begränsas dessa behörigheter. När arbetsbelastningen har befordrats till produktion minskas omfånget för utvecklare till skrivskyddad åtkomst.

  • Överväg program- och hanteringsidentiteter separat. I de flesta lösningar har användarna en annan åtkomstnivå än utvecklare eller operatörer. I vissa program kan du använda olika identitetssystem eller kataloger för varje typ av identitet. Överväg att använda åtkomstomfattningar och skapa separata roller för varje identitet.

  • Tilldela åtkomst med minst behörighet. Om identiteten tillåts åtkomst avgör du åtkomstnivån. Börja med minsta möjliga behörighet för varje segment och bredda det omfånget endast när det behövs.

    Genom att använda minsta möjliga behörighet begränsar du de negativa effekterna om identiteten någonsin komprometteras. Om åtkomsten begränsas av tid minskas attackytan ytterligare. Tidsbegränsad åtkomst gäller särskilt för kritiska konton, till exempel administratörer eller programvarukomponenter som har en komprometterad identitet.

Kompromiss: Arbetsbelastningens prestanda kan påverkas av identitetsperimeter. För att verifiera varje begäran krävs uttryckligen extra beräkningscykler och extra nätverks-I/O.

Rollbaserad åtkomstkontroll (RBAC) resulterar också i hanteringskostnader. Att hålla reda på identiteter och deras åtkomstomfattningar kan bli komplext i rolltilldelningar. Lösningen är att tilldela roller till säkerhetsgrupper i stället för enskilda identiteter.

Risk: Identitetsinställningar kan vara komplexa. Felkonfigurationer kan påverka arbetsbelastningens tillförlitlighet. Anta till exempel att det finns en felkonfigurerad rolltilldelning som nekas åtkomst till en databas. Begäranden börjar misslyckas och orsakar slutligen tillförlitlighetsproblem som annars inte kan identifieras förrän körningen.

Information om identitetskontroller finns i Identitets- och åtkomsthantering.

Till skillnad från nätverksåtkomstkontroller validerar identiteten åtkomstkontroll vid åtkomsttillfället. Vi rekommenderar starkt att du utför regelbunden åtkomstgranskning och kräver ett arbetsflöde för godkännande för att få behörigheter för konton med kritisk påverkan. Se till exempel mönster för identitetssegmentering.

Förbättra med nätverk som en perimeter

Identitetsperimeter är nätverksagnostiska medan nätverksperimeter utökar identiteten men aldrig ersätter den. Nätverksperimeter upprättas för att kontrollera explosionsradie, blockera oväntad, förbjuden och osäker åtkomst samt fördunkla arbetsbelastningsresurser.

Även om det primära fokuset för identitetsperimetern är minst behörighet, bör du anta att det kommer att uppstå ett intrång när du utformar nätverksperimetern.

Skapa programvarudefinierade perimeterer i ditt nätverksavtryck med hjälp av Azure-tjänster och -funktioner. När en arbetsbelastning (eller delar av en viss arbetsbelastning) placeras i separata segment styr du trafik från eller till dessa segment för att skydda kommunikationsvägar. Om ett segment komprometteras begränsas det och hindras från att spridas i sidled genom resten av nätverket.

Tänk dig en angripare för att uppnå ett fotfäste i arbetsbelastningen och upprätta kontroller för att minimera ytterligare expansion. Kontrollerna bör identifiera, innehålla och hindra angripare från att få åtkomst till hela arbetsbelastningen. Här är några exempel på nätverkskontroller som en perimeter:

  • Definiera gränsperimetern mellan offentliga nätverk och nätverket där din arbetsbelastning är placerad. Begränsa siktlinjen från offentliga nätverk till nätverket så mycket som möjligt.
  • Implementera demilitariserade zoner (DMZ) framför programmet med rätt kontroller via brandväggar.
  • Skapa mikrosegmentering i ditt privata nätverk genom att gruppera delar av arbetsbelastningen i separata segment. Upprätta säkra kommunikationsvägar mellan dem.
  • Skapa gränser baserat på avsikt. Till exempel segmentera funktionella nätverk för arbetsbelastningar från operativa nätverk.

Vanliga mönster som rör nätverkssegmentering finns i Nätverkssegmenteringsmönster.

Kompromiss: Nätverkssäkerhetskontroller är ofta dyra eftersom de ingår i premium-SKU:erna. Att konfigurera regler för brandväggar resulterar ofta i överväldigande komplexitet som kräver breda undantag.

Privat anslutning ändrar arkitekturdesignen och lägger ofta till fler komponenter, till exempel hopprutor för privat åtkomst till beräkningsnoder.

Eftersom nätverksperimeter baseras på kontrollpunkter eller hopp i nätverket kan varje hopp vara en potentiell felpunkt. Dessa punkter kan påverka systemets tillförlitlighet.

Risk: Nätverkskontroller är regelbaserade och det finns en betydande risk för felkonfiguration, vilket är ett tillförlitlighetsproblem.

Information om nätverkskontroller finns i Nätverk och anslutning.

Definiera roller och tydliga ansvarslinjer

Segmentering som förhindrar förvirring och säkerhetsrisker uppnås genom att tydligt definiera ansvarslinjer inom ett arbetsbelastningsteam.

Dokumentera och dela roller och funktioner för att skapa konsekvens och underlätta kommunikationen. Ange grupper eller enskilda roller som ansvarar för viktiga funktioner. Överväg de inbyggda rollerna i Azure innan du skapar anpassade roller för objekt.

Överväg konsekvens och ta emot flera organisationsmodeller när du tilldelar behörigheter för ett segment. Dessa modeller kan sträcka sig från en enda centraliserad IT-grupp till mestadels oberoende IT- och DevOps-team.

Risk: Medlemskap i grupper kan ändras med tiden när anställda går med i eller lämnar team eller byter roller. Hantering av roller mellan segment kan resultera i hanteringskostnader.

Organisera resurser för att främja segmentering

Med segmentering kan du isolera arbetsbelastningsresurser från andra delar av organisationen eller till och med inom teamet. Azure-konstruktioner, till exempel hanteringsgrupper, prenumerationer, miljöer och resursgrupper, är sätt att organisera dina resurser som främjar segmentering. Här följer några exempel på isolering på resursnivå:

  • Polyglot persistence innebär en kombination av datalagringstekniker i stället för ett enda databassystem som stöder segmentering. Använd flerspråkig persistens för separation av olika datamodeller, uppdelning av funktioner som datalagring och analys eller för att separera med åtkomstmönster.
  • Allokera en tjänst för varje server när du organiserar din beräkning. Den här isoleringsnivån minimerar komplexiteten och kan hjälpa till att begränsa ett angrepp.
  • Azure tillhandahåller inbyggd isolering för vissa tjänster, till exempel separation av beräkning från lagring. Andra exempel finns i Isolering i det offentliga Azure-molnet.

Kompromiss: Resursisolering kan leda till en ökning av den totala ägandekostnaden (TCO). För datalager kan det finnas ytterligare komplexitet och samordning under haveriberedskap.

Azure-underlättande

Vissa Azure-tjänster är tillgängliga för användning vid implementering av en segmenteringsstrategi, enligt beskrivningen i följande avsnitt.

Identitet

Azure RBAC stöder segmentering genom att isolera åtkomsten efter jobbfunktion. Endast vissa åtgärder tillåts för vissa roller och omfång. Till exempel kan jobbfunktioner som bara behöver observera systemet tilldelas läsbehörigheter jämfört med deltagarbehörigheter som gör att identiteten kan hantera resurser.

Mer information finns i Metodtips för RBAC.

Nätverk

Diagram som visar nätverksalternativ för segmentering.

Virtuella nätverk: Virtuella nätverk tillhandahåller inneslutning på nätverksnivå av resurser utan att lägga till trafik mellan två virtuella nätverk. Virtuella nätverk skapas i privata adressutrymmen i en prenumeration

Nätverkssäkerhetsgrupper (NSG): En mekanism för åtkomstkontroll för att styra trafik mellan resurser i virtuella nätverk och externa nätverk, till exempel Internet. Implementera användardefinierade vägar (UDR) för att styra nästa hopp för trafik. NSG:er kan ta din segmenteringsstrategi till en detaljerad nivå genom att skapa perimeterer för ett undernät, en virtuell dator (VM) eller en grupp virtuella datorer. Information om möjliga åtgärder med undernät i Azure finns i Undernät.

Programsäkerhetsgrupper (ASG): MED ASG:er kan du gruppera en uppsättning virtuella datorer under en programtagg och definiera trafikregler som sedan tillämpas på var och en av de underliggande virtuella datorerna.

Azure Firewall: En molnbaserad tjänst som kan distribueras i ditt virtuella nätverk eller i Azure Virtual WAN Hub-distributioner. Använd Azure Firewall för att filtrera trafik som flödar mellan molnresurser, Internet och lokala resurser. Använd Azure Firewall eller Azure Firewall Manager för att skapa regler eller principer som tillåter eller nekar trafik med hjälp av layer 3 till layer 7-kontroller. Filtrera Internettrafik med hjälp av Azure Firewall och tredje part genom att dirigera trafik via tredjepartssäkerhetsleverantörer för avancerad filtrering och användarskydd. Azure har stöd för distribution av virtuella nätverksinstallationer, vilket hjälper till att segmentera från brandväggar från tredje part.

Exempel

Här följer några vanliga mönster för segmentering av en arbetsbelastning i Azure. Välj ett mönster baserat på dina behov.

Det här exemplet bygger på den IT-miljö (Information Technology) som upprättats i säkerhetsbaslinjen (SE:01). Diagrammet nedan visar segmentering på hanteringsgruppsnivå som utförs av en organisation.

Diagram som visar ett exempel på en organisations segmenteringsstrategi för olika arbetsbelastningar.

Mönster för identitetssegmentering

Mönster 1: Jobbtitelbaserad gruppering

Ett sätt att organisera säkerhetsgrupper är efter befattning som programvarutekniker, databasadministratör, platstillförlitlighetstekniker, kvalitetssäkringstekniker eller säkerhetsanalytiker. Den här metoden innebär att skapa säkerhetsgrupper för ditt arbetsbelastningsteam baserat på deras roller, utan att ta hänsyn till det arbete som behöver utföras. Bevilja säkerhetsgrupper RBAC-behörigheter, stående eller just-in-time (JIT), enligt deras ansvar i arbetsbelastningen. Tilldela principer för människor och tjänster till säkerhetsgrupper baserat på deras åtkomst vid behov.

Medlemskapet är mycket synligt på rolltilldelningsnivå, vilket gör det enkelt att se vad en roll har åtkomst till. Varje person är vanligtvis medlem i endast en säkerhetsgrupp, vilket gör det enkelt att registrera och avregistrera sig. Men om inte jobbtitlarna överlappar perfekt med ansvarsområden är rubrikbaserad gruppering inte idealisk för implementering med minsta möjliga behörighet. Det kan sluta med att du kombinerar implementering med funktionsbaserad gruppering.

Mönster 2: Funktionsbaserad gruppering

Funktionsbaserad gruppering är en organisationsmetod för säkerhetsgrupper som återspeglar diskret arbete som måste utföras, inte med hänsyn till din teamstruktur. Med det här mönstret beviljar du säkerhetsgrupper RBAC-behörigheter, stående eller JIT efter behov, enligt deras nödvändiga funktion i arbetsbelastningen.

Tilldela principer för människor och tjänster till säkerhetsgrupper baserat på deras åtkomst vid behov. Använd om möjligt befintliga homogena grupper som medlemmar i de funktionsbaserade grupperna, till exempel dessa grupper från mönster 1. Exempel på funktionsbaserade grupper är:

  • Operatorer för produktionsdatabaser
  • Databasoperatorer för förproduktion
  • Rotationsoperatorer för produktionscertifikat
  • Roteringsoperatorer för förproduktionscertifikat
  • Live-site/triage för produktion
  • Förproduktion all åtkomst

Den här metoden upprätthåller den strängaste åtkomsten med lägsta behörighet och tillhandahåller säkerhetsgrupper där omfånget är uppenbart, vilket gör det enkelt att granska medlemskap i förhållande till jobbuppgifter som utförs. Det finns ofta en inbyggd Azure-roll som matchar den här jobbfunktionen.

Medlemskapet abstraheras dock minst ett lager, vilket tvingar dig att gå till identitetsprovidern för att förstå vem som finns i gruppen när du tittar från resursperspektivet. Dessutom måste en person ha flera medlemskap för fullständig täckning. Matrisen för överlappande säkerhetsgrupper kan vara komplex.

Mönster 2 rekommenderas för att göra åtkomstmönstren i fokus, inte organisationsschemat. Organisationsscheman och medlemsroller ändras ibland. Genom att samla in arbetsbelastningens identitets- och åtkomsthantering ur ett funktionellt perspektiv kan du abstrahera din teamorganisation från säker hantering av arbetsbelastningen.

Mönster för nätverkssegmentering

Mönster 1: Segmentering inom en arbetsbelastning (mjuka gränser)

Diagram som visar ett enda virtuellt nätverk.

I det här mönstret placeras arbetsbelastningen i ett enda virtuellt nätverk med hjälp av undernät för att markera gränser. Segmentering uppnås med hjälp av två undernät, ett för databas och ett för webbarbetsbelastningar. Du måste konfigurera NSG:er som tillåter att undernät 1 endast kommunicerar med undernät 2 och undernät 2 för att endast kommunicera med Internet. Det här mönstret ger nivå 3-kontroll.

Mönster 2: Segmentering inom en arbetsbelastning

Diagram som visar flera virtuella nätverk.

Det här mönstret är ett exempel på segmentering på plattformsnivå. Arbetsbelastningen componenter är spridda över flera nätverk utan peering mellan dem. All kommunikation dirigeras via en mellanhand som fungerar som en offentlig åtkomstpunkt. Arbetsbelastningsteamet äger alla nätverk.

Mönster 2 ger inneslutning men har den extra komplexiteten för hantering och storleksändring av virtuella nätverk. Kommunikationen mellan de två nätverken sker via det offentliga Internet, vilket kan vara en risk. Det finns också svarstider med offentliga anslutningar. De två nätverken kan dock peerkopplas, vilket bryter segmenteringen genom att ansluta dem för att skapa ett större segment. Peering bör göras när inga andra offentliga slutpunkter behövs.

Att tänka på Mönster 1 Mönster 2
Anslutning och routning: Hur varje segment kommunicerar Systemroutning ger standardanslutning till arbetsbelastningskomponenter. Ingen extern komponent kan kommunicera med arbetsbelastningen. I det virtuella nätverket, samma som mönster 1.
Mellan nätverk går trafiken via det offentliga Internet. Det finns ingen direkt anslutning mellan nätverken.
Trafikfiltrering på nätverksnivå Trafik mellan segmenten tillåts som standard. Använd NSG:er eller ASG:er för att filtrera trafik. I det virtuella nätverket, samma som mönster 1.
Mellan nätverken kan du filtrera både inkommande och utgående trafik via en brandvägg.
Oavsiktliga öppna offentliga slutpunkter Nätverkskort får inte offentliga IP-adresser. Virtuella nätverk exponeras inte för internet-API-hantering. Samma som mönster 1. Avsedd öppen offentlig slutpunkt i ett virtuellt nätverk, som kan felkonfigureras för att acceptera mer trafik.

Resursorganisering

Organisera Azure-resurser baserat på ägaransvar

Diagram över en Azure-egendom som innehåller flera arbetsbelastningar.

Överväg en Azure-egendom som innehåller flera arbetsbelastningar och delade tjänstkomponenter som virtuella hubbnätverk, brandväggar, identitetstjänster och säkerhetstjänster som Microsoft Sentinel. Komponenter i hela egendomen ska grupperas baserat på deras funktionella områden, arbetsbelastningar och ägarskap. Till exempel bör delade nätverksresurser grupperas i en enda prenumeration och hanteras av ett nätverksteam. Komponenter som är dedikerade till enskilda arbetsbelastningar bör vara i sitt eget segment och kan delas upp ytterligare baserat på programnivåer eller andra organisationsprinciper.

Bevilja åtkomst för att hantera resurser inom enskilda segment genom att skapa RBAC-rolltilldelningar. Molnnätverksteamet kan till exempel beviljas administrativ åtkomst till den prenumeration som innehåller deras resurser, men inte till enskilda arbetsbelastningsprenumerationer.

En bra segmenteringsstrategi gör det enkelt att identifiera ägarna till varje segment. Överväg att använda Azure-resurstaggar för att kommentera resursgrupper eller prenumerationer med ägarteamet.

Konfigurera och granska åtkomstkontroll

Bevilja lämplig åtkomst baserat på behov genom att tydligt definiera segment för dina resurser.

Överväg principen om lägsta behörighet när du definierar principer för åtkomstkontroll. Det är viktigt att skilja mellan kontrollplansåtgärder (hantering av själva resursen) och dataplansåtgärder (åtkomst till data som lagras av resursen). Anta till exempel att du har en arbetsbelastning som innehåller en databas med känslig information om anställda. Du kan ge hanteringsåtkomst till vissa användare som behöver konfigurera inställningar som säkerhetskopior av databaser eller användare som övervakar databasserverns prestanda. Dessa användare bör dock inte kunna köra frågor mot känsliga data som lagras i databasen. Välj behörigheter som ger det minsta omfång som krävs för att användarna ska kunna utföra sina uppgifter. Granska regelbundet rolltilldelningar för varje segment och ta bort åtkomst som inte längre krävs.

Kommentar

Vissa mycket privilegierade roller, till exempel ägarrollen i RBAC, ger användarna möjlighet att ge andra användare åtkomst till en resurs. Begränsa hur många användare eller grupper som tilldelas ägarrollen och granska regelbundet granskningsloggarna så att de endast utför giltiga åtgärder.

Säkerhetskontrollista

Se den fullständiga uppsättningen rekommendationer.