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.
Ez a cikk fejlesztőként segít abban, hogy biztonságossá tegye a fejlesztői környezetet, hogy megvalósíthassa a zéró megbízhatósági elveket (explicit módon ellenőrizze, használja a legkevésbé jogosultsági hozzáférést, feltételezze a jogsértést). A Securing Enterprise DevOps Environments e-könyv tartalmát tartalmazza, és kiemeli az ágazatbiztonság, illetve a megbízható eszközök, bővítmények és integrációk használatának legjobb gyakorlatait.
A fejlesztői sebesség azon múlik, hogyan és hol szeretné maximalizálni az üzleti eredményeket. Hatékony, testreszabható, gyökér- vagy rendszergazdai hozzáféréssel rendelkező gépeket szeretne. A fejlesztői igények azonban ellentétesek lehetnek a megfelelőségi előírásokkal, valamint a magánalkalmazotti környezet hozzáférésének és tárolásának naplózásával és szabályozásával.
A szervezet hálózatához csatlakozó nem felügyelt gépek kihívást jelentenek a biztonsági csapatoknak, a beszerzésnek és az irányítási testületnek. A fejlesztők alapértelmezett és megerősített alkalmazotti környezetek biztosításának legjobb forgatókönyve mindkét oldalon megvetést hoz létre. Amikor az alkalmazottak bárhonnan csatlakoznak, a sebezhető Wi-Fi hálózatok nyitott ajtót jelentenek a kibertámadás számára. A hardverek ellopása és elvesztése jelentős problémát jelent.
A biztonsági rések a fejlesztési környezet integrációjára is kiterjednek. A gazdag bővíthetőséget használó fejlesztőeszközök nem felügyelt integrációval rendelkezhetnek a piacterükön. A rosszindulatú bővítmények veszélyeztethetik a fejlesztői eszközöket, és vállalati szintű incidenseket okozhatnak.
Az alábbi ábrán figyelje meg, hogy a fejlesztői környezet hogyan csatlakozik a DevOps-eszközök környezetéhez, hogy hatással legyen a Git-ágakra. Kibővíti a környezeti felületet a nyílt forráskódú csomagokhoz és alkalmazásbővítményekhez való csatlakozással. A bővítmények biztonsági réseket jelentenek a függőségek és a bővítményalkalmazások biztonsági réseiben.
A DevOps-csapattagok rugalmasságának és szabályozásának biztosítása a rosszindulatú támadások megakadályozása mellett alapvető kihívást jelent a biztonsági irodák számára. A DevOps felügyelheti a fejlesztői környezetet egy felhőkörnyezettel (lásd: Azure-beli virtuális gépek és GitHub Enterprise Cloud Docs megbízható indítása), és biztonságossá teheti a fejlesztői környezetet tárolókkal (lásd a GitHub Codespaces dokumentációját).
Emellett a fejlesztők a következő zéró megbízhatósági intézkedéseket implementálhatják a fejlesztői környezet védelme érdekében:
- Konfigurálja a minimális jogosultságot.
- Korlátozza, hogy ki módosíthatja és hagyhatja jóvá a kódot az ág biztonsági beállításaival.
- Csak megbízható eszközöket, bővítményeket és integrációkat fogadjon el.
Ajánlott eljárások a minimális jogosultsághoz
A fejlesztők gyakran úgy vélik, hogy képesek elkapni a kártevőket, az adathalászatot és a behatolásokat a környezetükben. A nagy fejlesztői környezet fenyegetési felületei miatt a fejlesztők számára irreális a mindenható rendszerismeret fenntartása. A szervezetek értékes szervizelési időt veszítenek, ha incidenst észlelnek, miután egy támadás feltör egy olyan fejlesztői környezetet, amely rendszergazdai hozzáféréssel rendelkezik az összes rendszerhez.
Az olyan lehetséges hozzáférési lehetőségek megoldásához, amelyek miatt a rossz szereplők megcélzzák a szoftverfejlesztői szerepkört, tekintse át az alkalmazások következő, a legkevésbé megbízható jogosultságokkal kapcsolatos biztonsági ajánlott eljárásait.
- A DevOps minimális jogosultsági és igényalapú hozzáférésének megvalósítása. Győződjön meg arról, hogy a csapattagok csak minimálisan férnek hozzá a környezetekhez a legrövidebb ideig. Szabályzatok életbe léptetése a fő eszközök, DevOps-eszközök, kiadási folyamatok, kódtárak, környezetek, titkos tárak és adatbázisok rendszergazdai hozzáférési jogosultságainak lefedésére. A DevOps-csapatok esetében az alapkövetelmény a szervezeti identitástárolóval való kapcsolat. Identitás-összevonással integrálhatja az SaaS-környezeteket, hogy elkerülje az identitások duplikálását a nem Microsoft-platformokon, és csökkentse az expozíciós kockázatot.
- Ne használjon személyes hozzáférési jogkivonatokat a forráskód-hozzáféréshez. A DevOps-csapatok biztonságos eljárásai közé tartozik az SaaS-alapú DevOps-eszközökhöz, kódtárakhoz (SSH, HTTPS vagy személyes hozzáférési jogkivonaton keresztül) való hozzáférés. Az SaaS-alapú környezethez való hozzáféréshez világos útmutatást kaphat arra vonatkozóan, hogy a hozzáférési alapelvek hogyan határozzák meg, hogy ki töltheti le (klónozhatja) a rendszerkódtárakat, és hogy mely eszközökről (helyi, felhőbeli és tárolói). A OneDrive például letilthatja vagy korlátozhatja a nem felügyelt eszközök elérését.
- A GitHub Enterprise Managed User (EMU) felhasználói fiókok egységesítése és szinkronizálása vállalati identitásokkal. A vállalati felügyelt felhasználókkal a vállalati tagok felhasználói fiókjait az identitásszolgáltatón (IDP) keresztül szabályozhatja. A szervezeti identitástárban explicit módon definiáljon GitHub-felhasználóneveket, e-maileket és megjelenítendő neveket. A felhasználók ezután egyszerűen azonosíthatják a közreműködőket.
- A fejlesztők három módon csatlakozhatnak egy SaaS-környezethez (HTTPS identitással, személyes hozzáférési jogkivonattal, SSH-kulccsal való csatlakozással), kapcsolatot létesíthetnek a szervezeti identitástárolóval. A GitHubon (a GitHub EMU-fiókok kivételével) az ön identitása mindig az ön nyilvános identitása. Az egyszeri bejelentkezéssel (SSO) történő szabályozott hozzáféréshez kapcsolat szükséges a szervezeti identitástárolóval.
- Az SSH-hitelesítésszolgáltató (CA) használatával aláírt SSH-tanúsítványokat biztosíthat a tagok számára az erőforrások gittel való biztonságos eléréséhez. Az SSH-tanúsítvány egy SSH-kulcs egy másik SSH-kulcs aláírására szolgáló mechanizmus. A GitHub Enterprise Cloud támogatja az SSH-tanúsítványokat, így a szervezetek jobban szabályozják, hogy a tagok hogyan férnek hozzá az adattárakhoz. A rendszergazdák feltölthetik az SSH-hitelesítésszolgáltató nyilvános kulcsát, és tanúsítványokat állíthatnak ki a Git-hitelesítéshez használni kívánt tagok számára. A tanúsítványok csak a szervezethez tartozó adattárakhoz férhetnek hozzá. A rendszergazdák megkövetelhetik a tagoktól, hogy tanúsítványokat használjanak az adattárak elérésekor.
- Egy Git hitelesítőadat-kezelővel megerősítheti a kódhoz való hozzáférést. Az olyan eszközök, mint a Visual Studio (VS) beépített identitástámogatással rendelkeznek. VS Code egy Git hitelesítő kezelőt használ.
Ajánlott eljárások a fiókbiztonsághoz
Amikor a rossz szereplők hozzáférnek a kódtárhoz, tanulmányozhatják a rendszer biztonságát, és anélkül módosíthatják a kódot, hogy a csapatok észrevennének. A kódtár jogosulatlan hozzáférésének megakadályozása érdekében implementáljon egy elágaztatási stratégiát a kódmódosítások szabályozásának kialakításához (lásd az alábbi ábrán látható példát).
A lehetséges adattár-hozzáférési lehetőségek megoldásához tekintse meg az alábbi ágbiztonsági ajánlott eljárásokat.
- Az ágakat kódellenőrzésekkel védeni, hogy a DevOps-csapatok szabályozzák a kódmódosításokat és felügyeljék az auditálási folyamatokat. Az előző diagram elágaztatási stratégiája a módosítások szabályozott folyamatát ismerteti, amely egyértelmű parancsláncot és terveket biztosít a kódmódosítások kezeléséhez. Az elágaztatási stratégia különböző megközelítései közül az egyik gyakori, hogy a védett ágak szolgálnak forrásként az éles környezet új kiadásaihoz.
- A Git-adattárak rendszergazdái szabályozhatják a jóváhagyási engedélyeket. Az elágaztatási stratégiák vezérlési mechanizmusa a jóváhagyási munkafolyamatban található. A védett ágakhoz ellenőrzésre, felülvizsgálatra és jóváhagyásra van szükség a módosítások elfogadása előtt. Az egyik lehetőség egy ágvédelmi szabály létrehozása a munkafolyamatok kényszerítéséhez. Például a védett ágba egyesített összes lekéréses kérelem jóváhagyási felülvizsgálatát vagy állapot-ellenőrzési passzát igényelheti. A fiókszabályzatok segítenek a csapatoknak a fontos fejlesztési ágak védelmében. A szabályzatok betartatják a csapat kódminőségét és változáskezelési szabványait.
Ajánlott eljárások az eszközök, bővítmények és integrációk megbízhatóságához
Az integrált fejlesztői környezetekben (IDE) a bővíthetőség annyira hatékony, hogy lényegében egy kötelező funkció. Az optimális munkakörnyezet kialakításához az ideális IDE piacterén alkalmazható és kezelhető bővítményekre támaszkodik.
A biztonságos IDE-k helyreállításához vegye figyelembe az alábbi eszközökre, bővítményekre és integrációkra vonatkozó legjobb gyakorlatokat.
- Győződjön meg arról, hogy csak megbízható piacterekről és közzétevőkből származó eszközöket integrál. A VS Code piactéren például több ezer bővítmény található, hogy megkönnyítse az életét. Amikor azonban a csapatok új eszközöket vagy bővítményeket vezetnek be, a legfontosabb szempont a közzétevő megbízhatóságának ellenőrzése lehet.
- Állítson be biztonságos eljárásokat a bővítmények használatának szabályozásához a fejlesztői környezetek támadási felületének korlátozásához. A legtöbb IDE-bővítményhez bizonyos jogosultságok jóváhagyása szükséges a működéshez, gyakran olyan fájlként, amely olvasási engedélyekkel rendelkezik a rendszeren a kód elemzéséhez. A bővítmények működéséhez felhőkörnyezetekhez való csatlakozás szükséges (gyakori a metrikaeszközök esetében). Az IDE-n felüli további funkciók jóváhagyása további fenyegetéseket nyit meg a szervezetek számára.
- Fejlesztői gépeken kövesse nyomon a használt bővítmények számát és fejlettségét a lehetséges támadási felület megértéséhez. Csak ellenőrzött közzétevőktől származó VS Code marketplace-bővítmények beépítése. Amikor alkalmazásbővítményeket telepít a VS Code-tal, rendszeresen ellenőrizze a parancssorban futó bővítményeket, a kódot
--list-extensions --show-versions. Jól ismeri a fejlesztői környezetben futó bővíthető összetevőket.
Következő lépések
- A Nulla megbízhatósági biztonság beágyazása a fejlesztői munkafolyamatba segít a gyors és biztonságos innovációban.
- A DevOps platformkörnyezet biztonságossá tételével zéró megbízhatósági elveket valósíthat meg a DevOps platformkörnyezetében, és kiemeli a titkos kódok és tanúsítványok kezelésének ajánlott eljárásait.
- 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 nulla megbízhatósági megközelítéssel, amely megakadályozza, hogy a rossz szereplők veszélyeztetjék a fejlesztői dobozokat, megfertőzzék a kiadási folyamatokat rosszindulatú szkriptekkel, és tesztkörnyezeteken keresztül férhessenek hozzá az éles adatokhoz.
- 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.
- 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.