Megosztás:


A DevOps platformkörnyezet védelme Teljes felügyelet

Ez a cikk a DevOps-csapat tagjaként segít implementálni a minimális jogosultság Teljes felügyelet elvét, és biztonságossá tenni a DevOps platformkörnyezetet. A Biztonságos vállalati DevOps-környezetek eBook tartalmai, valamint a titkos kódok és tanúsítványok kezelésének ajánlott eljárásait emeli ki.

A modern vállalatok a DevOps-platformokra támaszkodnak az üzembe helyezéshez, beleértve azokat a folyamatokat és éles környezeteket, amelyeket a fejlesztőknek produktívnak kell lenniük. A múltban az alkalmazásbiztonsági módszerek nem tekintettek arra a megnövekedett támadási felületre, amelyet a mai folyamatok és éles környezetek elérhetővé tehetnek. Ahogy a hackerek balra tolódnak, és a felsőbb rétegbeli eszközöket célba juttatják, innovatív megközelítésekre van szükség a DevOps platformkörnyezetek védelméhez.

Az alábbi ábrán láthatja, hogy a DevOps platformkörnyezet az alkalmazáskörnyezethez, valamint a folyamatos integrációhoz és a folyamatos kézbesítési (CI/CD) folyamatbővítményekhez csatlakozik.

Az ábra a DevOps platformkörnyezeteit és biztonsági fenyegetéseit mutatja be a fent hivatkozott eBookban leírtak szerint, és az itt hivatkozott kapcsolódó cikkekben összefoglalva.

A CI/CD-folyamatbővítmények lehetőséget ad a támadóknak arra, hogy jogosultság-eszkalációkat folytassanak az alkalmazáskörnyezetből. A bővítmények és integrációk növelik a támadási felület sebezhetőségét. Kritikus fontosságú a kártevők behatolását fenyegető fenyegetések elleni védelem.

Hogyan és miért céloznak meg a támadók folyamatokat?

A folyamatok és az éles környezetek függetlenek lehetnek a szabványos alkalmazásbiztonsági eljárásoktól és folyamatoktól. Általában magas szintű hozzáférési hitelesítő adatokra van szükségük, amelyek mély és értelmes hozzáférést biztosítanak a támadók számára.

Míg a támadók új módszereket találnak a rendszerek feltörésére, a folyamatok leggyakoribb támadási vektorai a következők:

  • Futásidejű változók és argumentuminjektálás kinyerése.
  • Olyan szkriptek, amelyek lekérik a szolgáltatás alapelveit vagy hitelesítő adatait a folyamatokból.
  • Helytelenül konfigurált személyes hozzáférési jogkivonatok, amelyek lehetővé teszik, hogy bárki hozzáférhessen a DevOps platformkörnyezethez, akinek kulcsával rendelkezik.
  • A kódhoz hozzáférést igénylő integrált eszközök biztonsági rései és helytelen konfigurációi (gyakran írásvédett, de néha írási hozzáférés). Az integrált eszközök közé tartozhatnak a tesztelési keretrendszerek, a statikus alkalmazások biztonsági tesztelése (SAST) és a dinamikus alkalmazásbiztonsági tesztelés (DAST).

Ajánlott eljárások titkos kulcsok és tanúsítványok kezeléséhez

A katasztrofális incidensek elkerülése olyan egyszerű lehet, mint a hatékony titkos kódok kezelése. Az alábbi ábra a hatékony titkos kód, a jelszó, a hozzáférési jogkivonat és a tanúsítványkezelés példáját mutatja be.

Az ábra a titkos kódok és a tanúsítványkezelést szemlélteti.

A fenti ábrán látható módon a fejlesztő elindít egy buildet egy ügyfélkéréshez. A GitHub ezután elindít egy futót egy tárolóalkalmazási szerepkör szerepkörazonosítójával és titkos azonosítójával. A megbízható entitás rendszeresen kér egy új titkos azonosítót a tárolóból, és lekéri a GitHub titkos kulcsazonosítóját a GitHubról. A tároló a GitHub Titkos kulcsok szerepkör-azonosítóját és titkos azonosítóját használja a bejelentkezéshez és a kódaláíró eszközök lekéréséhez. A Runner testre szabja és kódjelekkel aláírja a mobilalkalmazást.

Az alábbi ajánlott eljárások segítenek olyan biztonságos beállítás kialakításában, amely minimalizálja a titkos kódok és paraméterek expozícióját.

  • Biztosítson biztonságos tárterületet a titkos kódokhoz és a tanúsítványokhoz az alkalmazás életciklusának minden szakaszában. Mindig úgy dolgozzon, mintha nyílt forráskódú projekt lenne. Győződjön meg arról, hogy a csapatok nem a kódban vagy a csapatkörnyezetekben, hanem kulcstartókban tárolnak titkos kulcsokat. A titkos kódok biztonságos tárolásához és eléréséhez használja az Azure Key Vault felhőszolgáltatást.
  • Konfigurálja az Azure-t, hogy összevont identitásként megbízható legyen a GitHub OIDC-je. Az OpenID Connect (OIDC) lehetővé teszi, hogy a GitHub Actions-munkafolyamatok anélkül férhessenek hozzá az Azure-beli erőforrásokhoz, hogy hosszú élettartamú GitHub-titkos kulcsként kellene tárolniuk az Azure hitelesítő adatait.

További ajánlott eljárások a DevOps-környezet biztonságához

A biztonsági incidensek elleni védelem érdekében tekintse át az alábbi ajánlott eljárásokat a DevOps-platformkörnyezetek megszilárdításához. A javaslatok részletes ismertetését a Securing Enterprise DevOps Environments eBookban találja.

  • Minden DevOps-platformkörnyezetet auditnaplókkal kell ellátnia. Tekintse át az auditnaplókat, hogy nyomon követhesse , hogy ki és milyen hozzáféréssel rendelkezik, milyen változás történt, és hogy mikor és mikor történt aktív rendszer. Konkrétan olyan DevOps-platformokat tartalmaz, amelyek ci/CD-folyamatokat használnak, amelyek éles környezetbe kerülnek. A DevOps-eszközök naplózási naplói hatékony módszereket biztosítanak a fenyegetések gyorsabb elhárítására, a gyanús tevékenységek felderítésére és riasztására a lehetséges incidensek vagy biztonsági rések esetén, valamint a potenciális adatokkal vagy jogosultságokkal való visszaélés felderítésére. Győződjön meg arról, hogy a részletes ellenőrzési és naplózási útvonalak minden környezetben elérhetők.
  • A szoftverellátási lánc védelme. A kódbázisba behozott összes kódtárral kibővítheti a szoftverellátási láncot, és függőségeket örökölhet minden nyílt forráskódú projekttől vagy eszköztől. Óvatosan távolítsa el a szükségtelen kódtárakat és nyílt forráskódú összetevőket a szoftverellátási lánc támadási felületének csökkentése érdekében.
  • IaC-sablonvizsgálatok automatizálása. Az IaC-környezetekkel egyszerűen megkeresheti a helytelen konfigurációkat, a megfelelőségi auditokat és a szabályzatokkal kapcsolatos problémákat. A megfelelőségi ellenőrzések és hozzáférés-vezérlések végrehajtása a teljes infrastruktúra biztonsági helyzetét növeli. Ellenőrizze az automatizálási rendszer követelményeinek megfelelő eszközintegrációk biztonságát.
  • Jóváhagyási folyamatok automatizálása. Ahhoz, hogy a jóváhagyási munkafolyamat kódokat küldjön az éles környezetbe, bizonyos automatikus vagy manuális ellenőrzéseknek meg kell erősítenie az egyes kérések biztonságát, üzleti értékét, állapotát és minőségét. Ezek az ellenőrzések kapuként működnek a fejlesztés és az éles környezet között, hogy megakadályozzák a szolgáltatásmegtagadási támadásokat, és a támadók a riasztás megjelölése és aktiválása nélkül injektálják a kódot az éles környezetekbe.
  • Csak ellenőrzött DevOps-eszközintegrációk engedélyezése. A fejlesztői környezetekhez hasonlóan a DevOps-eszközök bővítményekkel és integrációkkal is járnak, hogy a DevOps-csapat hatékony és biztonságos legyen. Győződjön meg arról, hogy az ellenőrzött integrációkhoz a lehető legkevesebb jogosultság szükséges a munkájuk végrehajtásához. A lehető legkisebb jogosultsági hozzáférés megvalósítása és az olvasási/írási engedélyek megfelelő szintjének biztosítása. Megtudhatja, hogyan tilthatja le vagy korlátozhatja a GitHub Actionst a szervezet számára.

Következő lépések

  • A fejlesztői környezet biztonságossá tételével Teljes felügyelet alapelveket valósíthat meg a fejlesztési környezetekben a minimális jogosultsági, ágbiztonsági és megbízhatósági eszközök, bővítmények és integrációk ajánlott eljárásaival.
  • A biztonsági Teljes felügyelet beágyazása a fejlesztői munkafolyamatba segít a gyors és biztonságos innovációban.
  • A Biztonságos DevOps-környezetek Teljes felügyelet a DevOps-környezetek biztonságossá tételének ajánlott eljárásait ismerteti Teljes felügyelet megközelítéssel, amely megakadályozza, hogy a hackerek veszélyeztetjék a fejlesztői dobozokat, megfertőzzék a kiadási folyamatokat rosszindulatú szkriptekkel, és hogy tesztkörnyezeteken keresztül hozzáférjenek az éles adatokhoz.
  • Implementálja Teljes felügyelet elveket a 22–09-ben (az EGYESÜLT Államok 14028-as végrehajtási rendeletének támogatásával, a nemzet kiberbiztonsági biztonságának javítása) a Microsoft Entra ID központi identitáskezelési rendszerként való használatával.
  • Az Azure DevOps segítségével felgyorsíthatja és biztonságossá teheti a kódot olyan eszközökkel, amelyekkel a fejlesztők a leggyorsabb és legbiztonságosabb kódot hozhatják a felhőbe.