Metodtips för att skydda hemligheter

Den här artikeln hjälper dig att skydda hemligheter och minska risken för obehörig åtkomst. Följ denna vägledning för att säkerställa att du inte lagrar känslig information, såsom inloggningsuppgifter, i kod, GitHub-repositorier, loggar eller kontinuerlig integration/kontinuerlig distribution (CI/CD)-pipelines. Vägledningen i denna artikel kommer från individuella tjänsterekommendationer och Microsoft Cloud Security Benchmark (MCSB).

Den här artikeln överensstämmer med säkerhetsmodellen Microsoft Nulová dôvera (Zero Trust), som kräver explicit verifiering, åtkomst med minst behörighet och antagande om intrång. För föreskrivande säkerhetskontroller som inkluderar Azure Policy-efterlevnad, se Microsoft Cloud Security Benchmark v2: Privileged Access och MCSB v2: Data Protection.

Identifiering och förebyggande av hemligheter

Innan du kan säkra dina hemligheter behöver du insyn i var de finns. Du behöver också kontroller som förhindrar exponering innan den sker.

  • Genomför en revision för att identifiera hemligheter: Granska dina system och applikationer för att identifiera känslig information som behöver skyddas, såsom lösenord, API-nycklar, anslutningssträngar och andra inloggningsuppgifter. Regelbundna revisioner hjälper till att säkerställa att ditt lager tar hänsyn till nya hemligheter och att du hanterar befintliga hemligheter på rätt sätt. Skydda dynamiskt skapade hemligheter, såsom tillfälliga OAuth-tokens, med samma stringens som långsiktiga hemligheter.

  • Undvik hårdkodning av hemligheter: Att bädda in hemligheter direkt i kod- eller konfigurationsfiler skapar en betydande säkerhetsrisk. Om angripare komprometterar din kodbas, komprometterar de också dina hemligheter. Använd istället miljövariabler eller konfigurationshanteringsverktyg som håller hemligheter borta från källkoden. Denna praxis minimerar risken för oavsiktlig exponering och förenklar hemliga uppdateringar. Integrera hemlig hämtning i din automatiserade distributionspipeline och använd hemliga injektionsmönster för att hjälpa till att förhindra oavsiktlig exponering i loggar eller versionshantering. Mer information finns i Rekommendationer för att skydda programhemligheter.

  • Implementera hemliga skanningsverktyg: Skanna regelbundet din kodbas efter inbäddade hemligheter för att förhindra oavsiktlig exponering. Verktyg som Azure DevOps Credential Scanner och GitHub hemlighetsskanning kan automatiskt upptäcka och varna dig för hemligheter i arkiv. Integrera dessa verktyg i din CI/CD-pipeline för kontinuerlig övervakning. Behandla alla hemligheter som upptäcks av skanningsverktyg som komprometterade. Återkalla och ersätt det omedelbart för att upprätthålla integriteten i din säkerhetsposition.

Säker lagring och kryptering

Att skydda hemligheter kräver säkra lagringsmekanismer och korrekt kryptering i alla steg.

  • Använd säkra nyckellager: Tjänster som Azure Key Vault och Azure Key Vault Managed HSM erbjuder säkerhetsfunktioner, inklusive åtkomstkontroll, loggning och automatisk rotation. Denna metod centraliserar hemlighetshantering och minskar risken för obehörig åtkomst. För mycket känsliga eller kritiska hemligheter, använd en hårdvarusäkerhetsmodul (HSM)-backad nyckellagring för förbättrat skydd jämfört med mjukvarubaserade hemliga lagringar. För kundhanterade nyckelscenarier, använd Azure Key Vault Premium-nivån, som är HSM-stödd, som minimum. Använd Azure Key Vault Managed HSM för krav på nyckelsuveränitet. För en översikt över Azure-nyckelhanteringserbjudanden och vägledning om vilka du ska välja, se Key Management in Azure och How to choose the right key management solution.

  • Kryptera hemligheter i vila och under överföring: Azure Key Vault lagrar hemligheter säkert genom kuvertkryptering, där nyckelkrypteringsnycklar krypterar datakrypteringsnycklar för att ge ytterligare ett säkerhetslager. Använd säkra kommunikationsprotokoll som HTTPS för att kryptera data under överföring mellan dina applikationer och nyckelvalvet. I Azure implementerar olika tjänster kryptering i vila genom att använda AES 256-kryptering. TLS och MACsec säkrar data under överföring. För mer information, se Kryptering i vila och under överföring.

  • Implementera nätverksisolering: Konfigurera brandväggar och nätverkssäkerhetsgrupper för att begränsa åtkomsten till dina nyckelvalv. Låt endast betrodda applikationer och tjänster komma åt dina hemligheter. Denna metod minimerar attackytan och hjälper till att förhindra obehörig åtkomst. Överväg att använda flera nyckelvalv för att skapa isoleringsgränser för olika komponenter. Om angripare komprometterar en komponent kan komponenten inte få kontroll över andra hemligheter eller hela arbetsbelastningen.

Åtkomstkontroll och identitet

Att hantera vem och vad som kan komma åt hemligheter är viktigt för att upprätthålla säkerheten.

  • Använd hanterade identiteter: Hanterade identiteter i Azure ger ett säkert sätt för applikationer att autentisera sig mot Azure-tjänster utan att lagra uppgifter i koden. Aktivera hanterade identiteter för Azure-resurser för att säkert få tillgång till Azure Key Vault och andra tjänster, vilket minskar behovet av att hantera hemligheter manuellt. Denna metod minimerar hemlighetsskapandet och minskar ytan för potentiella intrång eftersom plattformen hanterar inloggningsuppgifterna.

  • Använd detaljerad åtkomstkontroll: Följ principen om minsta behörighet genom att tillämpa detaljerad åtkomstkontroll på dina hemligheter. Använd Azure rollbaserad åtkomstkontroll (Azure RBAC) för att säkerställa att endast auktoriserade enheter har tillgång till specifika hemligheter. Granska och uppdatera åtkomstbehörigheter regelbundet för att förhindra obehörig åtkomst. Implementera separata roller såsom användare, administratör och revisor för att hantera åtkomst till hemligheter. Denna praxis hjälper till att säkerställa att endast betrodda identiteter har rätt behörighetsnivå. För mer information, se Azure Key Vault RBAC-guiden.

Hantering av hemlig livscykel

Hemligheter kräver löpande hantering under hela livscykeln, från skapande till pensionering.

  • Rotera hemligheter regelbundet: Hemligheter är känsliga för läckage eller exponering över tid. Rotera regelbundet dina hemligheter för att minska risken för obehörig åtkomst. Du kan rotera hemligheter i Azure Key Vault för vissa hemligheter. För hemligheter som inte kan roteras automatiskt, etablera en manuell rotationsprocess och rensa dem när de inte längre används. Automatisera hemlig rotation och bygg in redundans i din hemlighetshantering för att säkerställa att rotationen inte stör tillgängligheten av tjänster. Implementera återförsökslogik och samtidiga åtkomstmönster i din kod för att minimera problem under rotationsfönstret.

  • Distribuera hemligheter säkert: När du distribuerar hemligheter, dela dem säkert både inom och utanför organisationen. Använd verktyg som är utformade för säker delning och inkludera hemliga återställningsrutiner i dina katastrofåterhämtningsplaner. Om angripare komprometterar eller läcker en nyckel, regenerera den omedelbart. Använd separata nycklar för varje konsument istället för att dela nycklar, även om konsumenterna har liknande åtkomstmönster. Denna praxis förenklar nyckelhantering och indragning, så att du kan återkalla komprometterade nycklar utan att påverka andra användare.

Övervakning och loggning

Kontinuerlig övervakning upptäcker misstänkt aktivitet och stödjer efterlevnadskrav.

  • Ö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, Azure Monitor eller Azure Event Grid för att övervaka alla aktiviteter relaterade till dina hemligheter. Övervakning ger insyn i vem som fått tillgång till dina hemligheter och hjälper till att upptäcka misstänkt beteende eller potentiella säkerhetsincidenter. Underhåll detaljerade revisionsspår för att inspektera och validera åtkomst till hemligheter, vilket kan hjälpa till att förhindra identitetsstöld, undvika förkastelse och minska onödig exponering.

Tjänstspecifik vägledning för hantering av hemligheter

Enskilda tjänster kan ha fler bästa praxis och vägledning för att skydda hemligheter. Exempel inkluderar:

Nästa steg

Att minimera säkerhetsrisken är ett delat ansvar. Vidta proaktiva åtgärder för att säkra dina arbetsbelastningar. Mer information finns i Delat ansvar i molnet.