Security Control v3: DevOps security
A DevOps Security magában foglalja a DevOps-folyamatok biztonsági tervezéséhez és műveleteihez kapcsolódó vezérlőket, beleértve a kritikus biztonsági ellenőrzések (például statikus alkalmazások biztonsági tesztelése, sebezhetőség-kezelés) üzembe helyezését az üzembe helyezési fázis előtt, hogy biztosítsa a biztonságot a DevOps-folyamat során; Olyan gyakori témaköröket is tartalmaz, mint a fenyegetésmodellezés és a szoftverellátás biztonsága.
DS-1: Fenyegetésmodellezés végrehajtása
CIS-vezérlők v8-azonosító(k) | NIST SP 800-53 r4 AZONOSÍTÓ(k) | PCI-DSS-azonosító(k) v3.2.1 |
---|---|---|
16.10, 16.14 | SA-15 | 6.5, 12.2 |
Biztonsági elv: Végezzen fenyegetésmodellezést a lehetséges fenyegetések azonosításához és az enyhítő vezérlők számbavételéhez. Győződjön meg arról, hogy a fenyegetésmodellezés a következő célokra szolgál:
- Biztonságossá teheti az alkalmazásokat és a szolgáltatásokat az éles üzemidő szakaszában.
- Biztonságossá teheti az összetevőket, az alapul szolgáló CI/CD-folyamatot és más eszközkörnyezetet, amelyek a buildeléshez, teszteléshez és üzembe helyezéshez használatosak.
A fenyegetésmodellezésnek legalább a következő szempontokat kell tartalmaznia:
- Határozza meg az alkalmazás biztonsági követelményeit. Győződjön meg arról, hogy a fenyegetések modellezése megfelelően kezeli ezeket a követelményeket.
- Elemezze az alkalmazás összetevőit, az adatkapcsolatokat és azok kapcsolatát. Győződjön meg arról, hogy ez az elemzés magában foglalja az alkalmazás hatókörén kívüli felső és alsóbb rétegbeli kapcsolatokat is.
- Sorolja fel azokat a potenciális fenyegetéseket és támadási vektorokat, amelyekkel az alkalmazás összetevői, az adatkapcsolatok, valamint a felső és alsóbb rétegbeli szolgáltatások is ki lehetnek téve.
- Azonosítsa azokat a vonatkozó biztonsági vezérlőket, amelyek a számba vett fenyegetések enyhítésére használhatók, és azonosítsa azokat a szabályozási hiányosságokat (például biztonsági réseket), amelyek további kezelési terveket igényelhetnek.
- Sorolja fel és tervezzen meg azokat a vezérlőket, amelyek képesek enyhíteni az azonosított biztonsági réseket.
Azure-útmutató: A fenyegetésmodellezési folyamat irányításához használjon fenyegetésmodellezési eszközöket, például a Microsoft fenyegetésmodellező eszközét beágyazott Azure-fenyegetésmodell-sablonnal. A STRIDE-modell használatával számba tudja adni a belső és a külső fenyegetéseket, és azonosíthatja az alkalmazható vezérlőket. Győződjön meg arról, hogy a fenyegetésmodellezési folyamat tartalmazza a DevOps-folyamat fenyegetési forgatókönyveit, például a nem biztonságos összetevők tárházán keresztüli rosszindulatú kódinjektálást helytelen hozzáférés-vezérlési szabályzattal.
Ha nem alkalmazható fenyegetésmodellezési eszköz használata, legalább egy kérdőívalapú fenyegetésmodellezési folyamatot kell használnia a fenyegetések azonosításához.
Győződjön meg arról, hogy a fenyegetésmodellezési vagy elemzési eredmények rögzítve vannak és frissülnek, ha jelentős biztonsági hatással járó változás történik az alkalmazásban vagy a fenyegetési környezetben.
Megvalósítás és további környezet:
- Fenyegetésmodellezés áttekintése
- Alkalmazásfenyegetés-elemzés (beleértve a STRIDE+ kérdőívalapú módszert)
- Azure-sablon – Microsoft Security Threat Model Stencil
Ügyfélbiztonsági érdekelt felek (További információ):
DS-2: A szoftverellátási lánc biztonságának biztosítása
CIS-vezérlők v8-azonosító(k) | NIST SP 800-53 r4 AZONOSÍTÓ(k) | PCI-DSS-azonosító(k) v3.2.1 |
---|---|---|
16.4, 16.6, 16.11 | SA-12, SA-15 | 6.3, 6.5 |
Biztonsági elv: Győződjön meg arról, hogy a vállalat SDLC-je (szoftverfejlesztési életciklusa) vagy folyamata biztonsági vezérlők készletével szabályozza azokat a belső és külső szoftverösszetevőket (beleértve a saját és a nyílt forráskódú szoftvereket is), amelyekben az alkalmazások függőségekkel rendelkeznek. A környezetbe integrált és üzembe helyezett sebezhető vagy rosszindulatú összetevők elkerülése érdekében definiáljon gating feltételeket.
A szoftverellátási lánc biztonsági vezérlőinek legalább a következő szempontokat kell tartalmazniuk:
- Azonosítsa a fejlesztési, buildelési, integrációs és üzembehelyezési fázisban szükséges felsőbb rétegbeli függőségeket.
- Leltározhatja és nyomon követheti a belső és külső szoftverösszetevőket az ismert biztonsági rések miatt, ha a felsőbb rétegben elérhető egy javítás.
- A szoftverösszetevők biztonsági réseinek és kártevőinek felmérése statikus és dinamikus alkalmazásteszteléssel ismeretlen biztonsági rések esetén.
- Győződjön meg arról, hogy a biztonsági rések és a kártevők a megfelelő megközelítéssel elháríthatók. Ez magában foglalhatja a forráskód helyi vagy felsőbb rétegbeli javítását, a funkciókizárást és/vagy a kompenzáló vezérlők alkalmazását, ha a közvetlen kockázatcsökkentés nem érhető el.
Ha az éles környezetben zárt forrású külső összetevőket használnak, előfordulhat, hogy korlátozott a biztonsági helyzetük. Érdemes megfontolnia a további vezérlőket, például a hozzáférés-vezérlést, a hálózatelkülönítést és a végpontbiztonságot, hogy minimalizálja a hatást, ha rosszindulatú tevékenység vagy biztonsági rés van társítva az összetevőhöz.
Azure-útmutató: A GitHub platform esetében a következő képességekkel vagy eszközökkel gondoskodjon a szoftverellátási lánc biztonságáról GitHub Advanced Security vagy a GitHub natív funkciójáról:
- A Dependency Graph használatával beolvassa, leltározza és azonosítja a projekt összes függőségét és kapcsolódó biztonsági réseit az Advisory Database-ben.
- A Dependabot használatával gondoskodhat arról, hogy a sebezhető függőség nyomon legyen követve és orvosolva legyen, és győződjön meg arról, hogy az adattár automatikusan lépést tart azoknak a csomagoknak és alkalmazásoknak a legújabb kiadásaival, amelyektől függ.
- Használja a GitHub natív kódolvasási képességét a forráskód vizsgálatához, amikor a kódot külső forrásból származtatja.
- Az Azure Defender for Cloud használatával integrálhatja a tárolórendszerkép sebezhetőségi felmérését a CI/CD munkafolyamatba.
Az Azure DevOps esetében külső bővítményekkel hasonló vezérlőket implementálhat a külső szoftverösszetevők és azok biztonsági réseinek leltározásához, elemzéséhez és javításához.
Megvalósítás és további környezet:
- GitHub Dependency Graph
- GitHub Dependabot
- Sebezhető tárolórendszerképek azonosítása a CI-/CD-munkafolyamatokban
- Azure DevOps Marketplace – ellátási lánc biztonsága
Ügyfélbiztonsági érdekelt felek (További információ):
DS-3: Biztonságos DevOps-infrastruktúra
CIS-vezérlők v8-azonosító(k) | NIST SP 800-53 r4 AZONOSÍTÓ(k) | PCI-DSS-azonosító(k) v3.2.1 |
---|---|---|
16.7 | CM-2, CM-6, AC-2, AC-3, AC-6 | 2.2, 6.3, 7.1 |
Biztonsági elv: Győződjön meg arról, hogy a DevOps-infrastruktúra és -folyamat a különböző környezetekben ajánlott biztonsági eljárásokat követi, beleértve a buildelési, tesztelési és éles fázisokat is. Ez általában a következő hatókörhöz tartozó biztonsági vezérlőket tartalmazza:
- Forráskódot, beépített csomagokat és rendszerképeket, projektösszetevőket és üzleti adatokat tároló összetevő-adattárak.
- CI/CD-folyamatokat üzemeltető kiszolgálók, szolgáltatások és eszközök.
- CI-/CD-folyamatkonfiguráció.
Azure-útmutató: Az Azure Security Benchmark DevOps-infrastruktúra biztonsági vezérlőire való alkalmazásának részeként rangsorolja a következő vezérlőket:
- Védje az összetevőket és a mögöttes környezetet, hogy a CI/CD-folyamatok ne váljanak rosszindulatú kód beszúrására szolgáló lehetőségekké. Tekintse át például a CI/CD-folyamatot, és azonosítsa az Azure DevOps alapvető területeinek helytelen konfigurációit, például a Szervezet, a Projektek, a Felhasználók, a Folyamatok (build & kiadás), a Kapcsolatok és a Build Agent összes helytelen konfigurációját, például a nyílt hozzáférést, a gyenge hitelesítést, a nem biztonságos kapcsolatbeállítást stb. A GitHub esetében használja a hasonló vezérlőket a Szervezeti jogosultsági szintek védelméhez
- Konfigurálja az identitás-/szerepkör-engedélyeket és jogosultsági szabályzatokat a folyamat Azure AD, natív szolgáltatásaiban és CI/CD-eszközeiben, hogy a folyamatok módosításai engedélyezve legyenek.
- Ne biztosítson állandó "állandó" emelt szintű hozzáférést az emberi fiókokhoz, például fejlesztőkhöz vagy tesztelőkhöz olyan funkciók használatával, mint az Azure által felügyelt azonosítók, az igény szerinti hozzáférés.
- Távolítsa el a kulcsokat, a hitelesítő adatokat és a titkos kulcsokat a CI/CD-munkafolyamat-feladatokban használt kódból és szkriptekből, és tartsa őket a kulcstárolóban vagy az Azure Key Vault.
- Ha saját üzemeltetésű build-/üzembehelyezési ügynököket futtat, kövesse az Azure Security Benchmark-vezérlőket, beleértve a hálózati biztonságot, a testtartást és a biztonsági rések kezelését, valamint a végpontbiztonságot a környezet védelméhez.
Megvalósítás és további környezet:
- DevSecOps-vezérlők áttekintése – biztonságos folyamatok
- A GitHub-szervezet védelme
- Azure DevOps-folyamat – A Microsoft által üzemeltetett ügynök biztonsági szempontjai
Ügyfélbiztonsági érdekelt felek (További információ):
- Alkalmazásbiztonság és DevSecOps
- Helyzetkezelés
- Infrastruktúra és végpontbiztonság
- Biztonsági architektúra
DS-4: Statikus alkalmazásbiztonsági tesztelés integrálása a DevOps-folyamatba
CIS-vezérlők v8-azonosító(k) | NIST SP 800-53 r4 AZONOSÍTÓ(k) | PCI-DSS-azonosító(k) v3.2.1 |
---|---|---|
16.12 | SA-11 | 6.3, 6.5 |
Biztonsági elv: Győződjön meg arról, hogy a statikus alkalmazások biztonsági tesztelése (SAST) a CI/CD-munkafolyamatban az üzembe helyezési vezérlők része. A gating a tesztelési eredmények alapján állítható be, hogy a sebezhető csomagok ne legyenek véglegesítve az adattárba, a csomagokba építkezhessenek, vagy üzembe helyezzék őket az éles környezetben.
Azure-útmutató: Integrálja a SAST-ot a folyamatba, hogy a forráskód automatikusan beolvasható legyen a CI/CD-munkafolyamatban. Az Azure DevOps Pipeline vagy a GitHub az alábbi eszközöket és külső SAST-eszközöket integrálhatja a munkafolyamatba.
- GitHub CodeQL forráskódelemzéshez.
- Microsoft BinSkim Binary Analyzer for Windows és *nix bináris elemzés.
- Az Azure DevOps Credential Scanner és a GitHub natív titkos kódjának vizsgálata a forráskódban található hitelesítő adatok vizsgálatához.
Megvalósítás és további környezet:
- GitHub CodeQL
- BinSkim Bináris elemző
- Azure DevOps hitelesítő adatok vizsgálata
- Titkos kódok szűrése a GitHubban
Ügyfélbiztonsági érdekelt felek (További információ):
DS-5: Dinamikus alkalmazásbiztonsági tesztelés integrálása a DevOps-folyamatba
CIS-vezérlők v8-azonosító(k) | NIST SP 800-53 r4 AZONOSÍTÓ(k) | PCI-DSS-azonosító(k) v3.2.1 |
---|---|---|
16.12 | SA-11 | 6.3, 6.5 |
Biztonsági elv: Győződjön meg arról, hogy a dinamikus alkalmazásbiztonsági tesztelés (DAST) része a CI/CD munkafolyamatban található gating vezérlőknek. A letiltás a tesztelési eredmények alapján állítható be, hogy a biztonsági rés ne legyen beépítve a csomagokba, vagy üzembe helyezhető az éles környezetben.
Azure-útmutató: Integrálja a DAST-ot a folyamatba, hogy a futtatókörnyezeti alkalmazás automatikusan tesztelhető legyen az Azure DevOpsban vagy a GitHubon beállított CI/CD-munkafolyamatban. Az automatizált behatolástesztnek (manuális, támogatott ellenőrzéssel) szintén a DAST részét kell képeznie.
Az Azure DevOps Pipeline vagy a GitHub támogatja a külső DAST-eszközök integrálását a CI/CD munkafolyamatba.
Megvalósítás és további környezet:
Ügyfélbiztonsági érdekelt felek (További információ):
DS-6: A számítási feladatok biztonságának kikényszerítése a DevOps teljes életciklusában
CIS-vezérlők v8-azonosító(k) | NIST SP 800-53 r4 AZONOSÍTÓ(k) | PCI-DSS-azonosító(k) v3.2.1 |
---|---|---|
7.5, 7.6, 7.7, 16.1, 16.7 | CM-2, CM-6, AC-2, AC-3, AC-6 | 6.1, 6.2, 6.3 |
Biztonsági elv: Győződjön meg arról, hogy a számítási feladat a fejlesztési, tesztelési és üzembehelyezési szakaszban a teljes életciklus során biztonságban van. Az Azure Security Benchmark használatával kiértékelheti azokat a vezérlőket (például a hálózati biztonságot, az identitáskezelést, a kiemelt hozzáféréseket stb.), amelyek alapértelmezés szerint védőkorlátként állíthatók be, vagy az üzembe helyezési fázis előtt balra válthatnak. Különösen győződjön meg arról, hogy a devOps-folyamatban a következő vezérlők vannak érvényben:
- Automatizálja az üzembe helyezést az Azure-beli vagy harmadik féltől származó eszközökkel a CI/CD munkafolyamatban, az infrastruktúra-kezelésben (az infrastruktúra kódként), valamint teszteléssel az emberi hibák és a támadási felület csökkentése érdekében.
- Győződjön meg arról, hogy a virtuális gépek, a tárolórendszerképek és más összetevők biztonságban vannak a rosszindulatú manipulációktól.
- Vizsgálja meg a számítási feladat összetevőit (más szóval tárolórendszerképeket, függőségeket, SAST- és DAST-vizsgálatokat) a CI/CD-munkafolyamatban való üzembe helyezés előtt
- Telepítse a sebezhetőségi felmérési és fenyegetésészlelési képességet az éles környezetben, és folyamatosan használja ezeket a képességeket futásidőben.
Azure-útmutató: Útmutató Azure-beli virtuális gépekhez:
- Az Azure Shared Image Gallery használatával megoszthatja és szabályozhatja a rendszerképekhez való hozzáférést a szervezeten belüli különböző felhasználók, szolgáltatásnevek vagy AD-csoportok számára. Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) használatával biztosíthatja, hogy csak a jogosult felhasználók férhessenek hozzá az egyéni rendszerképekhez.
- Határozza meg a virtuális gépek biztonságos konfigurációs alapkonfigurációit a szükségtelen hitelesítő adatok, engedélyek és csomagok kiküszöbölése érdekében. Egyéni rendszerképek, Azure Resource Manager-sablon és/vagy Azure Policy vendégkonfiguráció segítségével üzembe helyezheti és kényszerítheti ezeket a konfigurációs alapkonfigurációt.
Útmutató az Azure-tárolószolgáltatásokhoz:
- A Azure Container Registry (ACR) használatával hozza létre a privát tárolóregisztrációs adatbázist, ahol részletes hozzáférés korlátozható az Azure RBAC-n keresztül, így csak az engedélyezett szolgáltatások és fiókok férhetnek hozzá a privát beállításjegyzékben található tárolókhoz.
- A Privát Azure Container Registry rendszerképeinek sebezhetőségi felméréséhez használja a Defendert a Azure Container Registry. Emellett az Azure Defender for Cloud használatával betöltheti a tárolórendszerképek vizsgálatát a CI/CD-munkafolyamatok részeként.
A kiszolgáló nélküli Azure-szolgáltatások esetében alkalmazza a hasonló vezérlőket, hogy a biztonsági vezérlők az üzembe helyezés előtt a fázisba kerülhessenek.
Megvalósítás és további környezet:
- Shared Image Gallery áttekintése
- Az Azure Defender for Cloud biztonságirés-felmérési ajánlásainak implementálása
- Az Azure Container biztonsági szempontjai
- Tárolóregisztrációs adatbázisokhoz készült Azure Defender
Ügyfélbiztonsági érdekelt felek (További információ):
DS-7: Naplózás és figyelés engedélyezése a DevOpsban
CIS-vezérlők v8-azonosító(k) | NIST SP 800-53 r4 AZONOSÍTÓ(k) | PCI-DSS-azonosító(k) v3.2.1 |
---|---|---|
8.2, 8.5, 8.9, 8.11 | AU-3, AU-6, AU-12, SI-4 | 10.1, 10.2, 10.3, 10.6 |
Biztonsági elv: Győződjön meg arról, hogy a naplózási és monitorozási hatókör tartalmazza a DevOpsban (és bármely más fejlesztési folyamatban) használt nem éles környezeteket és CI/CD-munkafolyamat-elemeket. Az ezeket a környezeteket célzó biztonsági rések és fenyegetések jelentős kockázatokat jelenthetnek az éles környezetben, ha nem figyelik őket megfelelően. A CI/CD buildelési, tesztelési és üzembehelyezési munkafolyamat eseményeit is figyelni kell a CI/CD munkafolyamat-feladatok eltéréseinek azonosítása érdekében.
Azure-útmutató: Az auditnaplózási képességek engedélyezése és konfigurálása nem éles környezetben és CI/CD-eszközkörnyezetekben (például az Azure DevOpsban és a GitHubon) a DevOps-folyamat során.
Az Azure DevOps és a GitHub CI/CD buildelési, tesztelési és üzembehelyezési feladatokkal kapcsolatos eseményeit is figyelni kell a CI/CD-feladatok kivételes eredményeinek azonosítása érdekében.
A fenti naplók és események betöltése az Azure Sentinelbe vagy más SIEM-eszközökbe naplózási adatfolyamon vagy API-n keresztül annak biztosítása érdekében, hogy a biztonsági incidensek megfelelően legyenek monitorozva és kezelve legyenek.
Kövesse az Azure Security Benchmark – Naplózás és fenyegetésészlelés útmutatót a számítási feladatok naplózási és monitorozási vezérlőinek implementálásához.
Megvalósítás és további környezet:
Ügyfélbiztonsági érdekelt felek (További információ):