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í nulová důvěra (Zero Trust) principů, abyste mohli rychle a bezpečně inovovat. Strategie zabezpečení a přístup nulová důvěra (Zero Trust) pro navrhování 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í.

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)
  • Precommit hooks
  • Standardy zabezpečeného kódování
  • Peer review

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ých oprav pro ohrožené závislosti v základu kódu 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 při generování kódu bez dalších kroků pro spuštění v samostatných umístěních. 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á značkou 19:14 v relaci Microsoft Buildu 2022, urychlete a zabezpečte kód 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 zásady nulová důvěra (Zero Trust), 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 nulová důvěra (Zero Trust) principy 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 nulová důvěra (Zero Trust) popisuje osvědčené postupy pro 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.