Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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.
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.
- Állítson be megbízhatóságot a Microsoft Entra-azonosítóban, és kérjen jogkivonatot.
- Konfigurálja a GitHub-munkafolyamatot, hogy a műveletek megkapják a jogkivonatot.
- A GitHub-munkafolyamat kérést küld az Azure ID-nak.
- 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.
- A Microsoft Entra ID hozzáfér és kiadja a jogkivonatot.
- 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.