GitHub Advanced Security-systeemeigen integratie instellen met Microsoft Defender voor Cloud

Deze handleiding bevat installatiestappen en andere acties waarmee u GitHub Advanced Security (GHAS) en Microsoft Defender voor Cloud kunt integreren met een use-case waarmee u de integratie end-to-end kunt valideren. Deze integratie helpt de cloud-native beveiliging van Microsoft-toepassingen te maximaliseren door runtimerisico's en context te correleren met de oorspronkelijke code voor snellere AI-gestuurde herstelacties.

Door deze handleiding te volgen, gaat u als volgt te werk:

  • Stel uw GitHub-opslagplaats in voor Defender voor Cloud-dekking.
  • Maak een runtime-risicofactor.
  • Test echte gebruiksscenario's in Defender voor Cloud.
  • Koppel code aan runtime-resources.
  • Start een beveiligingscampagne op GitHub. Deze campagne maakt gebruik van runtimecontext om prioriteit te geven aan beveiligingswaarschuwingen van GHAS.
  • Maak GitHub-issues vanuit de Defender voor Cloud om met de remediëring te beginnen.
  • Sluit de lus tussen technische en beveiligingsteams.

Vereiste voorwaarden

Kenmerk Bijzonderheden
Milieuvereisten - GitHub account met een connector die is gemaakt in Defender voor Cloud
- GitHub GHAS-licentie (Advanced Security) voor verbonden opslagplaatsen
- Defender Cloud Security Posture Management-plan ingeschakeld voor het abonnement
- Microsoft Security Copilot (optioneel voor geautomatiseerd herstel op basis van AI)
Rollen en machtigingen - Machtigingen voor beveiligingsbeheerders
- Beveiligingsbeheerder voor het Azure-abonnement (om bevindingen weer te geven in Defender voor Cloud)
- GitHub organisatie-eigenaar (voor het verbinden van opslagplaatsen en het configureren van beveiligingscampagnes)
Cloudomgevingen - Alleen beschikbaar in commerciële clouds (niet in Azure Government, Azure beheerd door 21Vianet of andere onafhankelijke clouds)

Uw omgeving voorbereiden

Stap 1: de GitHub opslagplaats instellen en de werkstroom uitvoeren

Als u de integratie wilt testen, gebruikt u uw eigen opslagplaatsen of een voorbeeld-sandboxproject met een test-GitHub-opslagplaats die alle inhoud bevat om een kwetsbare containerafbeelding te bouwen.

  1. Meld u aan bij het Azure-portaal.

  2. Ga naar Microsoft Defender voor Cloud>DevOps-beveiliging.

  3. Voer de naam van uw codeopslagplaats in de zoekbalk in (bijvoorbeeld: zava-webshop).

  4. Controleer of het echt hoort bij de organisatie die u bewaakt (bijvoorbeeld: zava-corporation org).

  5. Controleer of er bevindingen zijn voor de repository.

  6. Zorg ervoor dat Geavanceerde beveiligingsstatus is Ingeschakeld, waarmee wordt aangegeven dat u GitHub Advanced Security hebt ingeschakeld voor de bewaakte opslagplaats > uw onboarded opslagplaats.

  7. Als uw repository niet is gevonden, raadpleegt u de Microsoft Defender voor Cloud-documentatie voor probleemoplossing en onboarding van de GitHub-connector.

  8. Zorg ervoor dat scannen zonder agent is ingeschakeld voor uw GitHub-connector.

    Schermafbeelding van planconfiguratie in Defender CSPM met agentloze code scannen en alle scanneropties ingeschakeld.

Stap 2: Controleer of uw omgeving gereed is

Validatie bevestigt dat uw omgeving correct is geconfigureerd om code aan runtime-aanbevelingen te presenteren en om bruikbare resultaten te genereren. Tijdens deze stap controleert Defender of:

Volledige code voor runtime-zichtbaarheid

  • Microsoft Defender voor Cloud continu broncodeopslagplaatsen bewaakt op beveiligingsproblemen.
  • Build-artifacts, zoals container images, worden in containerregisters gescand vóór de implementatie.
  • Runtime-workloads die geïmplementeerd zijn in Kubernetes-clusters worden gecontroleerd op beveiligingsrisico's.
  • Defender voor Cloud correleert en traceert elk artefact vanuit code, via build en implementatie, naar runtime en terug.

Opmerking

Het kan tot 24 uur duren voordat de vorige stappen zijn toegepast om de volgende resultaten te zien.

Test of GitHub agentloze scanning de opslagplaats detecteert.

Ga naar Microsoft Defender voor Cloud>Cloud Security Explorer en voer de query uit. De validatiequery's testen of Defender artefacten kan identificeren die door uw pijplijnen en workloads zijn geproduceerd. Als de query's resultaten retourneren, geeft dit aan dat scannen en correlatie werken zoals verwacht.

Schermopname van de Cloud Security Explorer van Defender voor Cloud met een query naar GitHub-repositorypushes naar containerimages.

Opmerking

Als er geen resultaten worden geretourneerd, kan dit erop wijzen dat artefacten nog niet zijn gegenereerd, dat scannen niet is geconfigureerd of dat er machtigingen ontbreken. Zie Gebruikersrollen en -machtigingen voor meer informatie.

  1. Controleer of Defender voor Cloud (in Azure Container Registry) de containerafbeelding heeft gescand en deze gebruikt heeft om een container te creëren.

  2. Voeg in uw query de voorwaarden voor uw specifieke implementatie toe.

    Schermopname van Cloudbeveiligingsverkenner van Defender voor Cloud met een query naar pushes van GitHub-opslagplaatsen naar containerafbeeldingen met beveiligingsproblemen.

  3. Controleer of de container wordt uitgevoerd en of Defender voor Cloud het AKS-cluster heeft gescand.

    Schermopname van de Cloudbeveiligingsverkenner van Defender voor Cloud met een query voor GitHub-pushes naar containerafbeeldingen met kwetsbaarheden.

  4. Controleer of de risicofactoren correct zijn geconfigureerd aan de zijde van Defender voor Cloud. Zoek de containernaam op de Defender voor Cloud-inventarispagina en u zou deze gemarkeerd als kritieke status moeten zien.

Opmerking

Deze stap is alleen vereist als risicofactoren nog niet zijn geconfigureerd in uw omgeving. Als u al risicofactoren gebruikt, kunt u de configuratie controleren onder Instellingen > Resourcekritiek.

Geslaagde validatie zorgt ervoor dat volgende stappen, zoals aanbevelingen, campagnes en GitHub genereren van problemen, zinvolle resultaten opleveren.

Opmerking

Nadat u uw resource als kritiek hebt geclassificeerd, kan het tot 12 uur duren voordat Defender voor Cloud de gegevens naar GitHub verzendt. Meer informatie.

Stap 3: Een GitHub campagne maken

Als u een scancampagne wilt maken, moet u op GitHub organisatieniveau werken. Deze ervaring is niet beschikbaar op het niveau van de afzonderlijke opslagplaats.

  1. Ga in GitHub naar de GitHub organisatie die u hebt gebruikt voor het testen van de installatie.

  2. Selecteer Beveiliging>Campagnes>Campagne maken>Van codescanfilters.

  3. Deze campagne helpt prioriteit te geven aan GHAS-bevindingen die deel uitmaken van code die echt wordt geïmplementeerd en uitgevoerd.

  4. Selecteer runtimerisicofilters voor de campagne.

    Schermopname van het maken van de GitHub-codescancampagne met een filterbalk, filterknop en tooltips over het filteren op artefactmetagegevens.

    Schermopname van het dialoogvenster voor geavanceerde filters in de GitHub-campagnecreatie met Runtime-risicofilter en een selecteerbaar menu met risicofactoren geopend.

  5. Selecteer Publiceren opslaan>als campagne. Voer de vereiste gegevens in en publiceer de campagne.

  6. Houd de voortgang van de campagne bij. Schermafbeelding van de GitHub-campagnepagina met achterstallige status, campagne-voortgangsbalk, lijst met kritieke waarschuwingen en filteropties.

Stap 4: Mobilisatie van aanbevelingen

Maak gebruik van actieve Containers VA-aanbevelingen voor code-to-runtime-functionaliteit en de correlatie van de geïdentificeerde CVE's door de beveiligingswaarschuwingen van Dependabot te gebruiken om inzicht te krijgen in de status van beveiligingsproblemen. Vervolgens kunt u de aanbeveling voor oplossing toewijzen aan het relevante technische team op basis van code-naar-runtime-toewijzing.

  1. Ga in de Defender voor Cloud-portal naar het tabblad Aanbevelingen .

  2. Zoek de naam van de container die u hebt gemaakt op basis van uw codeopslagplaats.

  3. Open een van de Update aanbevelingen; de naam van de aanbeveling begint met Update.

  4. Selecteer het tabblad Geassocieerde CVE's. Beveiligingswaarschuwingen verschijnen als onderdeel van de evaluatiestroom voor aanbevelingen. Deze waarschuwingen bevatten aanwijzingen over GitHub Advanced Security bevindingen die al bekend zijn bij het ingenieursteam. Sommige CVE-id's hebben een View on GitHub link in de kolom Gerelateerde GitHub Alerts.

    Schermafbeelding van Defender voor Cloud Bevindingen-tabblad met CVE-2024-21409-waarschuwingen, fix-status, CVSS-scores en GitHub-waarschuwingsgegevenspop-up.

Selecteer de koppeling om de relevante beveiligingswaarschuwing van GHAS te openen. (Als u de GHAS-waarschuwingsinhoud in GitHub wilt bekijken, moet u toegangsmachtigingen hebben voor de relevante GitHub opslagplaats. Als u geen toegangsmachtigingen hebt, kunt u de koppeling altijd kopiëren voor volgend gebruik of contact opnemen met uw GitHub beheerder.)

Als er een verrijking van waarschuwingen is, is er een overeenkomende Dependabot-waarschuwing die al bekend is bij de technische afdeling. Als de status Actief is, heeft niemand deze nog opgelost en moet het probleem prioriteit krijgen voor een oplossing.

Als er geen resultaatsverrijking wordt gevonden, geeft dit een runtime-risico aan dat onbekend is voor engineering en prioriteit moet krijgen voor een oplossing.

Wat is de volgende stap? Hoe weet ik wie het relevante team is voor de oplossing? Hoe weet ik welke context technische hulp kan bieden bij de oplossing?

Een probleem met GitHub maken

Als u de lus tussen beveiligings- en technische teams wilt sluiten, kunt u een GitHub probleem maken dat prioriteit geeft aan de beveiligingsproblemen waarop het technische team zich moet richten. Deze prioriteitsaanduiding kan bestaan uit het doorgeven van bevindingen die GHAS niet heeft opgehaald, maar die Defender voor Cloud heeft gedetecteerd voor CVE-id's die geen deel uitmaken van directe afhankelijkheden. Deze bevindingen kunnen beveiligingsproblemen bevatten in de basisinstallatiekopieën, het besturingssysteem of software zoals NGINX.

Het GitHub probleem wordt automatisch gegenereerd op de codeopslagplaats van oorsprong, waarbij alle CVE-id's in het bereik van de aanbeveling worden gevonden, met inbegrip van andere runtime- en container-SDLC-gerelateerde contexten die u kunnen helpen bij het oplossen en testen.

In de aanbevelingsweergave kunt u expliciet een GitHub probleem genereren om herstelwerkzaamheden bij te houden.

  1. Ga naar het tabblad Herstelinzichten en bekijk het code-naar-runtime-diagram. Het diagram koppelt uw lopende container aan de containerimage in de codeopslagplaats en aan de oorspronkelijke codeopslagplaats in GitHub.

    Schermopname van Herstelinzichten met een code-naar-runtime-diagram met risiconiveaus en het menu Actie ondernemen geopend in het vak Runtime.

    1. Controleer op het tabblad Herstelinzichthet betreffende runtimevak.

    2. Validate of er al een GitHub probleem bestaat. Als er al een GitHub probleem bestaat, wordt in het vak een GitHub-pictogram weergegeven. Beweeg de muisaanwijzer over het pictogram om details van het probleem weer te geven.

    3. Als er geen probleem bestaat en u over de vereiste machtigingen beschikt, kunt u een nieuw GitHub probleem genereren. Selecteer Actie ondernemen.

    4. Selecteer de optie Generate GitHub issue in de pop-up.

    5. Als het probleem succesvol is aangemaakt, ziet u een pop-up melding met een link naar de kwestie. Het probleem wordt gemaakt in de codeopslagplaats van oorsprong.

      Schermafbeelding van GitHub problemenlijst met openstaande problemen met labels zoals Defender voor Cloud en security.

    Opmerking

    Als de optie Generate GitHub niet beschikbaar is, ontbreken mogelijk vereiste GitHub- of opslagplaatsmachtigingen. Neem contact op met de beheerder van uw GitHub of opslagplaats om toegang te vragen.

    Schermafbeelding van de lijst met openstaande GitHub-issues voor afhankelijkheden met labels zoals Defender voor Cloud en beveiliging.

    1. Bezit- en statusupdates bijhouden : wijzigingen in de status of toewijzing die in GitHub zijn aangebracht, worden doorgevoerd in Microsoft Defender voor Cloud, zodat u de voortgang van eigendom en herstel kunt bijhouden vanuit Aanbevelingen weergave.

      Schermopname van de pagina Aanbevelingen voor Microsoft Defender voor Cloud waarin problemen met een hoog risico worden getoond, met een pop-up met details over GitHub-issues.

Agentgerelateerde oplossingen toepassen

Als u een GitHub Copilot licentie hebt, kunt u het probleem oplossen met behulp van de GitHub coderingsagent aan de GitHub kant:

  1. Wijs een GitHub coderingsagent toe aan het probleem.
  2. Bekijk de gegenereerde oplossing.
  3. Als de oplossing redelijk lijkt, past u deze toe.
  4. Bekijk wanneer Defender voor Cloud de status van het probleem bijwerken naar Gesloten.