Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 PaaS-säkerhetspraxis
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.
Molnet ger säkerhetsfördelar. I en lokal miljö har organisationer sannolikt ouppfyllda ansvar och begränsade resurser att investera i säkerhet. Denna situation skapar en miljö där angripare kan utnyttja sårbarheter på alla nivåer.
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
Gå igenom säkerhetsfördelarna med en Azure PaaS-installation jämfört med lokal installation.
Från och med botten av stacken, den fysiska infrastrukturen, minimerar Microsoft vanliga risker och ansvarsområden. Eftersom Microsoft kontinuerligt övervakar Microsoft-molnet är det svårt att attackera. Det är inte logiskt för en angripare att sikta in sig på Microsoft-molnet som mål. Om inte angriparen har mycket pengar och resurser är det troligt att de går vidare till ett annat mål.
I mitten av stacken skiljer sig en PaaS-distribution och on-premises inte åt. På applikationslagret samt konto- och åtkomsthanteringslagret finns liknande risker. Nästa stegavsnitt i denna artikel guidar dig till bästa praxis för att eliminera eller minimera dessa risker.
I toppen av stacken, datastyrning och rättighetshantering, tar du på dig en risk som nyckelhantering kan minimera. Även om nyckelhantering är ett extra ansvar, inkluderar en PaaS-utplacering områden som du inte längre behöver hantera. Du kan flytta resurser till nyckelhantering.
Azure-plattformen ger 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.
Identitet som primär säkerhetsperimeter
PaaS-implementeringar förändrar ditt övergripande synsätt på 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. Historiskt sett var den primära säkerhetsperimetern i lokala miljöer nätverket, och de flesta lokala säkerhetslösningar använder nätverket som sin primära utgångspunkt för säkerheten. För PaaS-utplaceringar, se identitet som den primära säkerhetsperimetern.
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 är deras plats någonstans på internet.
Följande figur visar hur säkerhetsperimetern utvecklades 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.
Till en början tillhandahöll Azure PaaS-tjänster (till exempel Azure App Service och Azure SQL) lite eller inget traditionellt skydd för nätverksperimeter. Elementets syfte var att exponeras mot internet (web role), och autentisering utgör den nya säkerhetsgränsen (till exempel Azure SQL).
Moderna säkerhetsrutiner antar att motståndaren bröt igenom nätverkets perimeter. Därför går moderna försvarsmetoder över till identitet. Organisationer måste upprätta en identitetsbaserad säkerhetsperimeter med stark autentisering och auktoriseringshygien.
Metodtips för identitetshantering
Använd följande bästa praxis för att hantera identitetsperimetern.
Bästa praxis: Börja med att använda hanterade identiteter för Azure-resurser för att säkert få tillgång till andra tjänster utan att lagra inloggningsuppgifter. Detaljer: Hanterade identiteter ger automatiskt en identitet för applikationer som körs i Azure-tjänster, vilket gör det möjligt för dem att autentisera sig för tjänster som stödjer Microsoft Entra ID utan att kräva uppgifter i kod eller konfigurationsfiler. Denna identitet minskar risken för exponering av inloggningsuppgifter och förenklar identitetshanteringen för dina applikationer.
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 du lagrar nycklar och hemligheter i hårdvarusäkerhetsmoduler (HSM). Azure Key Vault skyddar dina nycklar och hemligheter genom att kryptera autentiseringsnöcklar, lagringskontonycklar, datakrypteringsnycklar, .pfx-filer och lösenord genom att använda 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. Lägg inte nycklar och hemligheter i dessa offentliga kodarkiv.
Bästa praxis: Använd starka autentiserings- och auktoriseringsplattformar. Information: Använd Microsoft Entra-ID för autentisering i stället för anpassade användarlager. När du använder Microsoft Entra-ID drar du nytta av en plattformsbaserad metod och delegerar hanteringen av auktoriserade identiteter. En Microsoft Entra-ID-metod ä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 medvetna om nyanser och de senaste utvecklingarna inom autentisering och auktorisation. Kommersiell kod (till exempel från Microsoft) granskas ofta i stor utsträckning.
Använd multifaktorautentisering (MFA) och se till att phishingresistenta MFA-metoder – såsom passnycklar, FIDO2 eller certifikatbaserad autentisering (CBA) – upprätthålls genom villkorlig åtkomst. Du måste minst kräva dessa för alla administratörer, och för optimal säkerhet implementerar du dem i hela klientorganisationen. Åtkomst till både Azure-hanteringsgränssnitt (portal-/fjärr-PowerShell) och kundinriktade tjänster bör utformas och konfigureras för användning av Microsoft Entra multifaktorautentisering.
För appinloggning, använd OpenID Connect (OIDC) med OAuth 2.0 via Microsoft Entra ID. Dessa protokoll granskas noggrant och implementeras sannolikt som en del av dina plattformsbibliotek för autentisering och auktorisation.
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 denna process skapade Microsoft 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. |
| Förvanskning | Integritet | Verifiera TLS/SSL-certifikat. |
| Avvislighet | Oförnekbarhet | Aktivera Azure-övervakning och diagnostik. |
| Avslöjande av information | Sekretess | Kryptera känsliga data i vila med hjälp av tjänstcertifikat. |
| Tjänsteförnekelse | Tillgänglighet | Övervaka prestandamått för potentiella denial-of-service-villkor. Implementera anslutningsfilter. |
| Utökade privilegier | Auktorisering | Använd Privileged Identity Management. |
Azure App Service
Azure App Service är ett PaaS-erbjudande som hjälper dig att skapa webb- och mobilappar för vilken plattform eller enhet som helst 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. Den innehåller även nya funktioner för att automatisera affärsprocesser och vara värd för moln-API:er.
Använd följande bästa praxis för 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.
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 (såsom autentiseringsnycklar, lagringskontonycklar, datakrypteringsnycklar, .PFX-filer och lösenord) genom att använda nycklar som skyddas av hårdvarusäkerhetsmoduler (HSM). För ytterligare säkerhet kan du importera eller generera nycklar i HSM:er. 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 Environment 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. Du kan också använda privat länk (privat endpoint) och inaktivera det publika nätverket för att tvinga fram privat nätverksanslutning mellan App Service och andra tjänster.
Bästa praxis: Framtvinga endast HTTPS-trafik och kräva TLS 1.2 eller senare för alla anslutningar. Inaktivera FTP-åtkomst där det är möjligt. Om filöverföring är nödvändig, använd FTPS för att säkerställa säkra, krypterade överföringar. Information: Om du konfigurerar din App Service så att den endast accepterar HTTPS-trafik ser du till att data krypteras under överföring, vilket skyddar känslig information från avlyssning. Att kräva TLS 1.2 eller senare ger en starkare säkerhet mot sårbarheter som finns i tidigare protokollversioner. Om FTP inaktiveras minskar risken för att autentiseringsuppgifter eller data överförs okrypterade. Om du behöver filöverföring, aktivera endast FTPS, som krypterar både inloggningsuppgifter och data under överföring.
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äkerhetsproblem skapar det rekommendationer som vägleder dig genom processen att konfigurera de kontroller som behövs. Microsoft Defender för App Service ger skydd mot hot för dina App Service-resurser.
Mer information finns i Microsoft Defender för App Service.
Brandvägg för webbaserade program
Webbprogram blir i allt större utsträckning föremål för attacker där kända svagheter i programmen utnyttjas. Vanliga sårbarheter inkluderar SQL-injektionsattacker och cross-site scripting-attacker. Att förhindra sådana attacker i applikationskod kan vara utmanande och kan kräva rigorös underhåll, patchning och övervakning på många lager av applikationstopologin. En centraliserad webbapplikationsbrandvägg förenklar säkerhetshanteringen och ger applikationsadministratörer bättre trygghet mot hot och intrång. En WAF-lösning kan också reagera snabbare på ett säkerhetshot genom att korrigera en känd säkerhetsrisk på en central plats jämfört med att skydda varje enskild webbapp.
Azure Web Application Firewall (WAF) ger ett centraliserat skydd av dina webbapplikationer mot vanliga exploateringar och sårbarheter. WAF är tillgängligt via Azure Application Gateway och Azure Front Door.
DDoS-skydd
Azure erbjuder två huvudsakliga DDoS-skyddsnivåer: DDoS IP Protection och DDoS Network Protection. De här alternativen omfattar olika scenarier och har olika funktioner och priser.
- DDoS IP Protection: Bäst för att skydda specifika offentliga IP-adresser, perfekt för mindre eller riktade distributioner som behöver nödvändig DDoS-åtgärd på IP-nivå.
- DDoS Network Protection: Omfattar hela virtuella nätverk med avancerad begränsning, analys och integrering; passar för större miljöer eller företagsmiljöer som behöver bredare säkerhet.
Välj DDoS IP Protection för fokuserade, kostnadskänsliga fall. Välj DDoS Network Protection för heltäckande täckning och avancerade funktioner.
DDoS Protection försvarar på lager 3 och 4 i nätverket. För skydd på programnivå (7) lägger du till en WAF. Se Program-DDoS-skydd.
Övervaka programprestanda
Azure Monitor samlar in, analyserar och agerar på telemetri från dina molnmiljöer och lokala miljöer. En effektiv övervakningsstrategi hjälper dig att förstå den detaljerade driften av komponenterna i ditt program. Denna strategi 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. Denna strategi hjälper dig också att upptäcka avvikelser som kan vara säkerhetsrelaterade.
Använd 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. Med den information som du samlar in kan du göra välgrundade val om programmets underhåll och förbättringar.
Application Insights har omfattande verktyg för att interagera med de data som samlas in. Application Insights lagrar sina data på en gemensam lagringsplats. 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.
Nästa steg
Den här artikeln fokuserar på säkerhetsfördelarna med en Azure PaaS-installation och bästa säkerhetspraxis för molnapplikationer. Lär dig sedan rekommenderade metoder för att säkra dina PaaS-webb- och mobillösningar genom att använda specifika Azure-tjänster. Börja med Azure App Service, Azure SQL Database och Azure Synapse Analytics, samt Azure Storage. När artiklar om rekommenderade metoder för andra Azure-tjänster blir tillgängliga kommer denna lista att ge länkar:
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:
- Azure-säkerhetsdokumentation – Omfattande säkerhetsguider.
- Microsoft Security Response Center – Rapportera Microsoft-säkerhetssårbarheter, inklusive problem med Azure, via e-post till secure@microsoft.com.