Sdílet prostřednictvím


Zabezpečení prostředí platformy DevOps pro nulová důvěra (Zero Trust)

Tento článek vám jako člen týmu DevOps pomůže implementovat nulová důvěra (Zero Trust) princip nejnižších oprávnění a zabezpečit prostředí platformy DevOps. Obsahuje obsah eBooku Zabezpečení prostředí Enterprise DevOps Environment a zdůrazňuje osvědčené postupy pro správu tajných kódů a certifikátů.

Moderní podniky spoléhají na platformy DevOps pro nasazení, včetně kanálů a produkčních prostředí, která vývojáři vyžadují, aby byla produktivní. V minulosti metody zabezpečení aplikací nezohlážily zvýšený prostor pro útoky, který současné kanály a produkční prostředí zpřístupňují. Když se hackeři posunou doleva a cílí na upstreamové nástroje, potřebujete inovativní přístupy k zabezpečení prostředí platformy DevOps.

V následujícím diagramu si všimněte, že prostředí platformy DevOps se připojuje k aplikačnímu prostředí a k rozšíření kanálů kontinuální integrace a průběžného doručování (CI/CD).

Diagram znázorňuje prostředí platformy DevOps a bezpečnostní hrozby, jak je popsáno ve výše propojené eBooku a shrnuté v souvisejících článcích, které jsou zde propojené.

Rozšíření kanálů CI/CD představují hackery s možnostmi zapojit se do eskalací oprávnění z aplikačního prostředí. Rozšíření a integrace zvyšují ohrožení zabezpečení proti útokům. Je důležité bránit se před hrozbami vniknutí malwaru.

Jak a proč útočníci cílí na kanály

Kanály a produkční prostředí můžou být nezávislé na standardních postupech a procesech zabezpečení aplikací. Obvykle vyžadují přihlašovací údaje vysoké úrovně, které můžou útočníkům poskytnout hluboký a smysluplný přístup.

I když útočníci najdou nové způsoby ohrožení systémů, nejběžnější vektory útoku pro kanály zahrnují:

  • Extrahování proměnných modulu runtime a injektáž argumentů
  • Skripty, které načítají principy služby nebo přihlašovací údaje z kanálů.
  • Chybně nakonfigurované osobní přístupové tokeny, které umožňují přístup k prostředí platformy DevOps komukoli s klíčem.
  • Ohrožení zabezpečení a chybné konfigurace v integrovaných nástrojích, které vyžadují přístup k kódu (často jen pro čtení, ale někdy přístup k zápisu). Integrované nástroje můžou zahrnovat testovací architektury, testování zabezpečení statických aplikací (SAST) a dynamické testování zabezpečení aplikací (DAST).

Osvědčené postupy pro správu tajných kódů a certifikátů

Vyhnout se závažnému porušení zabezpečení může být stejně jednoduché jako efektivní správa tajných kódů. Následující diagram znázorňuje příklad efektivního tajného kódu, hesla, přístupového tokenu a správy certifikátů.

Diagram znázorňuje správu tajných kódů a certifikátů.

Jak je znázorněno na výše uvedeném diagramu, vývojář spustí sestavení pro žádost zákazníka. GitHub pak spustí spouštěč s ID role a ID tajného kódu role aplikace trezoru. Důvěryhodná entita pravidelně požaduje nové ID tajného kódu z trezoru a získá ID tajného klíče GitHubu z GitHubu. Trezor používá ID role Tajné kódy GitHubu a ID tajného kódu k přihlášení a získání prostředků pro podepisování kódu. Runner přizpůsobí mobilní aplikaci a podepíše kód.

Následující osvědčené postupy vám pomůžou vytvořit zabezpečené nastavení, které minimalizuje ohrožení tajných kódů a parametrů.

  • Poskytovat zabezpečené úložiště pro tajné kódy a certifikáty v každé fázi životního cyklu aplikace. Vždy vyvíjejte, jako by se jedná o opensourcový projekt. Zajistěte, aby týmy ukládaly tajné kódy do trezorů klíčů, a ne do kódu nebo do týmových prostředí. Používejte cloudovou službu Azure Key Vault pro bezpečné ukládání tajných kódů a přístup k nim.
  • 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.

Další osvědčené postupy pro zabezpečení prostředí DevOps

Pokud chcete pomoct se bránit proti incidentům zabezpečení, projděte si následující osvědčené postupy, které vám pomůžou napravit prostředí platformy DevOps. Podrobnou diskuzi o těchto doporučeních najdete v ebooku Zabezpečení prostředí Enterprise DevOps Environment .

  • Vybavení každého prostředí platformy DevOps trasami auditu Zkontrolujte protokoly auditu a sledujte , kdo získal přístup, k jaké změně došlo, a datum a čas pro jakýkoli aktivní systém. Konkrétně zahrnují platformy DevOps s kanály CI/CD, které proudí do produkčního prostředí. Záznamy auditu pro nástroje DevOps poskytují robustní způsoby, jak rychleji napravit hrozby, najít a upozorňovat na podezřelé aktivity na možné porušení zabezpečení nebo ohrožení zabezpečení a najít potenciální zneužití dat nebo oprávnění. Zajistěte, aby v každém prostředí byly k dispozici podrobné záznamy kontroly a auditu.
  • Zabezpečení softwarového dodavatelského řetězce S každou knihovnou, kterou do základu kódu přenesete, rozbalíte softwarový dodavatelský řetězec a dědíte závislosti z každého opensourcového projektu nebo nástroje. S opatrností odeberte nepotřebné knihovny a opensourcové komponenty, abyste snížili prostor pro útoky na váš softwarový dodavatelský řetězec.
  • Automatizovat kontroly šablon infrastruktury jako kódu (IaC). V prostředích IaC je snadné vyhledat chybné konfigurace, audity dodržování předpisů a problémy se zásadami. Implementace kontrol dodržování předpisů a řízení přístupu zvyšuje stav zabezpečení celé infrastruktury. Ověřte zabezpečení integrací nástrojů, které splňují požadavky na systém automatizace.
  • Automatizovat schvalovací pracovní postupy. Aby jakýkoli pracovní postup schválení nasdílel kód do produkčního prostředí, musí určité automatické nebo ruční kontroly potvrdit zabezpečení, obchodní hodnotu, stav a kvalitu každé žádosti. Tyto kontroly fungují jako brána mezi vývojem a produkčním prostředím, aby se zabránilo útokům na dostupnost služby a hackerům vkládání kódu do produkčních prostředí bez označení příznakem nebo aktivací výstrahy.
  • Povolte pouze ověřené integrace nástrojů DevOps. Stejně jako v vývojových prostředích jsou nástroje DevOps součástí rozšíření a integrací, díky kterým tým DevOps bude efektivní a zabezpečený. Ověřte, že ověřená integrace vyžadují nejnižší možná oprávnění ke spuštění jejich práce. Pokud je to možné, implementujte přístup s nejnižšími oprávněními a zajistěte správnou úroveň oprávnění pro čtení a zápis. Zjistěte, jak zakázat nebo omezit GitHub Actions pro vaši organizaci.

Další kroky