Sdílet prostřednictvím


Nasazení integrace Pokročilého zabezpečení GitHubu s Microsoft Defenderem pro cloud

Tato příručka vás provede kroky nastavení a dalšími akcemi, které vám pomůžou integrovat GitHub Advanced Security (GHAS) a Microsoft Defender for Cloud. Tato integrace vám pomůže maximalizovat zabezpečení aplikací nativních pro cloud od Microsoftu.

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 cloudovými prostředky.
  • Zahajte kampaň zabezpečení na GitHubu. Tato kampaň používá kontext modulu runtime k určení priority výstrah zabezpečení GHAS na základě kontextu modulu runtime.
  • 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.

Požadavky

Aspekt Podrobnosti
Požadavky na životní prostředí – Účet GitHubu s konektorem vytvořeným v defenderu pro cloud
- Licence GHAS
– Správa stavu cloudového zabezpečení v defenderu (CSPM) povolená v předplatném
– Microsoft Security Copilot (volitelné pro automatizovanou nápravu)
Role a oprávnění – Oprávnění správce zabezpečení
– Čtenář zabezpečení v předplatném Azure (pro zobrazení zjištění v Defenderu pro Cloud)
– Vlastník organizace GitHubu
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í

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

K otestování integrace použijte vlastní úložiště nebo ukázkové úložiště GitHubu, které už má veškerý obsah k sestavení zranitelné image kontejneru. Před nastavením úložiště se ujistěte, že:

Pokud chcete použít ukázkové úložiště, naklonujte do své organizace GitHub následující úložiště: build25-woodgrove/mdc-customer-playbook. Toto úložiště je určené zákazníkům k otestování integrace Defenderu pro cloud a GHAS. Má povolenou službu GHAS a je onboardována do tenanta Azure, který má povolenou funkci CSPM v programu Defender.

V úložišti postupujte takto:

  1. Přejděte na Nastavení.

  2. V levém podokně vyberte Tajné kódy a proměnné>Akce. Pak vyberte Nový tajný klíč úložiště.

    Snímek obrazovky s výběrem pro vytvoření nového tajného kódu úložiště na GitHubu

  3. Na úrovni úložiště nebo organizace přidejte následující tajné kódy:

    Variable Description
    ACR_ENDPOINT Přihlašovací server registru kontejneru
    ACR_USERNAME Uživatelské jméno registru kontejneru
    ACR_PASSWORD Heslo pro registr kontejneru

    Poznámka:

    Názvy je možné zvolit volně a nemusí se řídit konkrétním vzorem.

    Tyto informace najdete na webu Azure Portal pomocí následujícího postupu:

    1. Vyberte registr kontejneru, do kterého chcete nasadit.

    2. V části Nastavení vyberte Přístupové klíče. Podokno Přístupové klíče zobrazuje klíče pro přihlašovací server, uživatelské jméno a heslo.

      Snímek obrazovky s podoknem se seznamem přístupových klíčů pro registr kontejneru na webu Azure Portal

  4. V úložišti vyberte Akce.

  5. Vyberte pracovní postup Sestavení a odeslání na ACR a pak vyberte Spustit pracovní postup.

    Snímek obrazovky s oddílem Akce úložiště GitHub, který zobrazuje historii pracovního postupu a tlačítko pro spuštění pracovního postupu

  6. Zkontrolujte, jestli byla image nasazená do vašeho registru kontejneru.

    V ukázkovém úložišti by se image měla nacházet v registru s názvem mdc-mock-0001 se značkou mdc-ghas-integration.

  7. Nasaďte stejný image jako běžící kontejner ve vašem clusteru. Jedním ze způsobů, jak tento krok dokončit, je připojení ke clusteru a použití kubectl run příkazu. Tady je příklad pro Azure Kubernetes Service (AKS):

    1. Nastavení předplatného clusteru:

      az account set --subscription $subscriptionID
      
    2. Nastavte přihlašovací údaje pro cluster:

      az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existing
      
    3. Nasazení obrazu:

      kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration
      

Krok 2: Vytvořte první rizikový faktor (pravidlo kritické pro obchod)

Jedním z rizikových faktorů, které Defender for Cloud detekuje pro tuto integraci, je obchodní důležitost. Organizace mohou vytvářet pravidla, která označí zdroje jako kritické pro podnikání.

  1. Na portálu Defender for Cloud přejděte do části Nastavení prostředí>Důležitost prostředků.

  2. V pravém podokně vyberte odkaz a otevřete Microsoft Defender.

    Snímek obrazovky s rozhraním Defenderu pro cloud, který zobrazuje výběry pro otevření portálu Microsoft Defenderu

  3. Vyberte Vytvořit novou klasifikaci.

    Snímek obrazovky s tlačítkem pro vytvoření nové klasifikace

  4. Zadejte jméno a popis.

  5. V nástroji pro tvorbu dotazů vyberte Cloudový prostředek.

  6. Napište dotaz pro nastavení názvu prostředku , který se rovná názvu kontejneru, který jste nasadili do clusteru pro ověření. Pak vyberte Další.

    Snímek obrazovky nástroje pro tvorbu dotazů v programu Microsoft Defender s aplikovaným filtrem názvu prostředku pro cloudový prostředek.

  7. Na stránce Prostředky ve verzi Preview se zobrazí název kontejneru s typem prostředku K8s-container nebo K8s-pod, pokud Microsoft Defender již detekoval váš zdroj.

    I když název ještě není viditelný, pokračujte dalším krokem. Microsoft Defender použije popisek závažnosti u kontejneru po zjištění kontejneru. Tento proces může trvat až 24 hodin.

  8. Zvolte úroveň závažnosti a pak zkontrolujte a odešlete pravidlo klasifikace.

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

Poznámka:

Zobrazení následujících výsledků může trvat až 24 hodin po použití předchozích kroků.

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

  2. Přejděte do Průzkumníka zabezpečení cloudu a proveďte dotaz.

    Snímek obrazovky s výsledky hledání ve tvůrci dotazů v Cloud Security Exploreru, s filtry nastavenými na úložiště GitHub a obrazy kontejnerů

  3. Ověřte, že Defender for Cloud (ve službě Azure Container Registry) naskenuje image kontejneru a použil ji k vytvoření kontejneru. Do dotazu přidejte podmínky pro konkrétní nasazení.

    Snímek obrazovky Průzkumníka zabezpečení cloudu, který zobrazuje výsledky hledání dotazu s filtry pro úložiště GitHub a image kontejnerů

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

    Snímek obrazovky s výsledky dotazu v Průzkumníku cloudových zabezpečení s filtry pro úložiště GitHub a imagemi kontejnerů

  5. Ověřte, že jsou rizikové faktory správně nakonfigurované na straně Defenderu pro cloud. Vyhledejte název kontejneru na stránce inventáře Defenderu pro cloud a měli byste vidět, že je označený jako kritický.

Krok 4: Vytvoření kampaně GitHubu

Vzhledem k tomu, že pracovní postup nasazuje image, která vytváří spuštěný kontejner s jedním z rizikových faktorů (kritických pro podnikání), vývojáři vidí rizikové faktory na GitHubu.

Poznámka:

Po klasifikaci prostředku jako kritického může trvat až 12 hodin, než Defender for Cloud odešle data do GitHubu. Další informace.

  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.

    Snímek obrazovky s možnostmi na GitHubu pro vytvoření kampaně z filtrů pro skenování kódu nebo tajných informací.

  3. Vytvořte následující kampaň. Tato kampaň zobrazuje otevřená upozornění se střední závažností, kdy je image nasazená z úložiště svázaná s kritickým prostředkem. V této kampani by mělo být zjištěno vaše testovací úložiště.

    Snímek obrazovky kampaně GitHubu s filtry pro otevřená upozornění, závažnost a riziko za běhu

  4. Vyberte Uložit>publikovat jako kampaň.

  5. Zadejte požadované informace a pak kampaň publikujte.

Krok 5: Vyhodnocení doporučení pro kódování do cloudu

K pochopení stavu problémů se zabezpečením použijte doporučení pro kódování do cloudu a výstrahy zabezpečení. Pak můžete přiřadit doporučení k řešení příslušnému technickému týmu s pomocí propojení mezi výstrahami zabezpečení Dependabot a odpovídajícími běžnými zranitelnostmi a expozicemi (CVE) v Defender for Cloud.

Zobrazení doporučení pro přesun kódu do cloudu:

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

  2. Vyhledejte název kontejneru, který jste vytvořili. Pak otevřete jedno z doporučení, která obsahují slovo Update.

    Pokud jste použili ukázkové úložiště, vyhledejte aktualizaci doporučení pro rozšíření závorek.

  3. Přejděte na kartu Remediation Insights a zobrazte diagram kódu do cloudu. Diagram mapuje váš běžící kontejner na image kontejneru v úložišti kódu a v úložišti původu na GitHubu.

    Snímek obrazovky s kartou Remediation Insights znázorňující diagram propojených fází vývoje

Zobrazení výstrah zabezpečení

  1. Vyberte kartu Přidružené cves . Všimněte si, že některé ID CVE mají odkaz Zobrazit na GitHubu ve sloupci Související upozornění GitHubu .

  2. Výběrem odkazu otevřete příslušné výstrahy zabezpečení GHAS.

Snímek obrazovky s kartou Přidružené CVE, která zobrazuje odkaz na související GitHub alert.

Problém s vytvořením 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.

Problém na GitHubu se automaticky vygeneruje se všemi ID CVE nalezenými v rámci doporučení. Doporučení je se shodami upozornění Dependabot i bez nich, včetně dalších kontextů běhového modulu v původním úložišti.

Snímek obrazovky se seznamem problémů GitHubu se třemi položkami označenými značkami zabezpečení a zranitelnosti.

Když problém přiřadíte, stav problému se aktualizuje na portálu Defender for Cloud.

Snímek obrazovky úlohy na GitHubu se značkami zabezpečení a zranitelnosti, včetně podrobností, jako jsou ID CVE, faktory běhového rizika a informace o nasazení.

Agentní opravy

Pokud máte na straně GitHubu licenci GitHub Copilot, můžete problém vyřešit pomocí agenta kódování GitHubu:

  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.