A Zero Trust biztonsági modell beágyazása a fejlesztői munkafolyamatba

Fejlesztőként magabiztosnak és biztonságosnak kell éreznie magát a gyors mozgáshoz. A kód klónozása után azonnal megkezdődik a biztonság szükségessége. Ebből a cikkből megtudhatja, hogyan fejleszthet a zéró megbízhatósági alapelvek használatával , hogy gyorsan és biztonságosan újíthassa fel őket. Az alkalmazások tervezésének és megvalósításának nulla megbízhatósági biztonsági stratégiája és megközelítése az alábbi alapelveket foglalja magában:

  • Ellenőrizze explicit módon. Mindig hitelesítse és engedélyezze az összes rendelkezésre álló adatpont alapján.
  • Használjon minimális jogosultsági hozzáférést. Korlátozza a felhasználói hozzáférést a Just-In-Time és a Just-Enough-Access (JIT/JEA), a kockázatalapú adaptív szabályzatokkal és az adatvédelemmel.
  • Feltételezzük, hogy megszegi a szabályt. Minimalizálja a hatókör kiterjedését és korlátozza a hozzáférési szegmenseket. Ellenőrizze a teljes körű titkosítást, és használja az elemzést a láthatóság eléréséhez, a fenyegetésészleléshez és a védelem javításához.

A biztonság munkafolyamatba való beágyazása segít a következőkben:

  • Gyorsabban rögzítheti a biztonsági réseket.
  • Biztonságosabb fejlesztői eszközök biztosítása.
  • Kapcsolatok létrehozása a biztonsági és fejlesztési csapatok közötti együttműködés javítása érdekében.

Innováció és a munkafolyamat biztonságossá tétele kód létrehozásakor

A Microsoft egyesített megoldása, amely az alábbi ábrán látható, hidakat képez a DevOps és a SecOps-csapatok között a kódfelhő-fejlesztés felgyorsításához és biztonságossá tételéhez.

Az ábra az egyesített kód–felhő fejlesztési megoldást alkotó technológiákat mutatja be.

A DevOps védelmére szolgáló megoldásunk két fő összetevőre támaszkodik: a fejlesztők számára eszközök nyújtása az innováció elősegítéséhez és a fejlesztői munkafolyamat biztosítása, miközben a fejlesztők kódokat hoznak létre. A Microsoft Build 2022-ből megismerheti a kód felhőbeli fejlesztési munkamenetbe való gyorsítását és biztonságossá tételét, amelyből megtudhatja, hogy ezek az összetevők hogyan tudják biztonságossá tenni a fejlesztési környezetet.

Implementálja az alábbi ajánlott eljárásokat, amelyek együttműködnek az Azure-ban és a GitHubon a fejlesztési megoldás biztonságossá tételéhez.

  • Mivel a biztonság akkor kezdődik, amikor a fejlesztők klónozzák a kódot, engedélyezze a DevSecOps és az Azure és a GitHub közötti hidat a DevOps és a SecOps csapatok között, és biztonságossá tegye a fejlesztői környezeteket.
  • A Visual Studio és a Visual Studio Code segítségével rugalmas és hatékony fejlesztői eszközöket biztosíthat bármilyen fejlesztőnek, nyelvnek és veremnek.
  • Egyszerűbbé teheti az új fejlesztők előkészítését és együttműködését egy teljes fejlesztési életciklus-eszközzel a felhőben a GitHub Codespaces és a Microsoft Dev Box használatával.
  • Tartalmazza a már nem több helyre szétosztott kód szellemi tulajdonjogának beépített védelmét. A GitHub Actions és az Azure Pipelines segítségével a csapatok együttműködhetnek, fejleszthetnek, automatizálhatnak és telepíthetnek kódot, bárhol is legyenek.
  • A gitHub Advanced Security használatával biztonsági útmutatást és folyamatos biztonsági visszajelzést kaphat a fejlesztői munkafolyamatban a kódvizsgálattal, a titkos kódok vizsgálatával és a függőségek áttekintésével.
  • Nulla megbízhatóságú biztonság instillálása az egész szervezetben identitáskezelési szolgáltatások használatával a Microsoft Entra ID-ban.

Zero Trust biztonság integrálása a fejlesztési életciklusba

Az előkészítéstől a véglegesítésig az üzembe helyezésig, majd a működésig és a monitorozásig a fejlesztési életciklus minden szakaszában szükség van biztonsági megoldásokra.

Előköteleződési szakasz

  • Fenyegetésmodellezés
  • IDE biztonsági beépülő modul
  • Elkötelezés előtti horgok
  • Biztonságos kódolási szabványok
  • Társközi felülvizsgálat

A kódhibák nyolcvanöt százaléka a fejlesztési előkészítő fázisban jelenik meg, főként emberi hiba miatt. A kód véglegesítése előtt koncentráljon a biztonságra. Ehhez írja be a kódot a Visual Studio Code-ba, a Visual Studióba vagy a GitHub Codespace-be a biztonsági rések és a biztonságos kód azonosítása érdekében. Használjon társértékeléseket a biztonságos kódolási eljárások ösztönzéséhez.

Véglegesítési (CI) szakasz

  • Statikus kódelemzés
  • Biztonsági egységtesztek
  • Függőségkezelés
  • Hitelesítő adatok vizsgálata

A véglegesítési szakaszban kiterjedt biztonsági módszereket alkalmazva tekintse át a kódbázisát (beleértve a statikus kódelemzést is), és ellenőrizze a kódját, amikor a forrásvezérlőbe tölti fel. A hitelesítő adatok vizsgálatával (más néven titkos kulcsok beolvasásával vagy jogkivonatok vizsgálatával) feltárhatja azokat a hitelesítő adatokat, amelyeket véletlenül vezethet be a kódbázisba. A nem biztonságos függőségek észlelése, mielőtt a függőségek áttekintésével bevezeti őket a környezetbe.

Üzembe helyezési (CD) szakasz

  • Infrastruktúra mint kód (IaC) vizsgálata
  • Dinamikus biztonsági vizsgálat
  • Felhőkonfiguráció ellenőrzése
  • Biztonsági elfogadási tesztek

Az üzembe helyezés során vizsgálja meg a kódbázis általános állapotát, és végezzen magas szintű biztonsági vizsgálatot a kockázatok azonosítása érdekében. Felhőkonfigurációs ellenőrzéseket, infrastruktúrakód-ellenőrzéseket és biztonsági elfogadási teszteket hajthat végre a szervezeti biztonsági céloknak való megfelelés érdekében.

Működési és monitorozási fázis

  • Folyamatos monitorozás
  • Kibervédelmi hírszerzés
  • Hibáztatás nélküli postmortemek

A működési és monitorozási fázisban a folyamatos figyelés és a fenyegetésintelligencia használatával mérsékelheti az idővel öröklődő függőségi sebezhetőségeket. A tanulságok levonásához és a DevOps-cikluson keresztüli iterálás folytatásához végezze el a postmortems műveletet.

Függőségek, kód és titkok vizsgálatának megvalósítása

A fejlesztők számára a kód biztonságának megkönnyítése érdekében a natív és automatizált képességekkel folyamatos visszajelzést adhatunk, így biztosítva a folyamatos biztonsági jellemzőket a fejlesztési életciklus során. Általános biztonságot biztosíthat a fejlesztőknek és a közösségeknek a GitHub Advanced Security függőségi vizsgálatával, a kódvizsgálattal és a titkos kódok vizsgálatával.

Függőségek vizsgálata

  • Függőségek integrált felülvizsgálata
  • Riasztások és biztonsági frissítések

A függőségek kockázati szintjeinek és a kódbázis sebezhető függőségeinek automatikus javítása folyamatos függőségvizsgálattal. Folyamatos folyamatként a fejlesztőket a megfelelő irányba mozdonyozza barátságos és nem zavaró módon.

Kódvizsgálat

  • Bővíthető keretrendszer kódolvasáshoz
  • Integrálva a fejlesztői munkafolyamatba
  • Iparágvezető CodeQL-motor által támogatott

A kódellenőrzést implementálja a kód létrehozásakor, külön lépések nélkül, így nem szükséges futtatni külön helyszíneken. A fejlesztési életciklus korai szakaszában könnyedén kijavíthatja a vizsgálati eredményeket a jól ismert GitHub-felhasználói élményben.

Titkos kódok vizsgálata

  • Kiszivárgott titkos kódok keresése nyilvános és privát adattárakban
  • Partnerség több mint 40 szolgáltatóval
  • Push védelem
    • Áttérés a szervizelésről a megelőzésre
    • Nagy megbízhatóságú titkos kulcsok keresése
    • Védelem engedélyezése egyetlen kijelöléssel

Titkos kódvizsgálattal ellenőrizze a kódban rögzített hitelesítő adatokat és jogkivonatokat. A leküldéses védelem titkos kulcsokat és jogkivonatokat keres, mielőtt leküldené a kódbázisba. A fejlesztők leküldéses kódként nagy megbízhatóságú titkos kulcsokat keresnek, és blokkolják a leküldést, amikor a GitHub azonosít egy titkos kulcsot.

Munkaterhelések identitásainak kezelése és védelme

  • Életciklus-kezelés
  • Hozzáférés szabályozása
  • Biztonságos adaptív hozzáférés

Betekintést kaphat a számítási feladatok identitásainak tevékenységébe, és engedélyezheti az időszakos törlést. Határozza meg, hogy ki birtokolja a munkaalkalmazások identitásait, és hogyan tartja naprakészen ezeket az információkat a szervezeti változások során. Nyomon követheti, hogy mikor használta utoljára a munkaösszeg identitásait, mikor adott ki utoljára tokeneket, és mikor járnak le a tokenek.

A kiszivárgott titkos kódok és hitelesítő adatok lehetőségének csökkentése érdekében rendszeresen végezzen hozzáférési felülvizsgálatokat. Követelje meg a felhasználóktól, hogy tekintse át a számítási feladat identitásait, és távolítsák el a szükségtelen hozzáférési jogosultságokat. A felhasználók jelentsenek túlprivilegált és kihasználatlan hozzáférési jogosultságokat. Ismerje meg, hogyan védheti meg a számítási feladatok identitását a biztonsági rések ellen. Engedélyezze a feltételes hozzáférést annak biztosításához, hogy a hozzáférés a várt erőforrásokból származik.

Az identitások védelme a GitHub OIDC és a Microsoft Entra Workload ID Föderáció használatával

A szervezet biztonságossá tételéhez használja a GitHub OpenID Connectet (OIDC) a Microsoft Entra Workload Identity Federation szolgáltatással, és minimalizálja a titkos kulcsok tárolásának és elérésének szükségességét. Biztonságosan kezelheti az Azure Server fő titkos kulcsait és más hosszú élettartamú felhőbeli hitelesítőadat-erőforrásokat, hogy a lejárt hitelesítő adatok miatt a szolgáltatás leállása minimálisra csökkenjen. Integrálható fejlesztői platformokkal, például a GitHub Actions szolgáltatással az alkalmazások biztonságos létrehozása érdekében.

A számítási feladatok identitás-összevonásának javasolt munkafolyamata, amelyet az alábbi ábrán szemléltetünk, hat lépésből áll.

A diagram a számítási feladatok identitás-összevonási munkafolyamatának lépéseit szemlélteti.

  1. Állítson be hitelesítést a Microsoft Entra ID-ben, és kérjen egy tokent.
  2. Konfigurálja a GitHub-munkafolyamatot, hogy a műveletek megkapják a jogkivonatot.
  3. A GitHub-munkafolyamat kérést küld az Azure ID-nak.
  4. A Microsoft Entra ID ellenőrzi az alkalmazás megbízhatóságát, és lekéri a token érvényesítéséhez szükséges kulcsokat.
  5. A Microsoft Entra ID hozzáfér és kiadja a tokent.
  6. Az üzembe helyezési művelet a Microsoft Entra hozzáférési jogkivonatot használja az Azure-beli erőforrásokon való üzembe helyezéshez.

Nézze meg April Edwards, a felhőtanácsadó és a DevOps gyakorlatvezetőjének demóját a terhelésazonosság-összevonási munkafolyamatról. A bemutató a Microsoft Build 2022 munkamenet 19:14 jelzésnél kezdődik, gyorsítsa fel és biztosítsa a kódját a felhőalapú fejlesztéshez.

Következő lépések

  • Regisztráljon az Azure Developer CLI-re, amely egy nyílt forráskódú eszköz, amely felgyorsítja az Azure használatának megkezdéséhez szükséges időt.
  • 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.
  • Vezesse be a Zero Trust elveket a 22-09 számú feljegyzésben leírtak szerint (az Egyesült Államok 14028. végrehajtási rendeletének támogatásával, a nemzet kiberbiztonságának javítása érdekében) a Microsoft Entra ID központi identitáskezelő 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.
  • A fejlesztői környezet biztonságossá tételével zéró megbízhatósági elveket valósíthat meg fejlesztői környezeteiben 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ágos DevOps-környezetek a Zero Trusthoz című cikk bemutatja a DevOps-környezetek biztonságossá tételének ajánlott eljárásait, amelyek megakadályozzák, hogy a támadók 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.
  • Testreszabhatja a jogkivonatokat, amelyek ismertetik a Microsoft Entra-jogkivonatokban található információkat. A szöveg bemutatja, hogyan szabhatja testre a jogkivonatokat a rugalmasság és az ellenőrzés javítása érdekében, miközben fokozza az alkalmazások nulla bizalmon alapuló biztonságát legkisebb jogosultsággal.
  • A csoportjogcímek és alkalmazásszerepkörök tokenekben való konfigurálása bemutatja, hogyan konfigurálhatja alkalmazásait alkalmazásszerepkör-definíciókkal, és hogyan rendelhet biztonsági csoportokat alkalmazásszerepkörökhöz. Ezek a módszerek segítenek a rugalmasság és az ellenőrzés javításában, miközben az alkalmazás zéró megbízhatósági biztonságát a legkisebb jogosultsággal növeli.