GitHub Advanced Security-integráció üzembe helyezése

Ez az útmutató beállítási lépéseket és egyéb műveleteket biztosít a GitHub Advanced Security (GHAS) és Microsoft Defender for Cloud integrálásához, majd az integráció végpontok közötti ellenőrzéséhez. Az integráció segít maximalizálni Microsoft natív felhőbeli alkalmazásbiztonságát azáltal, hogy korrelálja a futásidejű kockázatokat és a környezeteket az eredeti kóddal a gyorsabb AI-alapú szervizelés érdekében.

Az útmutatót követve:

  • Állítsa be a GitHub-adattárat a Defender for Cloud-lefedettséghez.
  • Hozzon létre egy futásidejű kockázati tényezőt.
  • Valós használati esetek tesztelése a Defender for Cloudban.
  • Kód csatolása futtatókörnyezeti erőforrásokhoz.
  • Biztonsági kampány indítása a GitHubon. Ez a kampány futtatókörnyezetet használ a GHAS biztonsági riasztások rangsorolásához.
  • Hozzon létre GitHub-problémákat a Defender for Cloudból a szervizelés megkezdéséhez.
  • Zárja be a mérnöki és biztonsági csapatok közötti hurkot.

Előfeltételek

Jellemző Részletek
Környezetvédelmi követelmények – GitHub-fiók a Defender for Cloudban létrehozott összekötővel
- GitHub Advanced Security (GHAS) licenc csatlakoztatott adattárakban
- Defender cloud security posture management (DCSPM) csomag engedélyezve van az előfizetésben
- Microsoft Security Copilot (nem kötelező az AI-alapú automatizált szervizeléshez)
Szerepkörök és engedélyek – Biztonsági rendszergazdai engedélyek
- Biztonsági rendszergazda a Azure-előfizetésen (a Defender for Cloud eredményeinek megtekintéséhez)
- GitHub szervezet tulajdonosa (adattárak csatlakoztatásához és biztonsági kampányok konfigurálásához)
Felhőkörnyezetek - Csak kereskedelmi felhőkben érhető el (nem az Azure Governmentben, a 21Vianet által üzemeltetett Azure-ban vagy más szuverén felhőkben)

A környezet előkészítése

1. lépés: A GitHub-adattár beállítása és a munkafolyamat futtatása

Az integráció teszteléséhez használjon saját adattárakat vagy egy example tesztkörnyezeti projektet amely egy teszt GitHub adattárral rendelkezik az összes tartalommal egy sebezhető tárolólemezkép létrehozásához.

  1. Jelentkezzen be a Azure portalra.

  2. Nyissa meg a Microsoft Defender for Cloud>DevOps security.

  3. Írja be a kódtár nevét a keresősávba (példa: zava-webshop).

  4. Ellenőrizze, hogy a figyelt szervezethez tartozik-e, például a zava-corporation szervezethez.

  5. Tekintse át, hogy vannak-e megállapítások az adattárra vonatkozóan.

  6. Győződjön meg arról, hogy a speciális biztonsági állapotbe van kapcsolva. Ez azt jelzi, hogy GitHub Advanced Security engedélyezve van a figyelt adattárban.

  7. Ha az adattár nem található, tekintse meg Microsoft Defender for Cloud hibaelhárítási és GitHub összekötő-előkészítési dokumentációját.

  8. Győződjön meg arról, hogy az ügynök nélküli vizsgálat be van kapcsolva az GitHub-összekötőhöz.

    A tervkonfiguráció képernyőképe a Defender CSPM-ben az ügynökmentes kódvizsgálat bekapcsolásával és az összes szkenner opció engedélyezésével.

2. lépés: Annak ellenőrzése, hogy a környezet készen áll-e

Az ellenőrzés megerősíti, hogy a környezet megfelelően van konfigurálva a felületi kódhoz a futtatókörnyezeti javaslatokhoz, és végrehajtható eredményeket hoz létre. Ebben a lépésben Defender ellenőrzi, hogy:

Teljes kód a futtatókörnyezet láthatóságához

  • Microsoft Defender for Cloud folyamatosan figyeli a forráskódtárakat a biztonsági rések miatt.
  • A buildelési összetevőket, például a tárolórendszerképeket a rendszer az üzembe helyezés előtt ellenőrzi a tárolóregisztrációs adatbázisokban.
  • A Kubernetes-fürtökön üzembe helyezett futtatási terheléseket biztonsági kockázatok szempontjából figyeljük.
  • Defender for Cloud korrelálja és nyomon követi az egyes összetevőket a kódtól a buildelésen és üzembe helyezésen át a futtatókörnyezetig és vissza.

Megjegyzés:

Az alábbi eredmények megtekintéséhez akár 24 órát is igénybe vehet az előző lépések alkalmazása.

Tesztelje, hogy a GitHub ügynök nélküli vizsgálata felveszi-e az adattárat.

Lépjen a Microsoft Defender for Cloud>Cloud Security Explorer elemre, és hajtsa végre a lekérdezést. Az érvényesítési lekérdezések ellenőrzik, hogy Defender azonosítani tudják-e a folyamatok és számítási feladatok által előállított összetevőket. Ha a lekérdezések eredményeket adnak vissza, az azt jelzi, hogy a vizsgálat és a korreláció a várt módon működik.

A Defender for Cloud Cloud Security Explorerének képernyőképe, amelyen GitHub tárház pushok lekérdezése látható a konténerképekre.

Megjegyzés:

Ha nem ad vissza eredményt, az azt jelezheti, hogy az artefaktumok még nincsenek létrehozva, a szkennelés nincs konfigurálva, vagy hiányoznak az engedélyek. További információkért tekintse meg a felhasználói szerepköröket és engedélyeket .

  1. Ellenőrizze, hogy a Defender for Cloud (az Azure Container Registryben) megvizsgálta-e a tárolórendszerképet, és használta-e egy tároló létrehozásához.

  2. A lekérdezésben adja meg az adott üzembe helyezés feltételeit.

    A Defender for Cloud Cloud Security Explorer képernyőképe, amely egy lekérdezést mutat GitHub-tárházból biztonsági résekkel rendelkező konténerképekre történő feltöltésekhez.

  3. Ellenőrizze, hogy fut-e a tároló, és hogy a Defender for Cloud megvizsgálta-e az AKS-fürtöt.

    A Defender for Cloud Cloud Security Explorer képernyőképe, amely a sérülékenységekkel rendelkező tárolóképekre irányuló GitHub push lekérdezését mutatja.

  4. Ellenőrizze, hogy a kockázati tényezők megfelelően vannak-e konfigurálva a Defender for Cloud oldalán. Keresse meg a tároló nevét a Defender for Cloud készletoldalon, és kritikusként lesz megjelölve.

Megjegyzés:

Ez a lépés csak akkor szükséges, ha a kockázati tényezők még nincsenek konfigurálva a környezetben. Ha már használ kockázati tényezőket, a Beállítások > erőforrás kritikussága területen ellenőrizheti azok konfigurációját.

A sikeres érvényesítés biztosítja, hogy a következő lépések, például javaslatok, kampányok és GitHub probléma generálása értelmes eredményeket eredményeznek.

Megjegyzés:

Miután kritikus fontosságúként osztályozza az erőforrást, akár 12 órát is igénybe vehet, amíg a Defender for Cloud elküldi az adatokat a GitHubra. További információ.

3. lépés: GitHub kampány létrehozása

Vizsgálati kampány létrehozásához a GitHub szervezet szintjén kell dolgoznia. Ez a tapasztalat nem érhető el az egyes adattárak szintjén.

  1. A GitHubon lépjen a beállítási teszteléshez használt GitHub-szervezethez.

  2. Válassza ki a Biztonság>kampányok>Kampány létrehozása> opciót a kódkeresési szűrők közül.

  3. Ez a kampány segít rangsorolni a valóban üzembe helyezett és futó kódhoz tartozó GHAS-eredményeket.

  4. Válassza ki a futásidejű kockázatszűrőket a kampányhoz.

    A GitHub kódvizsgálati kampány létrehozásának képernyőképe szűrősávval, egy Szűrő gombbal és egy tooltip az artefaktum metaadatok szerinti szűrésről.

    GitHub kampány létrehozása speciális szűrőkkel: futásidejű kockázat szűrő és a kockázati tényezők választható menüje megnyitva.

  5. Válassza a Mentés>Kampányként közzététel lehetőséget. Adja meg a szükséges információkat, majd tegye közzé a kampányt.

  6. A kampány előrehaladásának nyomon követése. A GitHub kampánylap képernyőképe, amelyen a lejárt állapot, a kampány előrehaladási sávja, a kritikus riasztások listája és a szűrési lehetőségek láthatók.

4. lépés: Javaslatok mobilizálása

A tárolók futásidejű VA-javaslataival kód–futásidejű funkciókat és az azonosított CVE-k és a Dependabot biztonsági riasztások közötti korrelációját használva megismerheti a biztonsági problémák állapotát. Ezután hozzárendelheti a megoldási javaslatokat a megfelelő mérnöki csapathoz a kód és futási idő közötti leképezés alapján.

  1. A Defender for Cloud portálon lépjen a Javaslatok lapra.

  2. Keresse meg a kódtárból létrehozott tároló nevét.

  3. Nyisson meg egy frissítési szoftverjavaslatot ; a javaslat neve frissítéssel kezdődik

  4. Válassza a Társított ÖNÉLETRAJZok lapot A javaslatok kiértékelési folyamatának részeként megjelennek a biztonsági riasztások. Ezek a riasztások jelzik GitHub speciális biztonsági megállapításokat, amelyek már ismertek a mérnöki munkában. Vegye figyelembe, hogy egyes CVE-azonosítók a Kapcsolódó GitHub riasztások oszlopban megtekinthetők a GitHub oldalon található hivatkozáson keresztül.

    A Defender for Cloud Eredmények lap képernyőképe, amelyen a CVE-2024-21409 riasztások, a javítás állapota, a CVSS-pontszámok és a GitHub riasztás részleteinek felugró ablaka láthatók.

A hivatkozásra kattintva nyissa meg a megfelelő GHAS biztonsági riasztást. (A GHAS-riasztás tartalmának GitHub való megtekintéséhez hozzáférési engedélyekkel kell rendelkeznie a megfelelő GitHub adattárhoz. Ha nem rendelkezik hozzáférési engedélyekkel, bármikor másolhatja a következő használat hivatkozását, vagy kapcsolatba léphet a GitHub rendszergazdájával.)

Ha van egy riasztásbővítés, van egy egyeztetett Dependabot-riasztás, amely már ismert a mérnöki munkában. Ha az állapot aktív, akkor még senki sem rögzítette, és a probléma prioritást igényel a javításhoz.

Ha nem talál bővítést, az azt jelzi, hogy a műszaki fejlesztés számára ismeretlen futásidejű kockázatot kell előnyben részesíteni a javításhoz.

Mi a következő lépés? Honnan tudhatom, hogy ki a javítás megfelelő csapata? Honnan tudhatom, hogy melyik környezet segíthet a javításban?

GitHub-probléma létrehozása

A biztonsági és mérnöki csapatok közötti hurok bezárásához létrehozhat egy GitHub-problémát, amely rangsorolja azokat a biztonsági problémákat, amelyekre a mérnöki csapatnak összpontosítania kell. Ez a priorizálás magában foglalhatja azokat az eredményeket is, amelyeket a GHAS nem vett észre, de amelyeket a Defender for Cloud észlelt CVE-azonosítóknál, amelyek nem részei a közvetlen függőségeknek. Ezek az eredmények tartalmazhatnak biztonsági réseket az alaprendszerképben, az operációs rendszerben vagy az olyan szoftverekben, mint az NGINX.

A GitHub probléma automatikusan létrejön a forráskódtárban a javaslat hatókörében található összes CVE azonosítóval, beleértve a többi futtatókörnyezettel és tároló SDLC-vel kapcsolatos környezetet is, amelyek segíthetnek a javításban és a tesztelésben.

A javaslat nézetből explicit módon létrehozhat egy GitHub problémát a szervizelési munka nyomon követéséhez.

  1. Lépjen a Szervizelési elemzések lapra, és tekintse meg a kód–futásidejű diagramot. A diagram leképezi a futó tárolót a konténerképre a kódtárban, és az eredeti kódtárra a GitHubon.

    Képernyőkép a Remediation Insightsról, amelyen a kockázatszinteket tartalmazó kód–futásidejű diagram látható, és a Művelet végrehajtása menü meg van nyitva a Futtatókörnyezet mezőben.

    1. A Kockázatcsökkentési elemzések lapon tekintse át az érintett Runtime mezőt.

    2. Annak ellenőrzése, hogy létezik-e már GitHub probléma. Ha már létezik GitHub probléma, megjelenik egy GitHub ikon a mezőben. Mutasson az ikonra a probléma részleteinek megtekintéséhez.

    3. Ha nincs probléma, és rendelkezik a szükséges engedélyekkel, létrehozhat egy új GitHub problémát. Válassza a Művelet végrehajtása lehetőséget.

    4. Válassza a GitHub hiba létrehozása lehetőséget az előugró ablakból.

    5. Ha a probléma sikeresen létrejött, megjelenik egy előugró értesítés a problémára mutató hivatkozással. A probléma a forráskódtárban jön létre.

      A GitHub könyvtár problémáinak listájának képernyőképe, amely bemutatja az olyan címkékkel ellátott függőségek nyitott problémáit, mint a Defender for Cloud és a biztonság.

    Megjegyzés:

    Ha a Generate GitHub hibalehetőség nem érhető el, előfordulhat, hogy a szükséges GitHub vagy adattárengedélyek hiányoznak. A hozzáférés kéréséhez forduljon a GitHub vagy az adattár rendszergazdájához.

    A Defender for Cloud és biztonsági címkékkel való nyílt függőséghez létrehozott GitHub-problémát bemutató képernyőkép

    1. Tulajdonos és állapotfrissítések nyomon követése – a GitHubban végrehajtott, a problémajegy állapotát vagy hozzárendelését érintő módosítások megjelennek a Microsoft Defender for Cloudban, így a Recommendations nézetben nyomon követheti a felelőst és az elhárítás előrehaladását.

      A Microsoft Defender for Cloud Javaslatok lap képernyőképe, amelyen a magas kockázatú problémák láthatók a GitHub probléma részleteinek felugró ablakában.

Ügynöki javítások készítése

A GitHub oldalán, ha Rendelkezik GitHub Copilot-licenccel, a GitHub kódolási ügynök segítségével megoldhatja a problémát:

  1. Rendeljen hozzá egy GitHub-kódolási ügynököt a problémához.
  2. Tekintse át a létrehozott javítást.
  3. Ha a javítás ésszerűnek tűnik, alkalmazza.
  4. Figyelje meg, hogy a Defender for Cloud bezárt állapotba frissíti a problémát.