Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kontrola kódu bez agentů v Microsoft Defenderu pro cloud nabízí rychlé a škálovatelné pokrytí zabezpečení pro všechna úložiště v Azure DevOps a GitHubu. Automaticky prohledá kód, opensourcové závislosti a infrastrukturu jako kód (IaC), aby identifikoval chyby zabezpečení a chybné konfigurace. Kanály sestavení ani nasazení nemusíte měnit. Bezagentní skenování kódu zjednodušuje nastavení a údržbu pomocí jediného konektoru Azure DevOps nebo GitHub a poskytuje široké pokrytí, kontinuální poznatky a akční bezpečnostní zjištění. Umožňuje týmům zabezpečení a vývoje soustředit se na řešení rizik bez přerušení vývojových pracovních postupů.
Můžete přizpůsobit, které skenery se mají spouštět, a definovat přesně, které organizace, projekty nebo úložiště chcete zahrnout nebo vyloučit z kontroly.
Předpoklady
Než povolíte kontrolu kódu bez agentů, ujistěte se, že splňujete následující požadavky:
Podporované případy použití:
Doporučení zabezpečení pro stanovení priorit a opravu ohrožení zabezpečení kódu
Dotazy Průzkumníka zabezpečení cloudu pro vyhledání úložišť, včetně závislostí vyplývajících ze softwarového vyúčtování materiálů (SBOM).
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 a konektor GitHubu
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.
- Čtečka zabezpečení: Může zobrazit doporučení, výstrahy a zásady, ale není oprávněn provádět žádné změny.
Klíčové výhody
Kontrola kódu bez agentů v Microsoft Defender for Cloud poskytuje následující výhody:
- Proaktivní řízení rizik: Identifikujte rizika v rané fázi procesu vývoje. Včasná identifikace rizik umožňuje bezpečné kódování a snižuje zranitelnosti ještě před jejich dosažením produkce.
- Snadné uvedení do provozu: Rychlé nastavení s minimální konfigurací a bez změn procesů.
- Centralizovaná správa na podnikové úrovni: Automaticky prohledávat kód napříč několika úložišti pomocí jediného konektoru. Centralizovaná správa nabízí rozsáhlé pokrytí pro velká prostředí.
- Rychlé poznatky pro rychlou nápravu: Získejte akční informace o zranitelnostech ihned po onboardingu, což umožňuje rychlé opravy a zkracuje dobu expozice.
- 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 nebo přímého zapojení vývojářů. Nezávislý provoz od CI/CD pipeline umožňuje kontinuální monitorování bezpečnosti bez narušení produktivity vývojářů nebo pracovních postupů.
- Flexibilní pokrytí a řízení: Zvolte, které skenery běží a co se naskenuje. Můžete pokrýt všechno ve výchozím nastavení nebo přizpůsobit nastavení tak, aby zahrnovala nebo vyloučila konkrétní organizace, projekty nebo úložiště. Tyto možnosti přizpůsobení vám umožní přizpůsobit bezpečnostní krytí vašemu rizikovému profilu a provozním potřebám bez další složitosti.
- Vytvoření softwarového vyúčtování materiálů (SBOM): Automatické generování SBOM při každé kontrole poskytuje týmům přesný a dotazovatelný inventář závislostí a verzí v úložištích bez dalších změn pracovního postupu. To umožňuje rychlou analýzu dopadu, rychlejší reakci na nově zpřístupněná ohrožení zabezpečení a sebevědomé rozhodování při posuzování expozice konkrétním balíčkům nebo verzím.
Možnosti detekce rizik
Kontrola kódu bez agentů zlepšuje zabezpečení tím, že poskytuje cílená doporučení pro kód aplikace, šablony infrastruktury jako kódu (IaC) a závislosti třetích stran. To je kromě doporučení pro řízení bezpečnosti cloudového prostředí poskytovaných prostřednictvím konektoru. Mezi možnosti 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.
- Zranitelnosti závislostí: Identifikujte známé zranitelnosti v opensourcových balíčcích a balících operačního systému v úložištích.
- SBOM (Software Bill of Materials): Automaticky vygeneruje komplexní a dotazovatelný inventář závislostí a jejich verzí pro každé úložiště.
Vytvoření konektoru vylepšuje zabezpečení tím, že poskytuje základní doporučení pro správu stavu cloudového zabezpečení pro úložiště, kanály a připojení služeb.
Podporované skenovací nástroje
Kontrola kódu bez agentů používá 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):
| Tool | Podporované IaC/jazyky | Licence |
|---|---|---|
| Analyzátor šablon | Šablony ARM IaC, šablony Bicep IaC | Licence Template Analyzer MIT |
| Checkov | Šablony IaC pro Terraform, soubory plánů Terraform, šablony AWS CloudFormation, soubory manifestů Kubernetes, soubory chartů Helm, soubory Dockerfile, šablony IaC pro Azure Resource Manager (ARM), šablony IaC pro Azure Bicep, šablony AWS SAM (Serverless Application Model), soubory Kustomize, šablony frameworku Serverless, soubory specifikací OpenAPI | Licence Checkov Apache 2.0 |
| Bandita | Python | Licence Bandit Apache 2.0 |
| ESLint | JavaScript, TypeScript, JSX, TSX | Licence ESLint MIT |
| Trivy | Prohledávání zranitelností závislostí a balíčků operačního systému včetně manifestů úložišť a souborů lockfile (režim systému souborů) | Licence Trivy Apache 2.0 |
| Syft | Alpine (apk), Bitnami packages, C (conan), C++ (conan), Dart (pubs), Debian (dpkg), Dotnet (deps.json), Objective-C (cocoapods), Elixir (mix), Erlang (rebar3), Go (go.mod, Go binárky), GitHub (pracovní postupy, akce), Haskell (cabal, stack), Java (jar, ear, war, par, sar, nar, rar, native-image), JavaScript (npm, yarn), Jenkins pluginy (jpi, hpi), Linuxové archivy jádra (vmlinuz), moduly jádra Linuxu (ko), Nix (výstupy v /nix/store), PHP (Composer, PECL, Pear), Python (kolo, vejce, báseň, requirements.txt, uv), Red Hat (rpm), Ruby (gem), Rust (cargo.lock, auditable binary), Swift (cocoapods, swift-package-manager), Wordpress pluginy, Terraform provideři (.terraform.lock.hcl) | Licence Syft Apache 2.0 |
Skenovací nástroje uvedené v předchozí tabulce podporují širokou škálu jazyků a frameworků infrastructure-as-code (IaC), což zajišťuje důkladnou bezpečnostní analýzu napříč vaším kódem.
Podporované systémy a typy souborů
Systémy správy verzí
Kontrola kódu bez agentů podporuje následující systémy správy verzí:
Azure DevOps: Úplná podpora úložišť připojených přes konektor Azure DevOps
GitHub: Úplná podpora úložišť připojených přes konektor GitHub.
Programovací jazyky
Kontrola kódu bez agentů podporuje následující programovací jazyky a ekosystémy závislostí:
Statická analýza kódu: Python; JavaScript/TypeScript.
Ekosystémy závislostí (prostřednictvím trivy): Node.js (npm, yarn), Python (pip, Pipenv, Poety), Java (Maven, Gradle), .NET (NuGet), moduly Go, Ruby (RubyGems), PHP (Composer), Rust (Cargo) a další podporované jazyky a ekosystémy balíčků prostřednictvím manifestů a lockfiles.
Platformy a konfigurace infrastruktury jako kódu (IaC)
Následující tabulka uvádí platformy IaC a typy souborů podporované kontrolou kódu bez agentů:
| Platforma IaC | Podporované typy souborů | Notes |
|---|---|---|
| Terraform |
.tf, .tfvars |
Podporuje šablony Terraform IaC v jazyce HCL2, včetně souborů proměnných v .tfvars. |
| Plán terraformu | 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 Helm a podporuje soubory chartu 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 |
.bicep soubory |
Podporuje šablony Bicep IaC, jazyk specifický pro konkrétní 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 a GitHubu
K programu Defender for Cloud můžete připojit organizace Azure DevOps i GitHub a povolit tak kontrolu kódu bez agentů. Pokud chcete nastavit připojení, použijte jednu z těchto příruček:
Přizpůsobení pokrytí a rozsahu skeneru
U GitHubu i Azure DevOps můžete řídit, které skenery běží, a určit přesně, která úložiště jsou zahrnutá nebo vyloučená z kontroly bez agentů.
Vyberte skenery: Zapněte nebo vypněte skenery pro kód a infrastrukturu jako kód (IaC) na základě vašich potřeb.
Nastavit obor skenování: Rozhodněte se, jestli chcete ve výchozím nastavení kontrolovat všechna úložiště, nebo definovat vlastní obor, který bude zahrnovat nebo vyloučit konkrétní organizace, projekty nebo úložiště.
- Režim vyloučení: Prohledat všechno kromě toho, co uvedete.
- Režim zahrnutí: Zkontrolujte jenom to, co vypíšete.
Možnosti vlastního oboru:
- U GitHubu nastavte obor podle vlastníka nebo úložiště.
- Pro Azure DevOps nastavte obor podle organizace, projektu nebo úložiště.
Automatické zjišťování nových úložišť: Automatické zjišťování nových úložišť je vždy omezeno na organizace nebo projekty zahrnuté v rozsahu konektoru. Ve výchozím nastavení je povolená při použití režimu vyloučení a není nastavený žádný vlastní seznam oborů. Nově vytvořená úložiště se automaticky naskenují.
Automatické zjišťování není dostupné v režimu zahrnutí, protože se prohledávají pouze vyjmenovaná úložiště.
Tyto možnosti konfigurace rozsahu vám umožňují přizpůsobit skenování vašim potřebám zabezpečení, udržovat pokrytí aktuální s tím, jak vaše prostředí roste, a vyhnout se zbytečným kontrolám nebo mezerám.
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 nebo GitHub k automatické kontrole konfigurace kódu a infrastruktury jako kódu (IaC). Nemusíte upravovat kanály ani přidávat rozšíření. Použití konektoru bez úprav potrubí umožňuje širokou a kontinuální bezpečnostní analýzu napříč více repozitáři. Výsledky se zpracovávají a zobrazují přímo v programu Microsoft Defender for Cloud.
Proces bezagentního skenování kódu
Jakmile povolíte funkci kontroly kódu bez agenta v rámci konektoru, proces skenování zahrnuje tyto kroky:
Zjišťování úložiště: Systém automaticky identifikuje všechna úložiště propojená prostřednictvím konektoru Azure DevOps a GitHubu 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, zpočátku po nastavení konektoru a pak každý den.
Analysis: Systém používá integrované nástroje pro kontrolu, které Microsoft Defender for Cloud spravuje a aktualizuje. Tyto nástroje najdou chyby zabezpečení a chybné konfigurace v šablonách kódu a infrastruktury jako kódu (IaC). Systém také vytvoří SBOM pro podporu dotazů na balíčky.
Zpracování zjištění: Zjištění z testů se zpracovávají prostřednictvím back-endu služby Defender pro Cloud, což vede k vytváření realizovatelných doporučení zabezpečení.
Doručování výsledků: Systém zobrazuje zjištění v Defender for Cloud jako doporučení týkající se zabezpečení. Podrobnosti o bezpečnostních doporučeních DevOps najdete v referenci DevOps bezpečnostní doporučení.
Frekvence a doba trvání kontroly
Kontrola kódu bez agentů používá následující plán:
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 osm hodin.
- Po vytvoření konektoru systém prohledá kód a šablony infrastruktury jako kódu (IaC) na zranitelnosti a poté denně.
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.
Zobrazit zjištění bezagentního skenování kódu
Přístup ke zjištěním:
V Microsoft Defender for Cloud přejděte na kartu Bezpečnostní doporučení: Otevřít bezpečnostní doporučení.
Projděte si doporučení pro úložiště Azure DevOps i GitHub, například:
Úložiště by měla mít vyřešená zjištění kontroly kódu – indikuje ohrožení zabezpečení nalezená v úložištích kódu.
Úložiště by měla mít vyřešeny nálezy z kontroly infrastruktury jako kódu – označuje chyby konfigurace zabezpečení v šablonách IaC.
Úložiště by měla mít vyřešená zjištění naskenování zranitelností závislostí – znamená detekci zranitelných opensourcových balíčků v úložištích.
Úplný rozsah doporučení podporovaných pro obě platformy najdete v tématu Azure DevOps a GitHub doporučení k zabezpečení.
Bezpečnostní doporučení pro Azure DevOps a GitHub zahrnují položky jako požadavek na schválení více recenzentů, omezení přístupu k tajným dokumentům a vynucování osvědčených postupů jak pro prostředí Azure DevOps, tak GitHub.
Výběrem libovolného doporučení zobrazíte podrobnosti o ovlivněných souborech, závažnosti a nápravném postupu.
Rozdíl mezi kontrolou kódu bez agentů a kontrolou v kanálu
Bez agentů vs. skenování v pipeline
Bezagentové skenování kódu a skenování v pipeline pomocí rozšíření zabezpečení od Microsoftu DevOps poskytují bezpečnostní skenování v Azure DevOps i na GitHubu. Slouží různým potřebám a mohou se vzájemně doplňovat. Následující tabulka shrnuje hlavní rozdíly, abyste mohli zvolit možnost, která nejlépe vyhovuje vašemu prostředí.
| Aspect | Kontrola kódu bez agentů | Prohledávání v kanálu |
|---|---|---|
| Vhodnost pro daný případ použití | Nabízí široké pokrytí s minimálním narušením práce vývojářů. | Poskytuje podrobné skeny integrované do potrubí s přizpůsobitelnými ovládacími prvky. |
| Rozsah a pokrytí skenování | Zaměřuje se na zranitelnosti infrastruktury jako kódu (IaC), zranitelnosti kódu a zranitelnosti open-source závislostí podle naplánovaného harmonogramu (denně). | Poskytuje rozsáhlé pokrytí, zahrnující binární soubory a obrazy kontejnerů, aktivované při každém spuštění pipeline. |
| Nastavení a konfigurace | Nevyžaduje další nastavení po vytvoření konektoru. | Vyžaduje ruční instalaci a konfiguraci v každém CI/CD pipeline. |
| Integrace pipeline | Funguje nezávisle na CI/CD pipelinech bez nutnosti upravovat pracovní postupy. | Integruje se v rámci kanálu CI/CD, který vyžaduje konfiguraci v každém kanálu. |
| Přizpůsobení skeneru | Umožňuje vybrat, které skenery se spouštějí. | 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 použití agentů zabraňuje vytváření prostředků v předplatném a nevyžaduje kontrolu během procesu pipeline. K načtení metadat a kódu používá rozhraní REST API Azure DevOps a GitHubu. To znamená, že volání rozhraní API se započítávají do limitů rychlosti Azure DevOps a GitHubu, 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 a GitHubu, 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 aomezení rychlosti pro rozhraní REST API GitHubu.
Zabezpečení dat, dodržování předpisů a řízení přístupu pro kontrolu kódu bez agentů
Microsoft Defender for Cloud služba pro kontrolu kódu bez agentů pomáhá chránit kód pomocí zabezpečení dat a ovládacích prvků 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 dat a doba uchovávání: Kontroly probíhají ve stejné geografické oblasti jako vaše konektory Azure DevOps a GitHub (USA nebo EU), aby byly splněny požadavky na ochranu dat. Systém zpracovává kód během skenování a pak ho bezpečně odstraní. Neudržuje dlouhodobé úložiště kódu.
- Přístup k repozitářům: Služba generuje zabezpečený přístupový token pro Azure DevOps a GitHub pro spouštění kontrol. Tento token umožňuje službě načíst požadovaná metadata a kód bez vytváření prostředků ve vašem předplatném. Tento přístup můžou používat pouze Defender for Cloud komponenty.
- 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ů za účelem zajištění bezpečného a regionálního zpracování kódu zákazníka.
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í:
- Bez binární kontroly: Spustí se pouze kód (SAST) a nástroje pro kontrolu IaC.
- Frekvence skenování: Prohledávání kódu bez agentů prohledává úložiště, když tuto funkci povolíte, a pak jednou za den.
- Velikost úložiště: Prohledávání kódu bez agentů podporuje úložiště pod 1 GB.
-
Pokrytí větví: Skenuje pouze výchozí větev (obvykle
main). - Přizpůsobení nástroje: Nástroje pro skenování nelze přizpůsobit.
Syft (SBOM) má v současné době následující omezení:
SBOMs nelze stáhnout. Výsledky Syftu můžete dotazovat a vyhledat konkrétní balíčky a úložiště, která je používají. Pokyny najdete v tématu Dotazování na softwarové vyúčtování materiálů.
Úložiště potřebuje zamknout soubor. V opačném případě jsou nalezeny pouze přímé závislosti.
Omezení velikosti SBOM je omezeno na 1 MB. Pokud je identifikováno velké množství balíčků, náš příjem dat do cloudové mapy selže.
Povolení SBOM není možné konfigurovat ani stáhnout. SBOM se generuje při každém bezagentovém skenování.
Časový limit je nastavený na 15 minut, než se nástroj SBOM spustí.
Zakázání kontroly kódu bez agentů neodstraní doporučení SBOM.