Ügynök nélküli kódkeresés a Felhőhöz készült Microsoft Defender
A Felhőhöz készült Microsoft Defender ügynök nélküli kódvizsgálata gyors és méretezhető biztonsági lefedettséget biztosít az Azure DevOps összes adattárához. Gyorsan megtalálja a kód- és infrastruktúra-alapú (IaC)-beállítások biztonsági réseit ügynökök vagy folyamatos integráció és folyamatos üzembe helyezés (CI/CD) folyamatmódosítások nélkül. Ez a megközelítés leegyszerűsíti a beállítást és a karbantartást egyetlen Azure DevOps-összekötővel, és széles körű lefedettséget, folyamatos elemzéseket és végrehajtható biztonsági megállapításokat biztosít. Lehetővé teszi, hogy a biztonsági és fejlesztési csapatok a fejlesztési munkafolyamatok megszakítása nélkül a kockázatok zökkenőmentes megoldására összpontosítsanak.
Előfeltételek
Kiadási állapot: Nyilvános előzetes verzió
Támogatott használati esetek:
Felhők: Azure-beli kereskedelmi felhők
Támogatott régiók: Kelet-Ausztrália, Közép-Kanada, USA középső régiója, Kelet-Ázsia, USA keleti régiója, Észak-Európa, Közép-Svédország, Egyesült Királyság déli régiója, Nyugat-Európa
Támogatott környezetek: Azure DevOps-összekötő
Szerepkörök és engedélyek:
Az összekötő beállítása és konfigurálása:
- Projektgyűjtemény-rendszergazda: Az Azure DevOpsban szükséges a kezdeti beállítás elvégzéséhez.
- Előfizetés-közreműködő: Az Azure-előfizetésben szükséges az összekötő létrehozásához és konfigurálásához.
Biztonsági eredmények megtekintése:
- Biztonsági rendszergazda: Kezelheti a biztonsági beállításokat, szabályzatokat és riasztásokat, de nem tudja módosítani az összekötőt.
- Biztonsági olvasó: Megtekintheti a javaslatokat, riasztásokat és szabályzatokat, de nem végezhet módosításokat.
Fő előnyök
- Proaktív kockázatkezelés: A kockázatok azonosítása a fejlesztési folyamat korai szakaszában. Ez támogatja a biztonságos kódolási eljárásokat, és csökkenti a biztonsági réseket, mielőtt éles környezetbe jutnának.
- Egyszerű előkészítés: Gyors beállítás minimális konfigurációval és folyamatmódosítások nélkül.
- Nagyvállalati szintű, központosított felügyelet: Kód automatikus vizsgálata több adattárban egyetlen összekötő használatával. Ez széles körű lefedettséget biztosít a nagy környezetek számára.
- Gyors elemzések a gyors szervizeléshez: Közvetlenül az előkészítés után kaphat végrehajtható biztonságirés-megállapításokat. Ez gyors javításokat tesz lehetővé, és csökkenti az expozíciós időt.
- Fejlesztőbarát és zökkenőmentes: A folyamatos integrációs és folyamatos üzembe helyezési (CI/CD) folyamatoktól függetlenül működjön, és ne legyen szükség módosításokra vagy közvetlen fejlesztői közreműködésre. Ez lehetővé teszi a folyamatos biztonsági monitorozást anélkül, hogy megzavarná a fejlesztői hatékonyságot vagy a munkafolyamatokat.
Kockázatészlelési képességek
Az ügynök nélküli kódvizsgálat javítja a biztonságot azáltal, hogy célzott biztonsági javaslatokat kínál a kód- és az IaC-sablonokhoz is. Ez az összekötőn keresztül nyújtott alapvető felhőbeli biztonsági helyzetkezelési (CSPM) biztonsági javaslatokon kívül van. A kulcsészlelési képességek a következők:
- Kód biztonsági rései: Gyakori kódolási hibák, nem biztonságos kódolási eljárások és ismert biztonsági rések keresése több programozási nyelven.
- Infrastruktúrakódként való helytelen konfigurációk: A biztonsági konfigurációk észlelése IaC-sablonokban, amelyek nem biztonságos üzembe helyezéshez vezethetnek.
Az összekötő létrehozása növeli a biztonságot azáltal, hogy alapvető biztonsági javaslatokat nyújt az adattárakhoz, folyamatokhoz és szolgáltatáskapcsolatokhoz.
Ellenőrző eszközök
Az ügynök nélküli kódvizsgálat különböző nyílt forráskódú eszközöket használ a kód- és infrastrukturális (IaC) sablonok biztonsági réseinek és helytelen konfigurációinak megkereséséhez:
Eszköz | Támogatott IaC/Nyelvek | Licenc |
---|---|---|
Bandita | Python | Apache 2.0 |
Checkov | Terraform IaC-sablonok, Terraform-tervfájlok, AWS CloudFormation-sablonok, Kubernetes-jegyzékfájlok, Helm-diagramfájlok, Dockerfile-fájlok, Azure Azure Resource Manager (ARM) IaC-sablonok, Azure Bicep IaC-sablonok, AWS SAM-sablonok (kiszolgáló nélküli alkalmazásmodell), Kustomize-fájlok, Kiszolgáló nélküli keretrendszersablonok, OpenAPI-specifikációfájlok | Apache 2.0 |
ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
Sablonelemző | ARM IaC-sablonok, Bicep IaC-sablonok | MIT |
Ezek az eszközök számos nyelvet és IaC-keretrendszert támogatnak, így teljes körű biztonsági elemzést biztosítanak a kódbázisban.
Támogatott platformok és fájltípusok
Verziókövetési rendszerek
- Azure DevOps: Az Azure DevOps-összekötőn keresztül csatlakoztatott adattárak teljes körű támogatása.
Programozási nyelvek
- Python
- JavaScript/TypeScript
Infrastruktúra kódként (IaC) platformok és konfigurációk
IaC-platform | Támogatott fájltípusok | Jegyzetek |
---|---|---|
Terraform |
.tf , .tfvars |
Támogatja a Terraform IaC-sablonokat HCL2 nyelven, beleértve a változó fájlokat is..tfvars |
Terraform-terv | JSON-fájlok | Tartalmazza az elemzéshez és vizsgálathoz használt tervezett konfigurációkat képviselő JSON-fájlokat. |
AWS CloudFormation | JSON- és YAML-fájlok | Támogatja az AWS CloudFormation-sablonokat az AWS-erőforrások meghatározásához. |
Kubernetes | YAML, JSON-fájlok | Támogatja a Kubernetes-jegyzékfájlokat a fürtök konfigurációinak meghatározásához. |
Helm | Helm-diagram könyvtárszerkezete, YAML-fájlok | A Helm szabványos diagramstruktúráját követi; Támogatja a Helm v3-diagramfájlokat. |
Docker | Dockerfile nevű fájlok | Támogatja a Docker-fájlokat a tárolókonfigurációkhoz. |
Azure ARM-sablonok | JSON-fájlok | Támogatja az Azure Resource Manager (ARM) IaC-sablonokat JSON formátumban. |
Azure Bicep | .bicep-fájlok | Támogatja a Bicep IaC-sablonokat, amely egy tartományspecifikus nyelv (DSL) az ARM-hez. |
AWS SAM | YAML-fájlok | Támogatja a kiszolgáló nélküli erőforrásokhoz készült AWS kiszolgáló nélküli alkalmazásmodell-(SAM-) sablonokat. |
Kustomize | YAML-fájlok | Támogatja a Konfigurációs fájlokat a Kubernetes testreszabásához (Kustomize). |
Kiszolgáló nélküli keretrendszer | YAML-fájlok | Támogatja a kiszolgáló nélküli keretrendszer sablonjait a kiszolgáló nélküli architektúrák definiálása során. |
OpenAPI | YAML, JSON-fájlok | Támogatja az OpenAPI specifikációs fájljait a RESTful API-k definiálása érdekében. |
Ügynök nélküli kódvizsgálat engedélyezése az Azure DevOps-szervezeteken
Az Azure DevOps-szervezetek Felhőhöz készült Defender és az ügynök nélküli kódkeresés engedélyezéséhez az Azure DevOps-szervezetek csatlakoztatása című témakörben található utasításokban talál útmutatást. Az alábbi vizualizáció a gyors, egyszerű beállítási folyamatot mutatja be, amely végigvezeti az egyes lépéseken a zökkenőmentes előkészítés érdekében.
Az ügynök nélküli kódvizsgálat működése
Az ügynök nélküli kódkeresés a CI-/CD-folyamatoktól függetlenül működik. Az Azure DevOps-összekötő használatával automatikusan ellenőrzi a kód- és az IaC-konfigurációkat. Nem kell módosítania a folyamatokat, és nem kell bővítményeket hozzáadnia. Ez a beállítás széles körű és folyamatos biztonsági elemzést tesz lehetővé több adattárban. Az eredmények feldolgozása és megjelenítése közvetlenül a Felhőhöz készült Microsoft Defender.
Vizsgálati folyamat
Miután engedélyezte az ügynök nélküli kódkeresési funkciót egy összekötőn belül, a vizsgálati folyamat az alábbi lépéseket követi:
- Adattárfelderítés: A rendszer automatikusan azonosítja az Azure DevOps-összekötőn keresztül összekapcsolt összes adattárat közvetlenül az összekötő létrehozása után, majd 8 óránként.
- Kódlekérés: Biztonságosan lekéri a legújabb kódot az egyes adattárak alapértelmezett (fő) ágából elemzés céljából, először az összekötő beállítása után, majd 3-4 naponta.
- Elemzés: A rendszer a Felhőhöz készült Microsoft Defender belül felügyelt és frissített beépített ellenőrző eszközök készletét használja a kód- és IaC-sablonok biztonsági réseinek és helytelen konfigurációinak megkereséséhez.
- Megállapítások feldolgozása: A vizsgálati eredményeket Felhőhöz készült Defender háttérrendszerén keresztül dolgozza fel, hogy végrehajtható biztonsági javaslatokat hozzon létre.
- Eredmények kézbesítése: A rendszer biztonsági javaslatként jeleníti meg az eredményeket a Felhőhöz készült Defender, lehetővé téve a biztonsági csapatok számára a problémák áttekintését és kezelését.
Vizsgálat gyakorisága és időtartama
-
Vizsgálat gyakorisága:
- Az adattárak, folyamatok és szolgáltatáskapcsolatok biztonsági helyzetének felmérése az összekötő létrehozásakor, majd 8 óránként történik.
- A rendszer az összekötő létrehozása után, majd 3–4 naponta ellenőrzi a kód- és az infrastruktúra-mint kód (IaC) sablonokat a biztonsági rések után.
- Vizsgálat időtartama: A vizsgálatok általában 15–60 percen belül fejeződnek be az adattár méretétől és összetettségétől függően.
Vizsgálati eredmények megtekintése és kezelése
A vizsgálat befejezése után hozzáférhet a biztonsági megállapításokhoz a Felhőhöz készült Microsoft Defender.
Hozzáférési megállapítások
Lépjen a biztonsági javaslatok lapra a Felhőhöz készült Microsoft Defender.
Tekintse át a javaslatok listáját, amely a következő megállapításokat tartalmazza:
Az Azure DevOps-adattárakban feloldva kell lennie a kódkeresési eredményeknek – A kódtárakban található biztonsági réseket jelzi.
Az Azure DevOps-adattáraknak rendelkezniük kell infrastruktúrával a kódkeresési eredmények feloldása során – Az adattárakban lévő IaC-sablonfájlokban észlelt biztonsági téves konfigurációkra mutat.
Az Azure DevOps-összekötő által létrehozott egyéb biztonsági javaslatok a következők lehetnek:
- Az Azure DevOps-adattárakban engedélyezni kell a GitHub Advanced Security for Azure DevOps (GHAzDO) használatát
- Az Azure Pipelinesnak nem szabad titkos kulcsokkal rendelkeznie az elágazások létrehozásához
- Az Azure DevOps szolgáltatáskapcsolatainak nem szabad hozzáférést biztosítaniuk az összes folyamathoz
- A titkos változókkal rendelkező Azure DevOps-változócsoportok nem adhatnak hozzáférést az összes folyamathoz
- Az Azure DevOps klasszikus Azure-szolgáltatáskapcsolatai nem használhatók előfizetések eléréséhez
- (Előzetes verzió) Az Azure DevOps-adattáraknak legalább két felülvizsgáló jóváhagyását kell megkövetelniük a kódleküldésekhez
- (Előzetes verzió) Az Azure DevOps-adattárak nem engedélyezhetik a kérelmezők számára a saját lekéréses kérelmek jóváhagyását
- (Előzetes verzió) Az Azure DevOps-projekteknek le kell tiltani a klasszikus folyamatok létrehozását
- Az Azure DevOps biztonságos fájljai nem adhatnak hozzáférést az összes folyamathoz
Válassza ki a részletes információkra vonatkozó javaslatokat, beleértve az érintett fájlokat, a súlyossági szinteket és a szervizelési útmutatást.
Különbség az ügynök nélküli kódolvasás és a folyamaton belüli vizsgálat között
Az ügynök nélküli kódvizsgálat és a folyamaton belüli vizsgálat a Microsoft Security DevOps bővítmény használatával egyaránt biztosít biztonsági vizsgálatot az Azure DevOpson belül. Különböző igényeket szolgálnak ki, de jól együttműködnek. Az alábbi táblázat a főbb különbségeket emeli ki, amelyek segítenek kiválasztani a biztonsági és fejlesztési igényeknek megfelelő lehetőséget.
Szempont | Ügynök nélküli kódvizsgálat | Folyamaton belüli vizsgálat |
---|---|---|
A kis- és nagybetűk elférnek | Széles körű lefedettséget biztosít a fejlesztők számára minimális fennakadásokkal | Részletes, folyamatba integrált vizsgálatokat biztosít testre szabható vezérlőkkel |
Vizsgálat hatóköre és lefedettsége | A kódkénti infrastruktúra (IaC) és a kód sebezhetőségi vizsgálatával foglalkozik, 3–4 naponta ütemezve | Széles körű lefedettséget biztosít, beleértve a bináris fájlokat és a tárolólemezképeket, az egyes folyamatok futtatásakor aktiválva |
Beállítás és konfiguráció | Az összekötő létrehozása után nincs szükség további beállításra | Manuális telepítést és konfigurálást igényel az egyes CI/CD-folyamatokban |
Folyamatintegráció | Munkafolyamatok módosítása nélkül fut a (CI/CD) folyamatoktól függetlenül | Integrálható a CI/CD-folyamaton belül, és konfigurálást igényel az egyes folyamatokban |
Képolvasó testreszabása | A képolvasók nem szabhatók testre vagy nem futtathatók szelektíven | Lehetővé teszi a testreszabást adott szkennerekkel, kategóriákkal, nyelvekkel, bizalmassági szintekkel és nem Microsoft-eszközökkel |
Eredmények és visszajelzés | Hozzáférést biztosít a megállapításokhoz a Felhőhöz készült Defender | Közel valós idejű visszajelzést kínál a CI/CD-folyamaton belül, és az eredmények Felhőhöz készült Defender |
Törési és meghiúsulási feltételek | Nem lehet megszakítani a buildeket | Konfigurálható úgy, hogy a biztonsági megállapítások súlyossága alapján megszakítsa a buildeket |
Méretezhetőség és teljesítményre gyakorolt hatás
Az ügynök nélküli kódvizsgálat elkerüli az erőforrások létrehozását az előfizetésben, és nem igényel vizsgálatot a folyamat során. Az Azure DevOps REST API használatával lekéri a metaadatokat és a kódot. Ez azt jelenti, hogy az API-hívások száma eléri az Azure DevOps sebességkorlátjait, de nem merülnek fel közvetlen adatátviteli költségek. A szolgáltatás úgy kezeli a vizsgálatokat, hogy azok a fejlesztési környezet megszakítása nélkül maradjanak az Azure DevOps sebességkorlátjai között. Ez a módszer hatékony, nagy teljesítményű vizsgálatot biztosít az adattárakban anélkül, hogy befolyásolná a DevOps-munkafolyamatokat. További információ: Azure DevOps Rate and Usage Limits.
Adatbiztonság, megfelelőség és hozzáférés-vezérlés ügynök nélküli kódvizsgálathoz
Felhőhöz készült Microsoft Defender ügynök nélküli kódkeresési szolgáltatása szigorú adatbiztonsági és adatvédelmi intézkedések végrehajtásával biztosítja a kód biztonságos és megfelelő kezelését:
- Adattitkosítás és hozzáférés-vezérlés: A rendszer iparági szabványoknak megfelelő protokollokkal titkosítja az összes átvitel alatt lévő adatot. Csak a jogosult Felhőhöz készült Defender szolgáltatások férhetnek hozzá a kódhoz.
- Adattárolás és -megőrzés: A vizsgálatok ugyanabban a földrajzi helyen történnek, mint az Azure DevOps-összekötő (USA vagy EU) az adatvédelmi jogszabályoknak való megfelelés érdekében. A rendszer csak a vizsgálat során dolgozza fel a kódot, majd biztonságosan törli azt, hosszú távú tárolás nélkül.
- Hozzáférés az adattárakhoz: A szolgáltatás biztonságos hozzáférési jogkivonatot hoz létre az Azure DevOps számára a vizsgálatok elvégzéséhez. Ez a jogkivonat lehetővé teszi a szükséges metaadatok és kódok lekérését anélkül, hogy erőforrásokat hoz létre az előfizetésben. Csak Felhőhöz készült Defender összetevők rendelkeznek hozzáféréssel az adatintegritás védelme érdekében.
- Megfelelőség támogatása: A szolgáltatás megfelel az adatkezelésre és adatvédelemre vonatkozó szabályozási és biztonsági szabványoknak, biztosítva az ügyfélkód biztonságos feldolgozását és vizsgálatát a regionális adatvédelmi követelményeknek megfelelően.
Ezek a mértékek biztonságos, megfelelő és hatékony kódolvasási folyamatot biztosítanak, fenntartva az adatok adatvédettségét és integritását.
Korlátozások (nyilvános előzetes verzió)
A nyilvános előzetes verziós fázisban a következő korlátozások érvényesek:
Nincs bináris vizsgálat: A rendszer csak kódot és IaC-fájlokat vizsgál.
Vizsgálat gyakorisága: 3 naponta ellenőrzi az adattárakat.
Tárház mérete: Az 1 GB-nál nem nagyobb tárházakra korlátozza a vizsgálatokat.
Áglefedettség: A vizsgálatok csak az alapértelmezett (fő) ágat fedik le.
Eszköz testreszabása: A vizsgálati eszközök nem szabhatók testre.