Sdílet prostřednictvím


Vložení nulová důvěra (Zero Trust) zabezpečení do pracovního postupu vývojáře

Jako vývojář musíte mít jistotu a jistotu, abyste se mohli rychle pohybovat. Potřeba zabezpečení se spustí hned po naklonování kódu. V tomto článku se naučíte vyvíjet pomocí principů nulové důvěryhodnosti , abyste mohli rychle a bezpečně inovovat. Strategie zabezpečení nulové důvěry (Zero Trust) a přístup k návrhu a implementaci aplikací se skládá z těchto principů:

  • Ověřte explicitně. Vždy ověřovat a autorizovat na základě všech dostupných datových bodů.
  • Použijte přístup s nejnižšími oprávněními. Omezte přístup uživatelů pomocí technologie Just-In-Time a Just-Enough-Access (JIT/JEA), adaptivních zásad založených na rizikech a ochrany dat.
  • Předpokládejme porušení zabezpečení. Minimalizujte poloměr výbuchu a segmentování přístupu. Ověřte komplexní šifrování a využijte analýzy k získání viditelnosti, zjišťování hrozeb a zlepšení ochrany.

Vložení zabezpečení do pracovního postupu vám pomůže:

  • Rychlejší určení ohrožení zabezpečení
  • Poskytuje bezpečnější vývojářské nástroje.
  • Vytvářejte připojení ke zlepšení spolupráce mezi týmy pro zabezpečení a vývoj.

Inovace a zabezpečení pracovního postupu při vytváření kódu

Jednotné řešení Microsoftu, které je znázorněno v následujícím diagramu, přemýtvá týmy DevOps a SecOps, které vám pomůžou zrychlit a zabezpečit vývoj kódu do cloudu.

Diagram znázorňuje technologie, které tvoří jednotné řešení vývoje kódu do cloudu.

Naše řešení pro ochranu DevOps závisí na dvou hlavních komponentách: poskytuje vývojářům nástroje pro inovace a zabezpečení pracovního postupu vývojářů při vytváření kódu. Podívejte se na relaci Zrychlení a zabezpečení kódu pro vývoj cloudu z Microsoft Buildu 2022 a zjistěte, jak tyto komponenty můžou zabezpečit vaše vývojové prostředí.

Implementujte následující osvědčené postupy, které společně spolupracují v Azure a GitHubu pro zabezpečení vašeho vývojového řešení.

  • Vzhledem k tomu, že zabezpečení začíná již při klonování kódu vývojáři, aktivujte DevSecOps s Azure a GitHubem pro propojení týmů DevOps a SecOps a zabezpečení vašich vývojových prostředí.
  • Poskytněte flexibilní a výkonné vývojářské nástroje pro každého vývojáře, jazyk a technologický stack s Visual Studio a Visual Studio Code.
  • Zjednodušení onboardingu nových vývojářů a spolupráce s celým nástrojem pro životní cyklus vývoje v cloudu pomocí GitHub Codespaces a Microsoft Dev Boxu
  • Zahrňte integrovanou ochranu duševního vlastnictví pro kód, který už nebudete rozptylovat do více umístění. Pomozte týmům spolupracovat, vyvíjet, automatizovat a nasazovat kód všude, kde chtějí, pomocí GitHub Actions a Azure Pipelines.
  • Získejte pokyny k zabezpečení a nepřetržitou zpětnou vazbu zabezpečení v rámci pracovního postupu vývojáře s využitím skenování kódu, kontroly tajných kódů a kontroly závislostí pomocí GitHub Advanced Security.
  • Instilovat zabezpečení nulové důvěryhodnosti v celé organizaci pomocí služeb správy identit v Microsoft Entra ID.

Přizpůsobení nulová důvěra (Zero Trust) zabezpečení do životního cyklu vývoje

Od předběžného potvrzení až po nasazení pak budete pracovat a monitorovat, potřebujete řešení zabezpečení na místě ve všech fázích životního cyklu vývoje.

Předběžná fáze

  • Modelování hrozeb
  • Modul plug-in zabezpečení integrovaného vývojového prostředí (IDE)
  • Háčky Precommit
  • Standardy zabezpečeného kódování
  • Vzájemné hodnocení

Osmdesát pět procent vad kódu se objeví během fáze předběžného dokončování vývoje, většinou kvůli lidské chybě. Zaměřte se na zabezpečení před potvrzením kódu napsáním kódu v editoru Visual Studio Code, sadě Visual Studio nebo GitHub Codespaces za účelem identifikace ohrožení zabezpečení a zabezpečeného kódu. Používejte partnerské kontroly k podpoře zabezpečených postupů kódování.

Fáze potvrzení (CI)

  • Statická analýza kódu
  • Testy jednotek zabezpečení
  • Správa závislostí
  • Kontrola přihlašovacích údajů

Během fáze potvrzení můžete pomocí rozsáhlých metod zabezpečení zkontrolovat kód (včetně statické analýzy kódu) a kontrolovat kód při kontrole správy zdrojového kódu. Ke zveřejnění přihlašovacích údajů, které můžete neúmyslně zavést do základu kódu, použijte kontrolu přihlašovacích údajů (označovanou také jako prohledávání tajných kódů nebo prohledávání tokenů). Zachyťte nezabezpečené závislosti před jejich uvedením do prostředí pomocí kontroly závislostí.

Fáze nasazení (CD)

  • Kontrola infrastruktury jako kódu (IaC)
  • Dynamická kontrola zabezpečení
  • Kontroly konfigurace cloudu
  • Testy přijetí zabezpečení

Během fáze nasazení se podívejte na celkový stav základu kódu a proveďte kontrolu zabezpečení vysoké úrovně za účelem identifikace rizik. Proveďte kontroly konfigurace cloudu, kontroly kódu infrastruktury a akceptační testy zabezpečení, abyste zajistili soulad s cíli zabezpečení organizace.

Fáze provozu a monitorování

  • Průběžné sledování
  • Analýza hrozeb
  • Bezobvižné postmortemy

Během fáze provozu a monitorování využijte průběžné monitorování a analýzu hrozeb ke zmírnění celkových ohrožení zabezpečení závislostí, která můžete v průběhu času dědit. Pomocí postmortems si odneste získané poznatky a pokračujte v iterování v cyklu DevOps.

Implementace závislosti, kódu a kontroly tajných kódů

Pokud chcete vývojářům usnadnit zabezpečení kódu, využijte nativní a automatizované funkce k poskytování nepřetržité zpětné vazby s funkcemi nepřetržitého zabezpečení v průběhu životního cyklu vývoje. Poskytněte vývojářům a komunitám celkové zabezpečení s využitím kontroly závislostí GitHub Advanced Security, skenování kódu a kontroly tajných kódů.

Kontrola závislostí

  • Integrovaná kontrola závislostí
  • Výstrahy a aktualizace zabezpečení

Získejte úrovně rizik závislostí a automatizované opravy ohrožených závislostí ve své kódové základně s průběžnou kontrolou závislostí. Jako průběžný proces posune vývojáře správným směrem přátelským a nerušivým způsobem.

Kontrola kódu

  • Rozšiřitelná architektura pro kontrolu kódu
  • Integrováno do pracovního postupu vývojáře
  • Podporováno špičkovým modulem CodeQL v oboru

Implementujte kontrolu kódu během generování kódu bez nutnosti dalších kroků pro spouštění na samostatných místech. Opravy můžete usnadnit v rané fázi životního cyklu vývoje zobrazením výsledků vyhledávání ve známém uživatelském prostředí GitHubu.

Kontrola tajných kódů

  • Kontrola úniku tajných kódů ve veřejných a privátních úložišťch
  • Partnerství se 40 dalšími poskytovateli
  • Ochrana před nabízenými oznámeními
    • Přechod z nápravy na prevenci
    • Kontrola tajných kódů s vysokou spolehlivostí
    • Povolení ochrany jedním výběrem

Zkontrolujte v kódu pevně zakódované přihlašovací údaje a tokeny pomocí kontroly tajných kódů. Před nasdílením změn do základu kódu vyhledá tajné kódy a tokeny. Zkontrolujte tajné kódy s vysokou spolehlivostí, když vývojáři nasdílí kód a blokují nabízení, když GitHub identifikuje tajný kód.

Správa a zabezpečení identit úloh

  • Správa životního cyklu
  • Zásady správného řízení přístupu
  • Zabezpečený adaptivní přístup

Získejte přehled o aktivitě identit úloh a povolte pravidelné čištění. Určete, kdo vlastní identity úloh a jak tyto informace udržujete v aktualizovaném stavu v rámci změn organizace. Sledujte, kdy jste naposledy použili identity úloh, kdy jste naposledy vystavili tokeny a kdy vyprší platnost tokenů.

Pokud chcete zmírnit potenciál úniku tajných kódů a přihlašovacích údajů, pravidelně provádíte kontroly přístupu. Vyžadovat, aby uživatelé zkontrolovali své identity úloh a odebrali nepotřebná přístupová oprávnění. Požádejte uživatele, aby ohlásili přeprivilegovaná a nedostatečně využitá přístupová oprávnění. Proberete, jak chráníte identity úloh před porušením zabezpečení. Povolte podmíněný přístup, abyste zajistili, že přístup pochází z očekávaných prostředků.

Zabezpečení identit pomocí OIDC GitHubu a federace ID úloh Microsoft Entra

Pokud chcete svoji organizaci dále zabezpečit, použijte GitHub OpenID Connect (OIDC) s federací identit úloh Microsoft Entra a minimalizujte potřebu ukládat tajné kódy a přistupovat k nim. Bezpečně spravujte hlavní tajné kódy serveru Azure a další dlouhodobé prostředky cloudových přihlašovacích údajů, abyste minimalizovali výpadky služeb kvůli vypršení platnosti přihlašovacích údajů. Integrace s vývojářskými platformami, jako je GitHub Actions, k bezpečnému vytváření aplikací

Náš doporučený pracovní postup federace identit úloh, který je znázorněný v následujícím diagramu, se skládá ze šesti kroků.

Diagram znázorňuje kroky pracovního postupu federace identit úloh.

  1. Nastavte vztah důvěryhodnosti v MICROSOFT Entra ID a požádejte o token.
  2. Nakonfigurujte pracovní postup GitHubu tak, aby umožňoval akce získat token.
  3. Pracovní postup GitHubu odešle požadavek na ID Azure.
  4. ID Microsoft Entra ověří důvěryhodnost aplikace a načte klíče k ověření tokenu.
  5. Microsoft Entra ID přistupuje a vydává token.
  6. Akce nasazení používá přístupový token Microsoft Entra k nasazení do prostředků v Azure.

Podívejte se na april Edwardse, vedoucího poradce pro cloud a vedoucího cvičení DevOps, si předvedete pracovní postup federace identit úloh. Ukázka začíná v čase 19:14 během relace Microsoft Build 2022, urychlení a zabezpečení kódu pro vývoj v cloudu.

Další kroky

  • Zaregistrujte se do Azure Developer CLI, opensourcového nástroje, který zrychluje dobu potřebnou k zahájení práce v Azure.
  • Nakonfigurujte Azure tak, aby důvěřovala OIDC GitHubu jako federovaná identita. OpenID Connect (OIDC) umožňuje pracovním postupům GitHub Actions přistupovat k prostředkům v Azure , aniž by bylo nutné ukládat přihlašovací údaje Azure jako dlouhodobé tajné kódy GitHubu.
  • Implementujte principy nulové důvěry, jak je popsáno v dokumentu 22-09 (na podporu výkonného řádu USA 14028, zlepšování kybernetické bezpečnosti národu) pomocí Microsoft Entra ID jako centralizovaného systému správy identit.
  • Urychlete a zabezpečte kód pomocí Azure DevOps pomocí nástrojů, které vývojářům poskytují nejrychlejší a nejbezpečnější kód pro cloudové prostředí.
  • Zabezpečení vývojového prostředí vám pomůže implementovat principy nulové důvěryhodnosti ve vývojových prostředích s osvědčenými postupy pro nejnižší oprávnění, zabezpečení větví a důvěryhodné nástroje, rozšíření a integrace.
  • Zabezpečení prostředí DevOps pro nulovou důvěryhodnost popisuje osvědčené postupy zabezpečení prostředí DevOps, které brání hackerům v ohrožení vývojářských polí, infikování kanálů verzí se škodlivými skripty a získání přístupu k produkčním datům prostřednictvím testovacích prostředí.
  • Přizpůsobení tokenů popisuje informace, které můžete přijímat v tokenech Microsoft Entra. Vysvětluje, jak přizpůsobit tokeny, aby se zlepšila flexibilita a řízení a současně se zvýšilo zabezpečení nulové důvěryhodnosti aplikace s nejnižšími oprávněními.
  • Konfigurace deklarací identity skupin a rolí aplikací v tokenech ukazuje, jak nakonfigurovat aplikace s definicemi rolí aplikace a přiřadit skupiny zabezpečení k rolím aplikací. Tyto metody pomáhají zlepšit flexibilitu a řízení a současně zvýšit zabezpečení nulové důvěryhodnosti aplikace s nejnižšími oprávněními.