Rekommendationer för härdning av resurser

Gäller för denna checklista för Azure Well-Architected Framework Security:

SE:08 Härda alla arbetsbelastningskomponenter genom att minska onödig yta och åtdragningskonfigurationer för att öka angriparens kostnader.

Den här guiden beskriver rekommendationerna för att härda 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 inom 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 växande hot och sårbarheter.

Definitioner

Period Definition
Härdning Att minska en attackyta genom att ta bort onödiga resurser eller justera konfigurationer.
PAW (Privileged Access Workstation) En dedikerad och säker dator som du använder för att utföra känsliga uppgifter, vilket minskar risken för intrång.
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äkerhetsrisker.

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.

Det första steget i härdningsprocessen är att samla in en omfattande inventering av all maskinvara, programvara 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 inventeringen:

  • Minska fotavtrycket. Ta bort överflödig yta eller minska omfånget. Eliminera enkla mål eller billiga och väletablerade attackvektorer, till exempel oanvända programvaruexploateringar och råstyrkeattacker. Innan produktionsdistributionen bör du rensa identiteter, byggkomponenter och andra tillgångar som inte behövs 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. Underhåll 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.

Utbildning. 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å metodtips för säkerhet, har kunskap 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 öka 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 inte kan påverka systemets stabilitet. Även om ersättningskonfigurationen är samma som standardinställningen måste den definieras. I följande avsnitt beskrivs vanliga mål för härdning. Utvärdera viktiga designområden i din arbetsbelastning och följ de viktigaste strategierna för att härda på komponentnivå.

Nätverk

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 berättigat.

Inaktivera portar och protokoll som inte används aktivt. Om du till exempel inte behöver distribuera via FTP på 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-tjänster, 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 framtvingar DDoS-skydd (distribuerad 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.

Identitet

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öredra federation framför att skapa duplicerade identiteter. Om en identitet komprometteras är det enklare att återkalla åtkomsten 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ösenordslös autentisering, villkorlig å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 den lägsta behörighetsmetoden 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.

Molnresurser

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 inkommande regler.

Identifiera och inaktivera oanvända funktioner , till exempel oanvänd åtkomst till dataplanet och produktfunktioner, som andra komponenter kan omfatta. Till exempel stöder App Service 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 uppdaterings- och versionsuppdateringar som Erbjuds av Azure-tjänster. 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 betraktas som 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 har stöd för den resursen.

Program

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. Svarsfördröjningen 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 exponeringen av känslig information för angripare. Logga fel på ett säkert sätt och övervaka dessa loggar för misstänkt aktivitet.

  • HTTP-säkerhetshuvuden: Åtgärda 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, begär validering 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.

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 göra en inventering av alla tillgångar och ta bort oanvända tillgångar från din pipeline. Hämta sedan uppgifter som publiceras av betrodda källor och kör endast uppgifter som är verifierade.

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:

Center for Internet Security (CIS) erbjuder härdade bilder i 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 härdad Linux-distribution som har 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:

  1. Minska fotavtrycket. Ta bort onödiga komponenter i en bild. Installera bara det du behöver.

  2. Finjustera konfigurationer. Inaktivera oanvända konton. 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.

  3. Behåll skydd. Uppdatera regelbundet operativsystemkomponenterna med de senaste säkerhetsuppdateringarna och korrigeringarna för att minska kända säkerhetsrisker.

Organisatorisk anpassning

Cloud Adoption Framework för Azure ger vägledning om hur du skapar centraliserade funktioner för identitets- och åtkomsthantering. Mer information finns i Designområdet för identitets- och åtkomsthantering i Azure.

CIS-benchmark

Säkerhetskontrollista

Se den fullständiga uppsättningen rekommendationer.