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:

Ü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:

Ü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:

Ügyfélbiztonsági érdekelt felek (További információ):

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:

Ü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:

Ü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ó):