Metodtips för att skydda hemligheter

Den här artikeln innehåller vägledning om hur du skyddar dina hemligheter och minskar risken för obehörig åtkomst. Följ den här vägledningen för att se till att du inte lagrar känslig information, till exempel autentiseringsuppgifter i kod, GitHub-lagringsplatser, loggar, CI/CD-pipelines (kontinuerlig integrering/kontinuerlig distribution) och så vidare. Vägledningen i den här artikeln sammanställs från rekommendationer från enskilda tjänster samt från Microsoft Cloud Security Benchmark (MCSB).

Allmänna metodtips

I dagens digitala landskap är det av största vikt att skydda känslig information som programautentiseringsuppgifter och hemligheter. Ett intrång kan leda till allvarliga konsekvenser, inklusive dataförlust, ekonomiska påföljder och skada på ryktet. Det är viktigt att implementera en omfattande strategi för hemlig hantering för att minska dessa risker.

Utföra en granskning för att identifiera hemligheter

Innan du kan skydda dina hemligheter måste du veta var de finns. Genom att utföra en grundlig granskning av dina system och program kan du identifiera all känslig information som behöver skydd. Detta omfattar lösenord, API-nycklar, niska veze och andra autentiseringsuppgifter. Regelbundna granskningar säkerställer att nya hemligheter redovisas och att befintliga hanteras korrekt.

Det är viktigt att observera att även dynamiskt skapade hemligheter, till exempel OAuth-token, som kan vara tillfälliga, fortfarande måste skyddas med samma stränghet som långsiktiga hemligheter.

Undvik hårdkodningshemligheter

Att bädda in hemligheter direkt i koden eller konfigurationsfilerna är en betydande säkerhetsrisk. Om din kodbas har komprometterats, så är även dina hemligheter. Använd i stället miljövariabler eller konfigurationshanteringsverktyg som håller hemligheter borta från källkoden. Den här metoden minimerar risken för oavsiktlig exponering och förenklar processen med att uppdatera hemligheter.

Om du integrerar hemlig hämtning i din automatiserade distributionspipeline och använder mönster för hemlig inmatning kan du förhindra att hemligheter oavsiktligt exponeras i loggar eller versionskontroll, vilket ytterligare förbättrar säkerheten för distributionsprocessen.

Se Rekommendationer för att skydda programhemligheter

Använda säkra nyckellager

Genom att använda säkra nyckellager ser du till att dina hemligheter lagras på en säker och krypterad plats. Tjänster som Azure Key Vault och Azure Managed HSM tillhandahåller robusta säkerhetsfunktioner, inklusive åtkomstkontroll, loggning och automatisk rotation. Den här metoden centraliserar hanteringen av dina hemligheter och minskar risken för obehörig åtkomst.

För ännu större säkerhet, särskilt för mycket känsliga eller kritiska hemligheter, bör du överväga att kryptera hemligheten med en nyckellagring i en maskinvarusäkerhetsmodell (HSM), som erbjuder förbättrat skydd jämfört med programvarubaserade hemliga butiker. En översikt över alla viktiga hanteringserbjudanden i Azure och vägledning om vilka du kan välja finns i Nyckelhantering i Azure och Så här väljer du rätt lösning för nyckelhantering.

Implementera verktyg för hemlig genomsökning

Genom att regelbundet söka igenom din kodbas efter inbäddade hemligheter kan du förhindra oavsiktlig exponering. Verktyg som Azure DevOps Credential Scanner och GitHub secret scanning-funktionen kan automatiskt identifiera och varna dig för hemligheter som finns i dina lagringsplatser. Genom att integrera dessa verktyg i CI/CD-pipelinen säkerställs kontinuerlig övervakning. Det är viktigt att behandla alla hemligheter som hittas av dessa genomsökningsverktyg som komprometterade, vilket innebär att den omedelbart bör återkallas och ersättas för att upprätthålla integriteten i din säkerhetsstatus.

Utnyttja hanterade identiteter

Hanterade identiteter i Azure är ett säkert sätt för program att autentisera till Azure-tjänster utan att lagra autentiseringsuppgifter i koden. Genom att aktivera hanterade identiteter för Azure-resurser kan du på ett säkert sätt komma åt Azure Key Vault och andra tjänster, vilket minskar behovet av att hantera hemligheter manuellt. Den här metoden minimerar inte bara skapandet av hemligheter utan minskar också ytan för potentiella överträdelser, eftersom ansvaret för att hantera autentiseringsuppgifter delegeras till plattformen.

Tillämpa detaljerad åtkomstkontroll

Följ principen om minsta behörighet genom att tillämpa detaljerad åtkomstkontroll på dina hemligheter. Använd rollbaserad åtkomstkontroll i Azure (RBAC) för att säkerställa att endast auktoriserade entiteter har åtkomst till specifika hemligheter. Granska och uppdatera åtkomstbehörigheter regelbundet för att förhindra obehörig åtkomst. Det är också lämpligt att implementera distinkta roller som användare, administratör och granskare för att hantera åtkomst till hemligheter, vilket säkerställer att endast betrodda identiteter har rätt behörighetsnivå.

Se RBAC-guiden för Azure Key Vault.

Rotera hemligheter regelbundet

Hemligheter är känsliga för läckage eller exponering över tid. Att regelbundet rotera dina hemligheter minskar risken för obehörig åtkomst. Du kan rotera hemligheter i Azure Key Vault för vissa hemligheter. För de som inte kan roteras automatiskt upprättar du en manuell rotationsprocess och ser till att de rensas när de inte längre används.

Om du automatiserar processen för hemlig rotation och skapar redundans i din hemliga hantering kan du se till att rotationen inte stör tjänstens tillgänglighet. Genom att implementera logik för återförsök och samtidiga åtkomstmönster i koden kan du minimera problem under rotationsfönstret.

Övervaka och logga åtkomst

Aktivera loggning och övervakning för ditt hemliga hanteringssystem för att spåra åtkomst och användning. Använd Key Vault-loggning och/eller tjänster som Azure Monitor och Azure Event Grid för att övervaka alla aktiviteter som är relaterade till dina hemligheter. Detta ger insyn i vem som har åtkomst till dina hemligheter och hjälper till att identifiera misstänkt beteende eller potentiella säkerhetsincidenter. Att upprätthålla detaljerade spårningsloggar är viktigt för att inspektera och verifiera åtkomst till hemligheter, vilket kan bidra till att förhindra identitetsstöld, undvika avvisning och minska onödig exponering.

Implementera nätverksisolering

Minska exponeringen av dina hemligheter genom att implementera nätverksisolering. Konfigurera brandväggar och nätverkssäkerhetsgrupper för att begränsa åtkomsten till dina nyckelvalv. Tillåt endast betrodda program och tjänster att komma åt dina hemligheter, minimera attackytan och förhindra obehörig åtkomst. Överväg dessutom att använda flera nyckelvalv för att skapa isoleringsgränser för olika komponenter, vilket säkerställer att om en komponent komprometteras kan den inte få kontroll över andra hemligheter eller hela arbetsbelastningen.

Kryptera hemligheter i vila och under överföring

Se till att dina hemligheter är krypterade både i vila och under överföring. Azure Key Vault lagrar hemligheter på ett säkert sätt med hjälp av kuvertkryptering, där datakrypteringsnycklar (DEK) krypteras av nyckelkrypteringsnycklar (KEK:er), vilket ger ytterligare ett säkerhetslager. Den här metoden förbättrar skyddet mot obehörig åtkomst. Använd dessutom säkra kommunikationsprotokoll som HTTPS för att kryptera data under överföring mellan dina program och nyckelvalvet, vilket säkerställer att dina hemligheter skyddas under både lagring och överföring.

I Azure implementeras vilande kryptering i olika tjänster med hjälp av AES 256-kryptering, medan data under överföring skyddas via TLS och MACsec för att förhindra obehörig åtkomst under överföringen. Dessa krypteringsmetoder ger omfattande skydd för dina data, oavsett om de lagras eller överförs mellan system. Mer information finns i Kryptering i vila och under överföring.

Säker distribution av hemligheter

När du distribuerar hemligheter ska du se till att de delas på ett säkert sätt inom och utanför organisationen. Använd verktyg som är utformade för säker delning och inkludera hemliga återställningsprocedurer i dina haveriberedskapsplaner. Om en nyckel komprometteras eller läcker bör den återskapas omedelbart. För att ytterligare förbättra säkerheten använder du distinkta nycklar för varje konsument i stället för att dela nycklar, även om de har liknande åtkomstmönster. Den här metoden förenklar nyckelhantering och återkallande, vilket säkerställer att komprometterade nycklar kan återkallas utan att påverka andra konsumenter.

Metodtips för tjänstspecifika

Enskilda tjänster kan ha ytterligare metodtips och vägledning för att skydda hemligheter. Nedan följer några exempel:

Nästa steg

Att minimera säkerhetsrisken är ett delat ansvar. Du måste vara proaktiv när du vidtar åtgärder för att skydda dina arbetsbelastningar. Läs mer om delat ansvar i 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.