Kontrola kódu bez agentů v Programu Microsoft Defender for Cloud
Kontrola kódu bez agentů v Programu Microsoft Defender for Cloud nabízí rychlé a škálovatelné pokrytí zabezpečení pro všechna úložiště v Azure DevOps. Rychle najde ohrožení zabezpečení v nastaveních kódu a infrastruktury jako kódu (IaC), aniž by bylo nutné měnit kanály agentů nebo kontinuální integrace a průběžného nasazování (CI/CD). Tento přístup zjednodušuje nastavení a údržbu pomocí jediného konektoru Azure DevOps a poskytuje široké pokrytí, průběžné přehledy a užitečná zjištění zabezpečení. Umožňuje týmům zabezpečení a vývoj se soustředit na bezproblémové řešení rizik bez přerušení vývojových pracovních postupů.
Požadavky
Stav vydání: Public Preview
Podporované případy použití:
Cloudy: Komerční cloudy Azure
Podporované oblasti: Austrálie – východ, Kanada – střed, USA – střed, Východní Asie, USA – východ, Severní Evropa, Švédsko – střed, Velká Británie – jih, Západní Evropa
Podporovaná prostředí: Konektor Azure DevOps
Role a oprávnění:
Nastavení a konfigurace konektoru:
- Správce kolekce projektů: Vyžaduje se v Azure DevOps k provedení počátečního nastavení.
- Přispěvatel předplatného: K vytvoření a konfiguraci konektoru potřebujete předplatné Azure.
Zobrazení výsledků zabezpečení:
- Správce zabezpečení: Může spravovat nastavení zabezpečení, zásady a výstrahy, ale nemůže upravit konektor.
- Čtenář zabezpečení: Může zobrazit doporučení, výstrahy a zásady, ale nemůže provádět žádné změny.
Klíčové výhody
- Proaktivní řízení rizik: Identifikujte rizika v rané fázi procesu vývoje. To podporuje postupy zabezpečeného kódování a snižuje ohrožení zabezpečení před dosažením produkčního prostředí.
- Snadné onboarding: Rychlé nastavení s minimální konfigurací a beze změn kanálu.
- Centralizovaná správa na podnikové úrovni: Automaticky prohledávat kód napříč několika úložišti pomocí jediného konektoru. To poskytuje rozsáhlé pokrytí pro velká prostředí.
- Rychlé přehledy pro rychlou nápravu: Získejte přehledy o ohrožení zabezpečení s možností reakce hned po onboardingu. To umožňuje rychlé opravy a zkracuje dobu vystavení.
- Přívětivé a bezproblémové pro vývojáře: Provoz nezávisle na kanálech kontinuální integrace a průběžného nasazování (CI/CD) bez nutnosti změn ani přímého zapojení vývojářů. To umožňuje nepřetržité monitorování zabezpečení bez narušení produktivity nebo pracovních postupů vývojářů.
Možnosti detekce rizik
Kontrola kódu bez agentů zlepšuje zabezpečení tím, že nabízí cílová doporučení zabezpečení pro šablony kódu i infrastruktury jako kódu (IaC). Toto je kromě základních doporučení zabezpečení CPM (Foundational Cloud Security Management) poskytovaných prostřednictvím konektoru. Mezi schopnosti detekce klíčů patří:
- Ohrožení zabezpečení kódu: V několika programovacích jazycích najdete běžné chyby kódování, nebezpečné postupy kódování a známé chyby zabezpečení.
- Chybné konfigurace infrastruktury jako kódu: Detekce chybných konfigurací zabezpečení v šablonách IaC, které můžou vést k nezabezpečeným nasazením.
Vytvoření konektoru vylepšuje zabezpečení tím, že poskytuje základní sadu doporučení zabezpečení pro úložiště, kanály a připojení služeb.
Nástroje pro skenování
Kontrola kódu bez agentů používá různé opensourcové nástroje k vyhledání ohrožení zabezpečení a chybných konfigurací v šablonách kódu a infrastruktury jako kódu (IaC):
Nástroj | Podporované jazyky a IaC | Licence |
---|---|---|
Bandita | Python | Apache 2.0 |
Checkov | Šablony TerraformU IaC, soubory plánů Terraformu, šablony AWS CloudFormation, soubory manifestu Kubernetes, soubory chartů Helm, soubory Dockerfiles, šablony IaC Azure Azure Resource Manageru (ARM), šablony Azure Bicep IaC, šablony AWS SAM (bezserverový aplikační model), soubory Kustomize, šablony bezserverové architektury, soubory specifikace OpenAPI | Apache 2.0 |
ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
Analyzátor šablon | Šablony ARM IaC, šablony Bicep IaC | MIT |
Terrascan | Šablony IaC Terraformu (HCL2), soubory manifestu Kubernetes (YAML/JSON), soubory Dockerfile, šablony AWS CloudFormation (YAML/JSON), šablony Azure ARM IaC, soubory chartu Helm (v3), soubory Kustomize | Apache 2.0 |
Tyto nástroje podporují širokou škálu jazyků a architektur IaC a zajišťují důkladnou analýzu zabezpečení napříč vaším základem kódu.
Podporované platformy a typy souborů
Systémy správy verzí
- Azure DevOps: Úplná podpora úložišť připojených přes konektor Azure DevOps
Programovací jazyky
- Python
- JavaScript/TypeScript
Platformy a konfigurace infrastruktury jako kódu (IaC)
Platforma IaC | Podporované typy souborů | Poznámky |
---|---|---|
Terraform | .tf , .tfvars |
Podporuje šablony Terraform IaC v jazyce HCL2, včetně souborů proměnných v .tfvars . |
Terraform Plan | Soubory JSON | Obsahuje soubory JSON představující plánované konfigurace, které se používají k analýze a kontrole. |
AWS CloudFormation | SOUBORY JSON, YAML | Podporuje šablony AWS CloudFormation pro definování prostředků AWS. |
Kubernetes | YAML, soubory JSON | Podporuje soubory manifestu Kubernetes pro definování konfigurací v clusterech. |
Helm | Adresářová struktura Helm chartu, soubory YAML | Sleduje standardní strukturu chartu Helmu; podporuje soubory chartů Helm v3. |
Docker | Soubory s názvem Dockerfile | Podporuje soubory Dockerfile pro konfigurace kontejnerů. |
Šablony Azure ARM | Soubory JSON | Podporuje šablony IaC Azure Resource Manageru (ARM) ve formátu JSON. |
Azure Bicep | Soubory .bicep | Podporuje šablony Bicep IaC, jazyk specifický pro doménu (DSL) pro ARM. |
AWS SAM | Soubory YAML | Podporuje šablony bezserverového aplikačního modelu (SAM) AWS pro bezserverové prostředky. |
Kustomize | Soubory YAML | Podporuje konfigurační soubory pro přizpůsobení Kubernetes (Kustomize). |
Bezserverová architektura | Soubory YAML | Podporuje šablony pro architekturu bez serveru při definování bezserverových architektur. |
OpenAPI | YAML, soubory JSON | Podporuje soubory specifikace OpenAPI pro definování rozhraní RESTful API. |
Povolení kontroly kódu bez agentů v organizacích Azure DevOps
Pokud chcete připojit své organizace Azure DevOps k programu Defender for Cloud a povolit kontrolu kódu bez agentů, přečtěte si pokyny v tématu Připojení organizací Azure DevOps. Následující vizuál znázorňuje rychlý a jednoduchý proces nastavení, který vás provede jednotlivými kroky pro bezproblémové onboarding.
Jak funguje kontrola kódu bez agentů
Kontrola kódu bez agentů funguje nezávisle na kanálech CI/CD. Používá konektor Azure DevOps k automatické kontrole kódu a konfigurace IaC (Infrastructure-as-Code). Nemusíte upravovat kanály ani přidávat rozšíření. Toto nastavení umožňuje širokou a průběžnou analýzu zabezpečení napříč několika úložišti. Výsledky se zpracovávají a zobrazují přímo v programu Microsoft Defender for Cloud.
Proces skenování
Jakmile povolíte funkci kontroly kódu bez agenta v rámci konektoru, proces kontroly se řídí těmito kroky:
- Zjišťování úložiště: Systém automaticky identifikuje všechna úložiště propojená prostřednictvím konektoru Azure DevOps hned po vytvoření konektoru a pak každých 8 hodin.
- Načítání kódu: Bezpečně načte nejnovější kód z výchozí (hlavní) větve každého úložiště pro analýzu, nejprve po nastavení konektoru a potom každých 3 až 4 dny.
- Analýza: Systém používá sadu integrovaných nástrojů pro skenování spravovaných a aktualizovaných v programu Microsoft Defender for Cloud k vyhledání ohrožení zabezpečení a chyb konfigurace v šablonách kódu a IaC.
- Zpracování zjištění: Zpracovává zjištění kontrol prostřednictvím back-endu Defenderu pro cloud a vytváří užitečná doporučení zabezpečení.
- Doručování výsledků: Systém zobrazuje zjištění jako doporučení zabezpečení v defenderu pro cloud, což týmům zabezpečení umožňuje kontrolovat a řešit problémy.
Frekvence a doba trvání kontroly
- Frekvence skenování:
- Stav zabezpečení úložišť, kanálů a připojení služeb se posuzuje při vytváření konektoru a pak každých 8 hodin.
- Systém po vytvoření konektoru zkontroluje chyby zabezpečení pomocí šablon kódu a infrastruktury jako kódu (IaC) a pak každých 3 až 4 dny.
- Doba trvání kontroly: Prohledávání se obvykle dokončí do 15 až 60 minut v závislosti na velikosti a složitosti úložiště.
Zobrazení a správa výsledků kontroly
Po dokončení kontrol budete mít přístup ke zjištěním zabezpečení v programu Microsoft Defender for Cloud.
Zjištění přístupu
V Programu Microsoft Defender for Cloud přejděte na kartu Doporučení zabezpečení.
Projděte si seznam doporučení, která zahrnují zjištění, jako jsou:
V úložištích Azure DevOps by se měla vyřešit zjištění kontroly kódu – indikuje ohrožení zabezpečení nalezená v úložištích kódu.
Úložiště Azure DevOps by měla mít infrastrukturu jako zjištěná zjištění kontroly kódu – odkazuje na chybné konfigurace zabezpečení zjištěné v souborech šablon IaC v úložištích.
Mezi další doporučení zabezpečení generovaná konektorem Azure DevOps patří:
- Úložiště Azure DevOps by měla mít povolenou službu GitHub Advanced Security pro Azure DevOps (GHAzDO).
- Azure Pipelines by neměl mít k dispozici tajné kódy pro sestavení forků.
- Připojení služby Azure DevOps by neměla udělovat přístup ke všem kanálům
- Skupiny proměnných Azure DevOps s tajnými proměnnými by neměly udělovat přístup ke všem kanálům
- Připojení služby Azure DevOps Classic azure by se neměla používat pro přístup k předplatnému.
- (Preview) Úložiště Azure DevOps by pro nabízení kódu měla vyžadovat minimální schválení dvou revidujících.
- (Preview) Úložiště Azure DevOps by neměla umožnit žadatelům schvalovat vlastní žádosti o přijetí změn.
- (Preview) Projekty Azure DevOps by měly mít zakázané vytváření klasických kanálů.
- Zabezpečené soubory Azure DevOps by neměly udělovat přístup ke všem kanálům.
Vyberte jakékoli doporučení pro podrobné informace, včetně ovlivněných souborů, úrovní závažnosti a pokynů k nápravě.
Rozdíl mezi kontrolou kódu bez agentů a kontrolou v kanálu
Kontrola kódu bez agentů a prohledávání v kanálu pomocí rozšíření Microsoft Security DevOps nabízejí kontrolu zabezpečení v rámci Azure DevOps. Slouží různým potřebám, ale dobře spolupracují. Následující tabulka uvádí hlavní rozdíly, které vám pomůžou zvolit možnost, která vyhovuje vašim potřebám zabezpečení a vývoje.
Aspekt | Kontrola kódu bez agentů | Prohledávání v kanálu |
---|---|---|
Přizpůsobit velikost písmen použití | Nabízí široké pokrytí s minimálním přerušením vývojářů. | Poskytuje podrobné kontroly integrované kanály s přizpůsobitelnými ovládacími prvky. |
Rozsah a pokrytí kontroly | Zaměřuje se na kontrolu ohrožení zabezpečení infrastruktury jako kódu (IaC) a kontroly ohrožení zabezpečení kódu naplánované každých 3 až 4 dny. | Nabízí rozsáhlé pokrytí, včetně binárních souborů a imagí kontejnerů, aktivovaných při každém spuštění kanálu. |
Nastavení a konfigurace | Nevyžaduje další nastavení po vytvoření konektoru. | Vyžaduje ruční instalaci a konfiguraci v každém kanálu CI/CD. |
Integrace kanálu | Spouští se nezávisle na kanálech (CI/CD) bez úprav pracovních postupů. | Integruje se v rámci kanálu CI/CD, který vyžaduje konfiguraci v každém kanálu. |
Přizpůsobení skeneru | Skenery nejde přizpůsobit ani selektivně spustit | Umožňuje přizpůsobení pomocí konkrétních skenerů, kategorií, jazyků, úrovní citlivosti a nástrojů jiných společností než Microsoft. |
Výsledky a zpětná vazba | Poskytuje přístup ke zjištěním v programu Defender for Cloud. | Nabízí zpětnou vazbu téměř v reálném čase v rámci kanálu CI/CD s výsledky viditelnými také v programu Defender for Cloud. |
Kritéria přerušení a selhání | Nejde přerušit sestavení | Je možné nakonfigurovat tak, aby přerušila sestavení na základě závažnosti zjištění zabezpečení. |
Dopad na škálovatelnost a výkon
Kontrola kódu bez agentů zabraňuje vytváření prostředků v předplatném a nevyžaduje kontrolu během procesu kanálu. K načtení metadat a kódu používá rozhraní REST API Azure DevOps. To znamená, že volání rozhraní API se započítávají do limitů rychlosti Azure DevOps, ale neúčtují se vám přímé náklady na přenos dat. Služba spravuje kontroly, aby se zajistilo, že zůstanou v rámci limitů rychlosti Azure DevOps, aniž by přerušila vývojové prostředí. Tato metoda poskytuje efektivní vysoce výkonnou kontrolu napříč úložišti, aniž by to mělo vliv na pracovní postupy DevOps. Další informace najdete v tématu Omezení rychlosti a využití Azure DevOps.
Zabezpečení dat, dodržování předpisů a řízení přístupu pro kontrolu kódu bez agentů
Služba kontroly kódu bez agentů v programu Microsoft Defender for Cloud zajišťuje zabezpečené a vyhovující zpracování kódu implementací striktních opatření zabezpečení dat a ochrany osobních údajů:
- Šifrování dat a řízení přístupu: Systém šifruje všechna přenášená data pomocí standardních protokolů. K vašemu kódu má přístup pouze autorizovaný Defender pro cloudové služby.
- Rezidence a uchovávání dat: Kontroly probíhají ve stejné geografické oblasti jako váš konektor Azure DevOps (USA nebo EU), aby byly v souladu se zákony na ochranu dat. Systém zpracovává kód pouze během skenování a bezpečně ho následně odstraní bez dlouhodobého úložiště.
- Přístup k úložištím: Služba vygeneruje zabezpečený přístupový token pro Azure DevOps k provádění kontrol. Tento token umožňuje načtení potřebných metadat a kódu bez vytváření prostředků ve vašem předplatném. K ochraně integrity dat mají přístup jenom komponenty Defenderu pro cloud.
- Podpora dodržování předpisů: Služba odpovídá zákonným standardům a standardům zabezpečení pro zpracování dat a ochranu osobních údajů a zajišťuje zabezpečené zpracování a kontrolu kódu zákazníka v souladu s požadavky na regionální ochranu dat.
Tato opatření zajišťují zabezpečený, vyhovující a efektivní proces skenování kódu, který zachovává ochranu osobních údajů a integritu vašich dat.
Omezení (Public Preview)
Během fáze public Preview platí následující omezení:
Žádná binární kontrola: Systém prohledá pouze soubory kódu a infrastruktury jako kódu (IaC).
Frekvence skenování: Kontroluje úložiště každých 3 až 4 dny.
Velikost úložiště: Omezuje kontrolu na úložiště pod 1 GB.
Pokrytí větví: Prohledává pouze výchozí (hlavní) větev.
Přizpůsobení nástroje: Nástroje pro skenování nelze přizpůsobit.