Megosztás:


Biztonsági Teljes felügyelet 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 sugár- és szegmenshozzáférést. 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 az innováció energiatakarékossá tételéhez és a fejlesztői munkafolyamat biztonságossá tételéhez, 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.
  • A már nem több helyre szétosztott kód beépített szellemi tulajdon elleni védelmét is magában foglalja. 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.

A Teljes felügyelet biztonság beleillik 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észítési szakasz

  • Fenyegetésmodellezés
  • IDE biztonsági beépülő modul
  • Előmegrendelési 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 széles körű biztonsági módszerekkel áttekintheti a kódot (beleértve a statikus kódelemzést is), és a forrásvezérlőbe való ellenőrzés során beolvassa a kódot. A hitelesítő adatok vizsgálatával (más néven titkos kulcsok vagy jogkivonatok beolvasásával) olyan hitelesítő adatokat tehet közzé, amelyeket véletlenül be tud vezetni 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
  • Fenyegetésészlelési intelligencia
  • Oktalan postmortems

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ódok és titkos kódok vizsgálata implementálása

A kód biztonságossá tétele a fejlesztők számára a natív és automatizált képességek használatával folyamatos visszajelzést nyújt a folyamatos biztonsági funkciókról 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
  • Leküldéses 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.

Számítási feladatok 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 számítási feladat identitásait, és hogyan tartja naprakészen ezeket az információkat a szervezet változásai között. Nyomon követheti, hogy mikor használta utoljára a számítási feladat identitásait, mikor adott ki utoljára jogkivonatokat, és mikor járnak le a jogkivonatok.

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.

Identitások védelme a GitHub OIDC-vel és Microsoft Entra Számítási feladat ID összevonással

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 megbízhatóságot a Microsoft Entra-azonosítóban, és kérjen jogkivonatot.
  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 kulcsokat a jogkivonat érvényesítéséhez.
  5. A Microsoft Entra ID hozzáfér és kiadja a jogkivonatot.
  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.

Tekintse meg April Edwards, a felhőtanácsadó és a DevOps gyakorlatvezetőjének bemutatóját a számítási feladatok identitás-összevonási munkafolyamatában. 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.
  • 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.
  • 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. Ez a cikk bemutatja, hogyan szabhatja testre a jogkivonatokat a rugalmasság és az ellenőrzés javítása érdekében, miközben a minimális jogosultsággal rendelkező alkalmazásmegbízhatósági biztonságot növeli.
  • 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.