Rekommendationer för härdning av resurser
Gäller för den här checklistan för Azure Well-Architected Framework Security:
SE:08 | Härda alla arbetsbelastningskomponenter genom att minska onödig yta och dra åt konfigurationer för att öka angriparens kostnader. |
---|
Den här guiden beskriver rekommendationerna för härdning av resurser genom att utveckla lokaliserade kontroller i en arbetsbelastning och underhålla dem för att klara upprepade attacker.
Säkerhetshärdning är en avsiktlig självbevarande övning. Målet är att minska en attackyta och öka angriparnas kostnader på andra områden, vilket begränsar möjligheterna för skadliga aktörer att utnyttja sårbarheter. För att skydda din arbetsbelastning implementerar du metodtips och konfigurationer för säkerhet.
Säkerhetshärdning är en pågående process som kräver kontinuerlig övervakning och anpassning till nya hot och sårbarheter.
Definitioner
Period | Definition |
---|---|
Härdning | Metoden att minska en attackyta genom att ta bort onödiga resurser eller justera konfigurationer. |
Arbetsstation för privilegierad åtkomst (PAW) | En dedikerad och säker dator som du använder för att utföra känsliga uppgifter, vilket minskar risken för kompromettering. |
Säker administrativ arbetsstation (SAW) | En specialiserad PAW som används av konton med kritisk påverkan. |
Yta | Ett logiskt fotavtryck för en arbetsbelastning som innehåller sårbarheter. |
Viktiga designstrategier
Säkerhetshärdning är en mycket lokaliserad övning som stärker kontrollerna på komponentnivå, oavsett om det är resurser eller processer. När du ökar säkerheten för varje komponent förbättras den aggregerade säkerhetsgarantin för din arbetsbelastning.
Säkerhetshärdning tar inte hänsyn till arbetsbelastningens funktioner och identifierar inte hot eller utför automatisk genomsökning. Säkerhetshärdning fokuserar på konfigurationsjustering med en antagsöverträdelse och djupskyddsmentalitet. Målet är att göra det svårt för en angripare att få kontroll över ett system. Härdning bör inte ändra det avsedda verktyget för en arbetsbelastning eller dess åtgärder.
Skapa en inventering av arbetsbelastningstillgångar
Det första steget i härdningsprocessen är att samla in en omfattande inventering av alla maskinvaru-, programvaru- och datatillgångar. Håll dina lagerposter uppdaterade genom att lägga till nya tillgångar och ta bort inaktiverade tillgångar. Överväg följande metodtips för alla tillgångar i ditt lager:
Minska fotavtrycket. Ta bort överflödig yta eller minska omfånget. Eliminera enkla mål eller billiga och väletablerade attackvektorer, till exempel okopplade programvarubedrifter och råstyrkeattacker. Innan produktionsdistributionen bör du rensa identiteter, byggkomponenter och andra icke-nödvändiga tillgångar från källträdet.
Finjustera konfigurationer. Utvärdera och dra åt den återstående ytan. När resurserna är härdade lyckas inte längre beprövade metoder som angripare använder. Det tvingar angripare att skaffa och använda avancerade eller otestade attackmetoder, vilket ökar deras kostnader.
Behåll skydd. Upprätthålla skyddsåtgärder genom att utföra kontinuerlig hotidentifiering för att säkerställa att härdningsarbetet är tillförlitligt över tid.
Tänk också på följande faktorer.
Betrodd källa. En del av härdningsövningen omfattar programvaruförsörjningskedjan. Den här vägledningen förutsätter att alla komponenter hämtas från betrodda källor. Din organisation måste godkänna programvara som anskaffas från tredjepartsleverantörer. Det här godkännandet gäller för källor till operativsystemet, avbildningar och andra verktyg från tredje part. Utan betrodda resurser kan härdning vara en oändlig dränering av säkerhetsgarantier på ej betrodda källor.
Rekommendationer om säkerhet för din leveranskedja finns i Rekommendationer för att skydda en utvecklingslivscykel.
Träning. Härdning är en specialiserad färdighet. Det är metodiskt och kräver en hög kompetensnivå. Du måste förstå funktionerna i en komponent och hur ändringar påverkar komponenten. En teammedlem måste kunna urskilja vägledningen från branschexperter och plattformen för att skilja den från vägledning från osäkra källor. Utbilda dina teammedlemmar i att skapa en säkerhetsmedveten kultur. Se till att ditt team är skickligt på bästa praxis för säkerhet, har medvetenhet om potentiella hot och lär sig av retrospektiv efter incident.
Dokumentation. Dokumentera och publicera härdningskrav, beslut och definierade metoder. För transparens dokumenterar du även undantag eller avvikelser från dessa krav.
Härdning kan vara besvärligt, men det är en viktig säkerhetsövning som du måste dokumentera. Härda kärnkomponenterna först och expandera sedan till andra områden, till exempel automatiserade processer och mänskliga processer, för att strama upp potentiella luckor. Var noggrann med förändringar. Ett nödvändigt steg är till exempel att inaktivera standardinställningarna eftersom ändringar av standardvärden kan påverka systemets stabilitet. Även om ersättningskonfigurationen är densamma som standard måste den definieras. I följande avsnitt beskrivs vanliga mål för härdning. Utvärdera viktiga designområden för din arbetsbelastning och följ de viktigaste strategierna för att härda på komponentnivå.
Härda nätverkskomponenter
Dela upp nätverket i segment för att isolera kritiska tillgångar och känsliga data från mindre säkra tillgångar, vilket minskar angripares laterala rörelser. I dessa segment tillämpar du en neka-som-standard-metod . Lägg bara till åtkomst till listan över tillåtna om det är motiverat.
Inaktivera portar och protokoll som inte används aktivt. Om du till exempel inte behöver distribuera via FTP i Azure App Service kan du inaktivera det. Eller om du utför hanteringsåtgärder via ett internt nätverk kan du inaktivera administrativ åtkomst från Internet.
Ta bort eller inaktivera äldre protokoll. Angripare utnyttjar system som använder gamla versioner. Använd en Azure-identifieringstjänst för att granska loggar och fastställa protokollanvändning. Det kan vara svårt att ta bort protokoll eftersom det kan störa systemets funktioner. Testa alla ändringar före implementeringen för att minska risken för driftavbrott.
Behandla offentliga IP-adresser (PIP) som högrisktillgångar eftersom de är enkla att komma åt och har en bred global räckvidd. Minska exponeringen genom att ta bort onödig internetåtkomst till arbetsbelastningen. Använd delade offentliga IP-adresser som Microsoft usluge, till exempel Azure Front Door, tillhandahåller. Dessa tjänster är utformade för att vara internetuppkopplade och blockerar åtkomst till otillåtna protokoll. Många sådana tjänster utför inledande kontroller av inkommande begäranden vid nätverksgränsen. Med en dedikerad PIP ansvarar du för att hantera dess säkerhetsaspekter, tillåta eller blockera portar och genomsöka inkommande begäranden för att säkerställa deras giltighet.
För internetuppkopplade program begränsar du åtkomsten genom att lägga till en layer-7-tjänst som kan filtrera ogiltig trafik. Utforska interna tjänster som tillämpar DDoS-skydd (Distributed Denial-of-Service), har brandväggar för webbprogram och ger skydd vid gränsen innan trafiken når programnivån.
DNS-härdning (Domain Name System) är en annan nätverkssäkerhetspraxis. För att säkerställa att DNS-infrastrukturen är säker rekommenderar vi att du använder betrodda DNS-matchare. Om du vill verifiera information från DNS-matchare och tillhandahålla ett extra säkerhetslager använder du när det är möjligt ett DNS-säkerhetsprotokoll för mycket känsliga DNS-zoner. Om du vill förhindra attacker som DNS-cacheförgiftning, DDoS-attacker och förstärkningsattacker kan du utforska andra DNS-relaterade säkerhetskontroller, till exempel begränsning av frågefrekvens, begränsning av svarshastighet och DNS-cookies.
Harden-identitetsåtkomstkontroller
Ta bort oanvända eller standardkonton. Inaktivera oanvända autentiserings- och auktoriseringsmetoder.
Inaktivera äldre autentiseringsmetoder eftersom de ofta är attackvektorer. Gamla protokoll saknar ofta attackräknare, till exempel kontoutelåsningar. Externalisera dina autentiseringskrav till din identitetsprovider (IdP), till exempel Microsoft Entra-ID.
Föredrar federation framför att skapa dubblettidentiteter. Om en identitet komprometteras är det lättare att återkalla dess åtkomst när den hanteras centralt.
Förstå plattformsfunktioner för förbättrad autentisering och auktorisering. Härda åtkomstkontroller genom att dra nytta av multifaktorautentisering, lösenordsfri autentisering, villkorsstyrd åtkomst och andra funktioner som Microsoft Entra-ID erbjuder för att verifiera identiteten. Du kan lägga till extra skydd kring inloggningshändelser och minska omfattningen där en angripare kan göra en begäran.
Använd hanterade identiteter och arbetsbelastningsidentiteter utan autentiseringsuppgifter där det är möjligt. Autentiseringsuppgifter kan läckas. Mer information finns i Rekommendationer för att skydda programhemligheter.
Använd metoden med minsta möjliga behörighet för dina hanteringsprocesser. Ta bort onödiga rolltilldelningar och utför regelbundna Microsoft Entra-åtkomstgranskningar. Använd rolltilldelningsbeskrivningar för att hålla ett pappersspår med motiveringar, vilket är avgörande för granskningar.
Härda molnresurskonfigurationer
Föregående härdningsrekommendationer för nätverk och identitet gäller för enskilda molntjänster. När det gäller nätverk bör du ägna särskild uppmärksamhet åt brandväggar på servicenivå och utvärdera deras regler för inkommande trafik.
Identifiera och inaktivera oanvända funktioner , till exempel oanvänd åtkomst till dataplan och produktfunktioner, som andra komponenter kan omfatta. App Service stöder till exempel Kudu, som tillhandahåller FTP-distributioner, fjärrfelsökning och andra funktioner. Om du inte behöver dessa funktioner inaktiverar du dem.
Håll dig alltid uppdaterad med Azure-översikten och arbetsbelastningsöversikten. Tillämpa korrigerings- och versionsuppdateringar som Azure-tjänster erbjuder. Tillåt uppdateringar som tillhandahålls av plattformen och prenumerera på automatiska uppdateringskanaler.
Risk: Molnresurser har ofta krav på utsläppsrätter eller måste köras i dokumenterade konfigurationer för att anses ha stöd. Vissa härdningstekniker, till exempel aggressivt blockerande utgående trafik, kan leda till att en tjänst hamnar utanför en konfiguration som stöds, även om tjänsten fungerar normalt. Förstå varje molnresurss körningskrav från din plattform för att säkerställa att du behåller stödet för den resursen.
Härda kodtillgångar
Utvärdera områden där programmet oavsiktligt kan läcka information. Anta till exempel att du har ett API som hämtar användarinformation. En begäran kan ha ett giltigt användar-ID och ditt program returnerar ett 403-fel. Men med ett ogiltigt kund-ID returnerar begäran ett 404-fel. Sedan läcker du effektivt information om dina användar-ID:er.
Det kan finnas mer subtila fall. Svarssvarstiden med ett giltigt användar-ID är till exempel högre än ett ogiltigt kund-ID.
Överväg att implementera programhärdning inom följande områden:
Validering och sanering av indata: Förhindra inmatningsattacker som SQL-inmatning och XSS (cross-site scripting) genom att validera och sanera alla användarindata. Automatisera indatasanering med hjälp av indatavalideringsbibliotek och ramverk.
Sessionshantering: Skydda sessionsidentifierare och token från stöld- eller sessionskorrigeringsattacker med hjälp av säkra tekniker för sessionshantering. Implementera tidsgränser för sessioner och framtvinga omautentisering för känsliga åtgärder.
Felhantering: Implementera anpassad felhantering för att minimera risken för att känslig information exponeras för angripare. Logga fel på ett säkert sätt och övervaka loggarna för misstänkt aktivitet.
HTTP-säkerhetshuvuden: Minska vanliga webbsårbarheter genom att använda säkerhetshuvuden i HTTP-svar, till exempel innehållssäkerhetsprincip (CSP), X-Content-Type-Options och X-Frame-Options.
API-säkerhet: Skydda dina API:er med rätt autentiserings- och auktoriseringsmekanismer. För att ytterligare förbättra säkerheten implementerar du hastighetsbegränsning, validering av begäranden och åtkomstkontroller för API-slutpunkter.
Följ säkra kodningsmetoder när du utvecklar och underhåller program. Utför regelbundet kodgranskningar och genomsök program efter sårbarheter. Mer information finns i Rekommendationer för att skydda en utvecklingslivscykel.
Harden-hanteringsåtgärder
Härda även andra resurser som inte körs. Du kan till exempel minska fotavtrycket för byggåtgärder genom att inventera alla tillgångar och ta bort oanvända tillgångar från pipelinen. Hämta sedan uppgifter som publiceras av betrodda källor och kör endast uppgifter som har verifierats.
Kontrollera om du behöver Microsoft-värdbaserade eller lokalt installerade byggagenter. Lokalt installerade byggagenter behöver extra hantering och måste härdas.
Ur ett observerbarhetsperspektiv implementerar du en process för att granska loggar för potentiella överträdelser. Granska och uppdatera åtkomstkontrollregler regelbundet baserat på åtkomstloggar. Arbeta med centrala team för att analysera siem-loggar (security information event management) och soar-loggar (security orchestration automated response) för att identifiera avvikelser.
Överväg att kräva PAW:er eller SAW:er för privilegierade hanteringsåtgärder. PAW:er och SAW:er är härdade fysiska enheter som erbjuder betydande säkerhetsfördelar, men implementeringen kräver noggrann planering och hantering. Mer information finns i Skydda enheter som en del av artikeln om privilegierad åtkomst.
Azure-underlättande
Microsoft Defender för molnet erbjuder flera härdningsfunktioner:
- Serverhärdning
- Adaptiv nätverkshärdning
- Docker-värdhärdning
Center for Internet Security (CIS) erbjuder härdade avbildningar på Azure Marketplace.
Du kan använda Azure VM Image Builder för att skapa en repeterbar process för härdade OS-avbildningar. Common Base Linux-Mariner är en förstärkt Linux-distribution som utvecklats av Microsoft och som följer säkerhetsstandarder och branschcertifieringar. Du kan använda den med Azure-infrastrukturprodukter för att skapa arbetsbelastningsimplementeringar.
Exempel
Följande procedur är ett exempel på hur du härdar ett operativsystem:
Minska fotavtrycket. Ta bort onödiga komponenter i en bild. Installera bara det du behöver.
Finjustera konfigurationer. Inaktivera konton som inte används. Standardkonfigurationen för operativsystem har extra konton som är länkade till säkerhetsgrupper. Om du inte använder dessa konton inaktiverar eller tar du bort dem från systemet. Extra identiteter är hotvektorer som kan användas för att få åtkomst till servern.
Inaktivera onödig åtkomst till filsystemet. Kryptera filsystemet och finjustera åtkomstkontrollerna för identitet och nätverk.
Kör bara det som behövs. Blockera program och tjänster som körs som standard. Godkänn endast program och tjänster som behövs för arbetsbelastningsfunktioner.
Behåll skydd. Uppdatera regelbundet operativsystemkomponenterna med de senaste säkerhetsuppdateringarna och korrigeringarna för att minska kända sårbarheter.
Relaterade länkar
- Adaptiv nätverkshärdning
- Rekommendationer för att skydda programhemligheter
- Rekommendationer för att skydda en utvecklingslivscykel
- Skydda enheter som en del av den privilegierade åtkomstartikeln
- Serverhärdning
Communitylänkar
Säkerhetskontrollista
Se den fullständiga uppsättningen rekommendationer.