Skydda PaaS-distributioner

Den här artikeln innehåller information som hjälper dig:

  • Förstå säkerhetsfördelarna med att vara värd för program i molnet
  • Utvärdera säkerhetsfördelarna med PaaS (plattform som en tjänst) jämfört med andra molntjänstmodeller
  • Ändra ditt säkerhetsfokus från en nätverkscentrerad till en identitetscentrerad perimetersäkerhetsmetod
  • Implementera allmänna rekommendationer för Metodtips för PaaS-säkerhet

Utveckla säkra program i Azure är en allmän guide till de säkerhetsfrågor och kontroller som du bör tänka på i varje fas av livscykeln för programvaruutveckling när du utvecklar program för molnet.

Fördelar med molnsäkerhet

Det är viktigt att förstå ansvarsfördelningen mellan dig och Microsoft. Lokalt äger du hela stacken, men när du flyttar till molnet överförs vissa ansvarsområden till Microsoft.

Det finns säkerhetsfördelar med att vara i molnet. I en lokal miljö har organisationer sannolikt ouppfyllda ansvarsområden och begränsade resurser som är tillgängliga för att investera i säkerhet, vilket skapar en miljö där angripare kan utnyttja sårbarheter i alla lager.

Organisationer kan förbättra sina hotidentifierings- och svarstider med hjälp av en leverantörs molnbaserade säkerhetsfunktioner och molninformation. Genom att flytta ansvaret till molnleverantören kan organisationer få mer säkerhetstäckning, vilket gör det möjligt för dem att omallokera säkerhetsresurser och budget till andra affärsprioriteringar.

Säkerhetsfördelar med en PaaS-molntjänstmodell

Nu ska vi titta på säkerhetsfördelarna med en Azure PaaS-distribution jämfört med lokalt.

Security advantages of PaaS

Från och med botten av stacken, den fysiska infrastrukturen, minimerar Microsoft vanliga risker och ansvarsområden. Eftersom Microsoft-molnet övervakas kontinuerligt av Microsoft är det svårt att attackera. Det är inte meningsfullt för en angripare att fullfölja Microsoft-molnet som mål. Om angriparen inte har mycket pengar och resurser kommer angriparen sannolikt att gå vidare till ett annat mål.

I mitten av stacken finns det ingen skillnad mellan en PaaS-distribution och en lokal. På programnivån och konto- och åtkomsthanteringsskiktet har du liknande risker. I nästa steg i den här artikeln vägleder vi dig till metodtips för att eliminera eller minimera dessa risker.

Överst i stacken, datastyrning och rättighetshantering tar du en risk som kan minimeras av nyckelhantering. (Nyckelhantering omfattas av bästa praxis.) Även om nyckelhantering är ett extra ansvar har du områden i en PaaS-distribution som du inte längre behöver hantera så att du kan flytta resurser till nyckelhantering.

Azure-plattformen ger dig också ett starkt DDoS-skydd med hjälp av olika nätverksbaserade tekniker. Alla typer av nätverksbaserade DDoS-skyddsmetoder har dock sina gränser per länk och per datacenter. För att undvika effekten av stora DDoS-attacker kan du dra nytta av Azures kärnmolnkapacitet så att du snabbt och automatiskt kan skala ut för att försvara dig mot DDoS-attacker. Vi går in mer detaljerat på hur du kan göra detta i artiklarna om rekommenderade metoder.

Modernisera Defender för molnet tankesätt

Med PaaS-distributioner kommer en förändring i din övergripande metod för säkerhet. Du övergår från att behöva kontrollera allt själv till att dela ansvar med Microsoft.

En annan viktig skillnad mellan PaaS och traditionella lokala distributioner är en ny vy över vad som definierar den primära säkerhetsperimetern. Tidigare var den primära lokala säkerhetsperimetern ditt nätverk och de flesta lokala säkerhetsdesigner använder nätverket som primär säkerhets pivot. För PaaS-distributioner får du bättre hjälp genom att betrakta identitet som den primära säkerhetsperimetern.

Anta en identitetsprincip som primär säkerhetsperimeter

En av de fem viktigaste egenskaperna för molnbaserad databehandling är bred nätverksåtkomst, vilket gör nätverksfokuserad tänkande mindre relevant. Målet med mycket molnbaserad databehandling är att tillåta användare att komma åt resurser oavsett plats. För de flesta användare kommer deras plats att finnas någonstans på Internet.

Följande bild visar hur säkerhetsperimetern har utvecklats från en nätverksperimeter till en identitetsperimeter. Säkerheten handlar mindre om att försvara nätverket och mer om att försvara dina data, samt att hantera säkerheten för dina appar och användare. Den viktigaste skillnaden är att du vill föra säkerheten närmare det som är viktigt för ditt företag.

Identity as new security perimeter

Till en början tillhandahöll Azure PaaS-tjänster (till exempel webbroller och Azure SQL) lite eller inget traditionellt skydd för nätverksperimeter. Det var underförstått att elementets syfte var att exponeras för Internet (webbrollen) och att autentisering ger den nya perimetern (till exempel BLOB eller Azure SQL).

Moderna säkerhetsrutiner förutsätter att angriparen har brutit mot nätverksperimetern. Därför har moderna försvarsmetoder övergått till identitet. Organisationer måste upprätta en identitetsbaserad säkerhetsperimeter med stark autentiserings- och auktoriseringshygien (bästa praxis).

Principer och mönster för nätverksperimetern har varit tillgängliga i årtionden. Däremot har branschen relativt mindre erfarenhet av att använda identitet som primär säkerhetsperimeter. Med detta sagt har vi samlat tillräckligt med erfarenhet för att ge några allmänna rekommendationer som är beprövade inom området och gäller för nästan alla PaaS-tjänster.

Följande är metodtips för att hantera identitetsperimetern.

Bästa praxis: Skydda dina nycklar och autentiseringsuppgifter för att skydda Din PaaS-distribution. Information: Att förlora nycklar och autentiseringsuppgifter är ett vanligt problem. Du kan använda en centraliserad lösning där nycklar och hemligheter kan lagras i maskinvarusäkerhetsmoduler (HSM). Azure Key Vault skyddar dina nycklar och hemligheter genom att kryptera autentiseringsnycklar, lagringskontonycklar, datakrypteringsnycklar, .pfx-filer och lösenord med hjälp av nycklar som skyddas av HSM:er.

Bästa praxis: Placera inte autentiseringsuppgifter och andra hemligheter i källkoden eller GitHub. Detalj: Det enda som är värre än att förlora dina nycklar och autentiseringsuppgifter är att en obehörig part får åtkomst till dem. Angripare kan dra nytta av robottekniker för att hitta nycklar och hemligheter som lagras i kodlagringsplatser som GitHub. Placera inte nyckel och hemligheter i dessa offentliga kodlagringsplatser.

Bästa praxis: Skydda dina VM-hanteringsgränssnitt på PaaS- och IaaS-hybridtjänster med hjälp av ett hanteringsgränssnitt som gör att du kan fjärrhantera dessa virtuella datorer direkt. Information: Fjärrhanteringsprotokoll som SSH, RDP och PowerShell-fjärrkommunikation kan användas. I allmänhet rekommenderar vi att du inte aktiverar direkt fjärråtkomst till virtuella datorer från Internet.

Använd om möjligt alternativa metoder som att använda virtuella privata nätverk i ett virtuellt Azure-nätverk. Om alternativa metoder inte är tillgängliga kontrollerar du att du använder komplexa lösenfraser och tvåfaktorautentisering (till exempel Microsoft Entra multifaktorautentisering).

Bästa praxis: Använd starka autentiserings- och auktoriseringsplattformar. Information: Använd federerade identiteter i Microsoft Entra-ID i stället för anpassade användarlager. När du använder federerade identiteter drar du nytta av en plattformsbaserad metod och delegerar hanteringen av auktoriserade identiteter till dina partner. En federerad identitetsmetod är särskilt viktig när anställda avslutas och den informationen måste återspeglas genom flera identitets- och auktoriseringssystem.

Använd autentiserings- och auktoriseringsmekanismer som tillhandahålls av plattformen i stället för anpassad kod. Anledningen är att det kan vara felbenäget att utveckla anpassad autentiseringskod. De flesta av dina utvecklare är inte säkerhetsexperter och är osannolikt att vara medvetna om subtiliteterna och den senaste utvecklingen inom autentisering och auktorisering. Kommersiell kod (till exempel från Microsoft) granskas ofta i stor utsträckning.

Använd tvåfaktorautentisering. Tvåfaktorsautentisering är den aktuella standarden för autentisering och auktorisering eftersom den undviker säkerhetsbristerna i användarnamn och lösenordstyper för autentisering. Åtkomst till både Azure-hanteringsgränssnitten (portalen/fjärranslutna PowerShell) och kundinriktade tjänster bör utformas och konfigureras för användning av Microsoft Entra multifaktorautentisering.

Använd standardautentiseringsprotokoll, till exempel OAuth2 och Kerberos. Dessa protokoll har granskats i stor utsträckning och implementeras sannolikt som en del av dina plattformsbibliotek för autentisering och auktorisering.

Använda hotmodellering under programdesignen

Livscykeln för Microsoft Security Development anger att teamen ska delta i en process som kallas hotmodellering under designfasen. För att underlätta den här processen har Microsoft skapat SDL Threat Modeling Tool. Modellering av programdesign och uppräkning av STRIDE-hot över alla förtroendegränser kan fånga upp designfel tidigt.

I följande tabell visas STRIDE-hoten och några exempel på åtgärder som använder Azure-funktioner. Dessa åtgärder fungerar inte i alla situationer.

Hot Säkerhetsegenskap Potentiella azure-plattformsreduceringar
Förfalskning Autentisering Kräv HTTPS-anslutningar.
Manipulering Integritet Verifiera TLS/SSL-certifikat.
Avvislighet Oavvislighet Aktivera Azure-övervakning och diagnostik.
Avslöjande av information Sekretess Kryptera känsliga data i vila med hjälp av tjänstcertifikat.
Denial of Service Tillgänglighet Övervaka prestandamått för potentiella denial-of-service-villkor. Implementera anslutningsfilter.
Behörighetshöjning Auktorisering Använd Privileged Identity Management.

Utveckla i Azure App Service

Azure App Service är ett PaaS-erbjudande som gör att du kan skapa webb- och mobilappar för valfri plattform eller enhet och ansluta till data var som helst, i molnet eller lokalt. App Service innehåller webb- och mobilfunktioner som tidigare levererades separat som Azure Websites och Azure Mobile Services. Det finns nya funktioner för att automatisera affärsprocesser och hantera moln-API:er. Som en enda integrerad tjänst ger App Service en omfattande uppsättning funktioner till webb-, mobil- och integrationsscenarier.

Följande är metodtips för att använda App Service.

Bästa praxis: Autentisera via Microsoft Entra-ID. Information: App Service tillhandahåller en OAuth 2.0-tjänst för din identitetsprovider. OAuth 2.0 fokuserar på enkelhet för klientutvecklare och ger specifika auktoriseringsflöden för webbprogram, skrivbordsprogram och mobiltelefoner. Microsoft Entra ID använder OAuth 2.0 för att ge dig behörighet till mobil- och webbprogram.

Bästa praxis: Begränsa åtkomsten baserat på behovet av att känna till och minsta möjliga säkerhetsprinciper för privilegier. Information: Det är absolut nödvändigt att begränsa åtkomsten för organisationer som vill tillämpa säkerhetsprinciper för dataåtkomst. Du kan använda Azure RBAC för att tilldela behörigheter till användare, grupper och program i ett visst omfång. Mer information om hur du ger användare åtkomst till program finns i Kom igång med åtkomsthantering.

Bästa praxis: Skydda dina nycklar. Information: Azure Key Vault hjälper till att skydda kryptografiska nycklar och hemligheter som molnprogram och tjänster använder. Med Key Vault kan du kryptera nycklar och hemligheter (till exempel autentiseringsnycklar, lagringskontonycklar, datakrypteringsnycklar, . PFX-filer och lösenord) med hjälp av nycklar som skyddas av maskinvarusäkerhetsmoduler (HSM). För ytterligare säkerhet kan du importera eller generera nycklar i HSM-moduler. Mer information finns i Azure Key Vault . Du kan också använda Key Vault för att hantera dina TLS-certifikat med automatisk förnyelse.

Bästa praxis: Begränsa inkommande käll-IP-adresser. Information: App Service-miljön har en funktion för integrering av virtuella nätverk som hjälper dig att begränsa inkommande käll-IP-adresser via nätverkssäkerhetsgrupper. Med virtuella nätverk kan du placera Azure-resurser i ett icke-internetbaserat, dirigerbart nätverk som du styr åtkomsten till. Mer information finns i Integrera din app med ett virtuellt Azure-nätverk.

Bästa praxis: Övervaka säkerhetstillståndet för dina App Service-miljöer. Information: Använd Microsoft Defender för molnet för att övervaka dina App Service-miljöer. När Defender för molnet identifierar potentiella säkerhetsrisker skapar den rekommendationer som vägleder dig genom processen att konfigurera nödvändiga kontroller.

Azure Cloud Services

Azure Cloud Services är ett exempel på en PaaS. Precis som Azure App Service är den här tekniken utformad för att stödja program som är skalbara, tillförlitliga och billiga att använda. På samma sätt som App Service finns på virtuella datorer (VM), så är även Azure Cloud Services. Du har dock mer kontroll över de virtuella datorerna. Du kan installera din egen programvara på virtuella datorer som använder Azure Cloud Services och du kan komma åt dem via fjärranslutning.

Installera en brandvägg för webbprogram

Webbprogram blir i allt större utsträckning föremål för attacker där kända svagheter i programmen utnyttjas. Bland annat är SQL-inmatningsattacker och skriptangrepp mellan webbplatser vanliga. Det kan vara svårt att förhindra sådana attacker i programkoden och kräver ofta omfattande underhåll, korrigeringar och övervakning av många skikt i programtopologin. Med en centraliserad brandvägg för webbaserade program blir det enklare att hantera säkerheten och programadministratörer får bättre möjligheter skydda mot intrång. En brandväggslösning för webbaserade program kan även reagera snabbare på ett säkerhetshot genom att åtgärda en känd svaghet på en central plats jämfört med om korrigeringar ska utföras i varje enskilt webbprogram.

Brandväggen för webbaserade program (WAF) ger ett centraliserat skydd av dina webbprogram mot vanliga sårbarheter och sårbarheter.

DDoS-skydd

Azure DDoS Protection, kombinerat med metodtips för programdesign, ger förbättrade DDoS-åtgärdsfunktioner för att ge mer skydd mot DDoS-attacker. Du bör aktivera Azure DDOS Protection i alla virtuella perimeternätverk.

Övervaka prestanda för dina program

Övervakning handlar om att samla in och analysera data för att fastställa programmets prestanda, hälsa och tillgänglighet. En effektiv övervakningsstrategi hjälper dig att förstå den detaljerade driften av komponenterna i ditt program. Det hjälper dig att öka din drifttid genom att meddela dig om kritiska problem så att du kan lösa dem innan de blir problem. Det hjälper dig också att identifiera avvikelser som kan vara säkerhetsrelaterade.

Använd Azure Application Insights för att övervaka tillgänglighet, prestanda och användning av ditt program, oavsett om det finns i molnet eller lokalt. Genom att använda Application Insights kan du snabbt identifiera och diagnostisera fel i ditt program utan att vänta på att en användare ska rapportera dem. Du kan göra välgrundade val om underhåll och förbättringar för ditt program med den information som du samlar in.

Application Insights har omfattande verktyg för att interagera med de data som samlas in. Application Insights lagrar data i en gemensam databas. Den kan dra nytta av delade funktioner som aviseringar, instrumentpaneler och djupanalys med Kusto-frågespråket.

Utföra säkerhetspenetreringstestning

Att verifiera säkerhetsskydd är lika viktigt som att testa andra funktioner. Gör intrångstestning till en standarddel av bygg- och distributionsprocessen. Schemalägg regelbundna säkerhetstester och sårbarhetsgenomsökning i distribuerade program och övervaka öppna portar, slutpunkter och attacker.

Fuzz-testning är en metod för att hitta programfel (kodfel) genom att tillhandahålla felaktiga indata till programgränssnitt (startpunkter) som parsar och använder dessa data.

Nästa steg

I den här artikeln fokuserade vi på säkerhetsfördelar med en Azure PaaS-distribution och bästa praxis för säkerhet för molnprogram. Lär dig sedan rekommenderade metoder för att skydda dina PaaS-webb- och mobillösningar med hjälp av specifika Azure-tjänster. Vi börjar med Azure App Service, Azure SQL Database och Azure Synapse Analytics, Azure Storage och Azure Cloud Services. När artiklar om rekommenderade metoder för andra Azure-tjänster blir tillgängliga finns länkar i följande lista:

Se Utveckla säkra program i Azure för säkerhetsfrågor och kontroller som du bör överväga i varje fas av livscykeln för programvaruutveckling när du utvecklar program för molnet.

Se Metodtips och mönster för Säkerhet i Azure för mer metodtips för säkerhet som du kan använda när du utformar, distribuerar och hanterar dina molnlösningar med hjälp av Azure.

Följande resurser är tillgängliga för att ge mer allmän information om Azure-säkerhet och relaterade Microsoft-tjänster: