Bädda in Nolltillit säkerhet i utvecklararbetsflödet

Som utvecklare måste du känna dig trygg och säker för att kunna röra dig snabbt. Behovet av säkerhet börjar så snart du klonar koden. I den här artikeln får du lära dig hur du utvecklar med hjälp av Nolltillit principer så att du snabbt och säkert kan förnya dig. Den Nolltillit säkerhetsstrategin och metoden för att utforma och implementera program omfattar följande principer:

  • Verifiera explicit. Autentisera och auktorisera alltid baserat på alla tillgängliga datapunkter.
  • Använd åtkomst med minsta möjliga behörighet. Begränsa användaråtkomst med JUST-In-Time och Just-Enough-Access (JIT/JEA), riskbaserade adaptiva principer och dataskydd.
  • Anta intrång. Minimera explosionsradie och segmentåtkomst. Verifiera kryptering från slutpunkt till slutpunkt och använd analys för att få synlighet, driva hotidentifiering och förbättra skyddet.

Genom att bädda in säkerhet i arbetsflödet kan du:

  • Hitta säkerhetsrisker snabbare.
  • Ge säkrare utvecklarverktyg.
  • Skapa anslutningar för att förbättra samarbetet mellan säkerhets- och utvecklingsteam.

Skapa innovation och skydda arbetsflödet när du skapar kod

Microsofts enhetliga lösning, som illustreras i följande diagram, brygger över DevOps- och SecOps-team för att hjälpa dig att påskynda och skydda kod-till-moln-utveckling.

Diagram visar de tekniker som utgör den enhetliga utvecklingslösningen kod-till-moln.

Vår lösning för att skydda DevOps bygger på två huvudkomponenter: att ge utvecklare verktyg för att driva innovation och skydda utvecklararbetsflödet när utvecklare skapar kod. Titta på sessionen Accelerera och skydda din kod till molnutveckling från Microsoft Build 2022 för att lära dig hur dessa komponenter kan skydda din utvecklingsmiljö.

Implementera följande metodtips som fungerar tillsammans i Azure och GitHub för att skydda din utvecklingslösning.

  • Eftersom säkerheten börjar när utvecklare klonar kod kan du aktivera DevSecOps med Azure och GitHub för att överbrygga över DevOps- och SecOps-team och skydda dina utvecklingsmiljöer.
  • Tillhandahålla flexibla och kraftfulla utvecklarverktyg för alla utvecklare, språk och staplar med Visual Studio och Visual Studio Code.
  • Förenkla ny utvecklarregistrering och samarbete från tredje part med ett helt livscykelverktyg för utveckling i molnet med hjälp av GitHub Codespaces och Microsoft Dev Box.
  • Inkludera inbyggt skydd för immateriella rättigheter för kod som du inte längre sprider till flera platser. Hjälp dina team att samarbeta, utveckla, automatisera och distribuera kod var de vill med GitHub Actions och Azure Pipelines.
  • Få säkerhetsvägledning och kontinuerlig säkerhetsfeedback i utvecklararbetsflödet med kodgenomsökning, hemlig genomsökning och beroendegranskning med hjälp av GitHub Advanced Security.
  • Ingjuta säkerhet utan förtroende i hela organisationen med hjälp av identitetshanteringstjänster i Microsoft Entra-ID.

Anpassa Nolltillit säkerhet i utvecklingslivscykeln

Från förincheckning till incheckning via distribution och sedan drift och övervakning, behöver du säkerhetslösningar på plats under alla utvecklingslivscykelsteg.

Förincheckningssteg

  • Hotmodellering
  • Plugin-program för IDE-säkerhet
  • Förincheckningskrokar
  • Säkra kodningsstandarder
  • Peer-granskning

Åttiofem procent av kodfelen visas under utvecklingsfasen före åtagandet, främst på grund av mänskliga fel. Fokusera på säkerhet innan du checkar in koden genom att skriva koden i Visual Studio Code, Visual Studio eller GitHub Codespaces för att identifiera sårbarheter och säker kod. Använd peer-granskningar för att uppmuntra till säkra kodningsmetoder.

Incheckningssteg (CI)

  • Analys av statisk kod
  • Säkerhetsenhetstester
  • Beroendehantering
  • Genomsökning av autentiseringsuppgifter

Under incheckningsfasen använder du omfattande säkerhetsmetoder för att granska koden (inklusive statisk kodanalys) och genomsöka koden när du checkar in den i källkontrollen. Använd genomsökning av autentiseringsuppgifter (kallas även hemlig genomsökning eller tokengenomsökning) för att exponera autentiseringsuppgifter som du oavsiktligt har introducerat i kodbasen. Fånga osäkra beroenden innan du presenterar dem för din miljö med beroendegranskning.

Distribuera (CD)-fas

  • Genomsökning av infrastruktur som kod (IaC)
  • Dynamisk säkerhetsgenomsökning
  • Kontroller av molnkonfiguration
  • Tester för godkännande av säkerhet

Under distributionsfasen tittar du på kodbasens övergripande hälsa och utför säkerhetsgenomsökning på hög nivå för att identifiera risker. Utför molnkonfigurationskontroller, kodkontroller för infrastrukturer och tester för godkännande av säkerhet för att säkerställa anpassning till organisationens säkerhetsmål.

Drifts- och övervakningssteg

  • Kontinuerlig övervakning
  • Hotinformation
  • Skuldlösa postmortems

Under drifts- och övervakningsfasen använder du kontinuerlig övervakning och hotinformation för att minska de övergripande beroendesårbarheter som du kan ärva över tid. Utför postmortems för att ta bort lärdomar och fortsätta iterera genom din DevOps-cykel.

Implementera beroende, kod och hemlig genomsökning

För att göra det enklare för utvecklare att skydda kod kan du använda inbyggda och automatiserade funktioner för att ge kontinuerlig feedback med kontinuerliga säkerhetsfunktioner under hela utvecklingslivscykeln. Ge övergripande säkerhet för utvecklare och communities med GitHub Advanced Security-beroendegenomsökning, kodgenomsökning och hemlig genomsökning.

Beroendegenomsökning

  • Integrerad granskning av beroenden
  • Aviseringar och säkerhetsuppdateringar

Få risknivåer för beroenden och automatiserade korrigeringar till sårbara beroenden i din kodbas med kontinuerlig beroendegenomsökning. Som en kontinuerlig process knuffar den dina utvecklare i rätt riktning på ett vänligt och icke-påträngande sätt.

Kodgenomsökning

  • Utökningsbart ramverk för kodgenomsökning
  • Integrerat i utvecklararbetsflödet
  • Backas upp av branschledande CodeQL-motor

Implementera kodgenomsökning när du genererar kod utan några andra steg som ska köras på separata platser. Enkel korrigering tidigt i utvecklingslivscykeln genom att visa genomsökningsresultat i din välbekanta GitHub-användarupplevelse.

Hemlig genomsökning

  • Sök efter läckta hemligheter i offentliga och privata lagringsplatser
  • Partnerskap med över 40 leverantörer
  • Push-skydd
    • Gå från reparation till förebyggande
    • Sök efter hemligheter med hög konfidens
    • Aktivera skydd med ett klick

Sök igenom koden efter hårdkodade autentiseringsuppgifter och token med hemlig genomsökning. Push-skydd söker efter hemligheter och token innan du skickar till din kodbas. Sök efter hemligheter med hög konfidens när utvecklare skickar kod och blockerar push-överföringen när GitHub identifierar en hemlighet.

Hantera och skydda arbetsbelastningsidentiteter

  • Livscykelhantering
  • Åtkomststyrning
  • Säker anpassningsbar åtkomst

Få insyn i aktiviteten för dina arbetsbelastningsidentiteter och aktivera regelbunden rensning. Ta reda på vem som äger arbetsbelastningsidentiteter och hur du håller den här informationen uppdaterad i organisationens ändringar. Spåra när du senast har använt arbetsbelastningsidentiteter, när du senast utfärdade token och när token upphör att gälla.

För att minska risken för läckta hemligheter och autentiseringsuppgifter utför du regelbundet åtkomstgranskningar. Kräv att användarna granskar sina arbetsbelastningsidentiteter och tar bort onödiga åtkomstbehörigheter. Låt användare rapportera överprivilegierade och underutnytttagna åtkomstbehörigheter. Diskutera hur du skyddar arbetsbelastningsidentiteter från intrång. Aktivera villkorlig åtkomst för att säkerställa att åtkomsten kommer från förväntade resurser.

Skydda identiteter med GitHub OIDC och Microsoft Entra Workload ID Federation

För att ytterligare skydda din organisation använder du GitHub OpenID Anslut (OIDC) med Microsoft Entra Workload Identity Federation och minimerar behovet av att lagra och komma åt hemligheter. Hantera azure-serverns huvudhemligheter på ett säkert sätt och andra resurser för långvariga molnautentiseringsuppgifter för att minimera tjänstavbrott på grund av utgångna autentiseringsuppgifter. Integrera med utvecklarplattformar, till exempel GitHub Actions, för att skapa dina appar på ett säkert sätt.

Vårt rekommenderade arbetsflöde för arbetsbelastningsidentitetsfederation, som illustreras i följande diagram, består av sex steg.

Diagrammet visar de sex arbetsflödesstegen för arbetsbelastningsidentitetsfederation som beskrivs nedan.

  1. Konfigurera förtroende för Microsoft Entra-ID och begär en token.
  2. Konfigurera GitHub-arbetsflödet så att åtgärder kan hämta token.
  3. GitHub-arbetsflödet skickar en begäran till Azure-ID.
  4. Microsoft Entra-ID verifierar förtroendet för programmet och hämtar nycklarna för att verifiera token.
  5. Microsoft Entra-ID:t får åtkomst till och utfärdar token.
  6. Distributionsåtgärden använder Microsoft Entra-åtkomsttoken för att distribuera till resurser i Azure.

Titta på April Edwards, senior molnrådgivare och DevOps Practice Lead, demonstrera arbetsflödet för arbetsbelastningsidentitetsfederation. Demonstrationen börjar med 19:14-märket i microsoft build 2022-sessionen Accelerera och skydda din kod för molnutveckling som också är tillgänglig på YouTube (inbäddad nedan).

Nästa steg

  • Registrera dig för Azure Developer CLI, ett verktyg med öppen källkod som påskyndar den tid det tar att komma igång med Azure.
  • Konfigurera Azure för att lita på GitHubs OIDC som en federerad identitet. Med OpenID-Anslut (OIDC) kan dina GitHub Actions-arbetsflöden komma åt resurser i Azure utan att behöva lagra Azure-autentiseringsuppgifterna som github-hemligheter med lång livslängd.
  • Implementera Nolltillit principer enligt beskrivningen i memorandum 22-09 (till stöd för us executive order 14028, Improving the Nation's Cyber Security) med hjälp av Microsoft Entra ID som ett centraliserat identitetshanteringssystem.
  • Påskynda och skydda din kod med Azure DevOps med verktyg som ger utvecklare den snabbaste och säkraste koden till molnupplevelsen.
  • Genom att skydda utvecklarmiljön kan du implementera Nolltillit principer i dina utvecklingsmiljöer med bästa praxis för minsta möjliga behörighet, grensäkerhet och förtroendeverktyg, tillägg och integreringar.
  • Skydda DevOps-miljöer för Nolltillit beskriver metodtips för att skydda dina DevOps-miljöer för att hindra hackare från att kompromettera utvecklarrutor, infektera versionspipelines med skadliga skript och få åtkomst till produktionsdata via testmiljöer.
  • Anpassning av token beskriver den information som du kan ta emot i Microsoft Entra-token och hur du anpassar token för att förbättra flexibiliteten och kontrollen samtidigt som du ökar säkerheten för program utan förtroende med minsta möjliga behörighet.
  • När du konfigurerar gruppanspråk och approller i token visas hur du konfigurerar dina appar med approlldefinitioner och tilldelar säkerhetsgrupper till approller för att förbättra flexibiliteten och kontrollen samtidigt som du ökar säkerheten för program utan förtroende med minsta möjliga behörighet.