Nasazení integrace Pokročilého zabezpečení GitHubu

Tato příručka obsahuje kroky nastavení a další akce, které vám pomůžou integrovat GitHub Advanced Security (GHAS) a Microsoft Defender for Cloud a pak ověřit konec integrace. Integrace pomáhá maximalizovat zabezpečení aplikací nativních pro cloud Microsoft tím, že koreluje rizika modulu runtime a kontext s původním kódem, aby se urychlila náprava založená na umělé inteligenci.

Podle této příručky:

  • Nastavte úložiště GitHubu pro pokrytí cloudu v programu Defender.
  • Vytvořte faktor rizika během běhu
  • Otestujte skutečné případy použití v defenderu pro cloud.
  • Propojte kód s prostředky modulu runtime.
  • Zahajte kampaň zabezpečení na GitHubu. Tato kampaň používá kontext modulu runtime k určení priority výstrah zabezpečení GHAS.
  • Vytvořte problémy s GitHubem z Defenderu pro cloud a spusťte nápravu.
  • Uzavřete cyklus mezi inženýrskými a bezpečnostními týmy.

Předpoklady

Aspect Podrobnosti
Požadavky na životní prostředí – Účet GitHubu s konektorem vytvořeným v defenderu pro cloud
– GitHub licence GHAS (Advanced Security) v připojených úložištích
– Defender plán správy stavu cloudového zabezpečení (DCSPM) povolený pro předplatné
– Microsoft Security Copilot (volitelné pro automatizované nápravy využívající AI)
Role a oprávnění – Oprávnění správce zabezpečení
- Správce bezpečnosti na předplatném Azure pro zobrazení zjištěných výsledků v Defender for Cloud
- Vlastník organizace GitHub pro propojení repozitářů a konfiguraci bezpečnostních kampaní
Cloudová prostředí – Dostupné jenom v komerčních cloudech (ne ve službě Azure Government, Azure provozované společností 21Vianet nebo jinými suverénními cloudy)

Příprava prostředí

Před ověřením integrace dokončete následující kroky k nastavení repozitáře GitHub a Defender for Cloud.

Krok 1: Nastavení úložiště GitHub a spuštění pracovního postupu

Pro testování integrace použijte vlastní repozitáře nebo ukázkový sandboxový projekt. Projekt sandbox poskytuje testovací GitHub repozitář se vším, co potřebujete k vytvoření zranitelného obrazu kontejneru.

  1. Přihlaste se do Azure Portalu.

  2. Přejděte na Microsoft Defender for Cloud>zabezpečení DevOps.

  3. Zadejte název svého kódového repozitáře do vyhledávacího pole, například zava-webshop.

  4. Ověřte, že patří do organizace, kterou monitorujete, například organizaci zava-corporation .

  5. Zkontrolujte, zda existují nějaké nálezy pro repozitář.

  6. Ujistěte se , že je stav rozšířeného zabezpečenízapnutý. Toto nastavení znamená, že GitHub Advanced Security je na monitorovaném repozitáři povolen.

  7. Pokud vaše repozitář není nalezen, podívejte se na GitHub Connector Onboarding quickstart pro řešení problémů a nastavení.

  8. Ujistěte se, že je pro váš konektor GitHub zapnutá kontrola bez agentů.

    Screenshot konfigurace plánu v Defender CSPM s zapnutou kontrolou kódu bez použití agentů a aktivované všechny možnosti skeneru.

Krok 2: Ověření připravenosti vašeho prostředí

Tato validace prostředí potvrzuje, že vaše repozitář a cloudové zdroje jsou správně nastavené. Ověřuje, že Defender dokáže zobrazit doporučení týkající se kódu a běhového prostředí a poskytovat užitečné výsledky. Během kroku ověřování prostředí Defender ověřuje, že:

  • Microsoft Defender for Cloud nepřetržitě monitoruje úložiště zdrojového kódu z hlediska ohrožení zabezpečení.
  • Artefakty sestavení, například image kontejnerů, jsou před nasazením skenovány v registrech kontejnerů.
  • Úlohy runtime nasazené do clusterů Kubernetes se monitorují kvůli bezpečnostním rizikům.
  • Defender for Cloud koreluje a trasuje každý artefakt od kódu přes sestavení a nasazení až po runtime a zpět.

Note

Výsledky mohou trvat až 24 hodin po zavedení předchozích kroků.

Ověřte úplnou viditelnost od kódu až po běhové prostředí

Otestujte, že kontrola bez agentů GitHubu převezme úložiště.

Přejděte na Microsoft Defender for Cloud>Cloud Security Explorer a proveďte dotaz. Ověřovací dotazy testují, jestli Defender dokáže identifikovat artefakty vytvořené vašimi kanály a úlohami. Pokud dotazy vrátí výsledky, znamená to, že kontrola a korelace fungují podle očekávání.

Snímek obrazovky Cloud Security Exploreru v Defender for Cloud zobrazující dotaz na odeslání z repozitáře GitHubu do imagí kontejnerů.

Note

Pokud nejsou vráceny žádné výsledky, může to znamenat, že artefakty ještě nejsou vygenerovány, skenování není nakonfigurováno nebo chybí oprávnění. Další informace najdete v tématu Role a oprávnění uživatele .

  1. V Azure Container Registry ověřte, že Defender for Cloud naskenoval obraz kontejneru a použil ho k vytvoření kontejneru.

  2. Do dotazu přidejte podmínky pro konkrétní nasazení.

    Snímek obrazovky nástroje Cloud Security Explorer v programu Defender for Cloud zobrazující dotaz na push události do repozitáře GitHub pro image kontejnerů se zranitelnostmi.

  3. Ověřte, že je kontejner spuštěný a že Defender for Cloud naskenuje cluster AKS.

    Snímek obrazovky Cloud Security Exploreru v Defenderu for Cloud zobrazující dotaz na pushy na GitHubu do imagí kontejnerů se zranitelnostmi.

  4. Ověřte, že jsou rizikové faktory správně nakonfigurované na straně Defenderu pro cloud. Vyhledejte název svého kontejneru na stránce inventáře Defender for Cloud. Měli byste to vidět označené jako kritické.

Note

Tento krok se vyžaduje jenom v případě, že ve vašem prostředí ještě nejsou nakonfigurované rizikové faktory. Pokud už používáte rizikové faktory, můžete ověřit jejich konfiguraci v nastavení>kritickosti zdrojů.

Úspěšné ověření zajišťuje, že další kroky, jako jsou doporučení, kampaně a GitHub generování problémů, vytvoří smysluplné výsledky.

Note

Po klasifikaci prostředku jako kritického může trvat až 12 hodin, než Defender for Cloud odešle data do GitHubu. Pro více informací viz Prioritizace Dependabotu a upozornění na skenování kódu.

Krok 3: Vytvoření GitHub kampaně

Pro vytvoření skenovací kampaně pracujte na úrovni organizace GitHub. Toto prostředí není k dispozici na úrovni jednotlivých úložišť.

  1. Na GitHubu přejděte do organizace GitHubu, kterou jste použili k testování nastavení.

  2. Vyberte Kampaně zabezpečení>>Vytvořit kampaň>z filtrů skenování kódu.

    Kampaň runtime-risk pomáhá upřednostňovat zjištění GitHub Advanced Security (GHAS), která se vztahují ke kódu, který je skutečně nasazený a spuštěný.

  3. Vyberte filtry rizik za běhu pro kampaň.

    Screenshot vytváření kampaně skenování kódu na GitHubu s lištou filtru, tlačítkem Filtr a bublinovou nápovědou o filtrování podle metadat artefaktů.

    Screenshot dialogového okna rozšířených filtrů ve vytváření kampaně v GitHubu s filtrem rizika za běhu a s otevřenou nabídkou pro výběr rizikových faktorů.

  4. Vyberte Uložit>publikovat jako kampaň. Zadejte požadované informace a pak kampaň publikujte.

  5. Sledujte pokrok v kampaních.

    Snímek obrazovky stránky kampaně na GitHubu ukazující stav po splatnosti, ukazatel průběhu kampaně, seznam kritických upozornění a možnosti filtrování.

Krok 4: Jednajte podle doporučení

Použijte doporučení VA pro spuštěné kontejnery, funkci code-to-runtime a korelaci identifikovaných CVE s bezpečnostními výstrahami Dependabotu, abyste porozuměli stavu problémů se zabezpečením. Pak můžete příslušnému inženýrskému týmu přiřadit doporučení k řešení na základě mapování kódu na runtime.

  1. Na portálu Defender for Cloud přejděte na kartu Doporučení .

  2. Vyhledejte název kontejneru, který jste vytvořili z úložiště kódu.

  3. Otevřete jedno z doporučení softwaru na aktualizaci . Název doporučení začíná slovem Update.

  4. Vyberte související CVE.

    Bezpečnostní upozornění se objevují jako součást procesu hodnocení doporučení. Tyto výstrahy poskytují indicie o zjištěních služby GitHub Advanced Security, která jsou technickému týmu již známá. Některá CVE ID mají odkaz View on GitHub ve sloupci Související upozornění na GitHub.

    Snímek obrazovky karty Nálezy v Defenderu pro Cloud zobrazující upozornění CVE-2024-21409, stav opravy, skóre CVSS a vyskakovací okno s podrobnostmi alertu GitHub.

Výběrem odkazu otevřete příslušné výstrahy zabezpečení GHAS. Pro zobrazení obsahu upozornění GHAS na GitHub musíte mít přístupová oprávnění k příslušnému repozitáři GitHub. Pokud nemáte přístupová oprávnění, můžete odkaz zkopírovat pro příště nebo kontaktovat správce GitHub.

Pokud sloupec Související upozornění na GitHub ukazuje shodné upozornění Dependabotu, je zranitelnost již inženýrům známa. Pokud je stav upozornění aktivní, nikdo to zatím nevyřešil a problém je třeba prioritizovat pro opravu.

Pokud se ve sloupci neobjeví žádné odpovídající upozornění GitHubu, CVE představuje riziko za běhu, které není vývojovému týmu známo a jehož opravu je třeba upřednostnit.

Vytvořit problém na GitHubu

Pokud chcete zavřít smyčku mezi bezpečnostními a technickými týmy, můžete vytvořit problém GitHubu, který upřednostňuje problémy se zabezpečením, na které by se technický tým měl zaměřit. Toto stanovení priority může zahrnovat předávání zjištění, která GHAS nezachytila, ale která však Defender for Cloud zjistil u ID CVE, která nejsou součástí přímých závislostí. Tato zjištění můžou zahrnovat ohrožení zabezpečení v základní imagi, operačním systému nebo softwaru, jako je NGINX.

Issue na GitHubu se automaticky vytvoří v repozitáři zdrojového kódu se všemi ID CVE nalezenými v rámci doporučení, včetně dalších kontextů souvisejících s runtime, kontejnery a životním cyklem vývoje softwaru (SDLC), které mohou pomoci s opravou a testováním.

Ze zobrazení doporučení můžete přímo vygenerovat GitHub issue, které bude sloužit ke sledování nápravných prací.

  1. Přejděte na Remediation Insights a zobrazte si diagram propojení kódu a běhového prostředí. Diagram mapuje váš běžící kontejner na image kontejneru v úložišti kódu a na původní úložiště kódu na GitHubu.

    Snímek obrazovky s přehledy nápravy zobrazující diagram kódu na modul runtime s úrovněmi rizik a otevřenou nabídkou Akce v poli Runtime

    1. Na kartě Remediation Insights zkontrolujte dotčenou sekci Runtime.

    2. Ověřte, zda již na GitHub existuje issue. Pokud GitHub problém již existuje, v poli se zobrazí ikona GitHub. Najeďte myší na ikonu a zobrazte podrobnosti o problému.

    3. Pokud žádný problém neexistuje a máte požadovaná oprávnění, můžete vygenerovat nový GitHub problém. Vyberte Provést akci.

    4. V místní nabídce vyberte možnost Vytvořit problém na GitHubu.

    5. Pokud byl problém úspěšně vytvořen, zobrazí se upozornění s odkazem na problém. Problém se vytvoří v úložišti kódu původu.

      Snímek obrazovky se seznamem problémů na GitHubu zobrazující otevřené problémy s závislostmi s označeními, jako je Defender for Cloud a bezpečnost.

    Note

    Pokud není dostupná možnost Generovat problém s GitHub, může vám chybět oprávnění k GitHub nebo repozitáři. Obraťte se na správce GitHubu nebo úložiště a požádejte o přístup.

    Snímek obrazovky zobrazující vygenerovaný problém v GitHubu pro otevřenou závislost s programem Defender for Cloud a popisky zabezpečení.

    1. Sledujte vlastnictví a aktuální stav. Změny ve stavu vydání nebo přiřazení provedené v GitHub se odrážejí v Microsoft Defender for Cloud. Tento fakt vám umožňuje sledovat vlastnictví a pokrok sanace z pohledu Doporučení .

      Snímek obrazovky stránky s doporučeními Microsoft Defender pro cloud zobrazující problémy s vysokým rizikem s vyskakovacím oknem s podrobnostmi o problému na GitHubu.

Agentní opravy

Pokud máte licenci GitHub Copilot, můžete problém vyřešit pomocí GitHub kódovacího agenta:

  1. Přiřaďte úkolu agenta GitHub pro kódování.
  2. Zkontrolujte vygenerovanou opravu.
  3. Pokud se oprava zdá rozumná, použijte ji.
  4. Sledujte, jak Defender for Cloud aktualizuje stav problému na Uzavřeno.