Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
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.
- Állítson be hitelesítést a Microsoft Entra ID-ben, és kérjen egy tokent.
- 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 token érvényesítéséhez szükséges kulcsokat.
- A Microsoft Entra ID hozzáfér és kiadja a tokent.
- 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.