Megosztás a következőn keresztül:


A fejlesztői környezet védelme Teljes felügyelet

Ez a cikk fejlesztőként segít a fejlesztési környezet védelmében, hogy Teljes felügyelet elveket implementálhassa (explicit módon ellenőrizze, használja a minimális jogosultsági hozzáférést, feltételezze a jogsértést). A securitying Enterprise DevOps Environments eBook tartalmait tartalmazza, és kiemeli a fiókbiztonság és a megbízhatósági eszközök, bővítmények és integrációk ajánlott eljárásait.

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ásoknak. 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 támadási vektorokat jelentenek a függőségek és a bővítményalkalmazások biztonsági réseiben.

Az ábra a fejlesztői környezeteket és a biztonsági fenyegetéseket mutatja be az előző eBookban leírtak szerint, és az itt hivatkozott kapcsolódó cikkekben összefoglalva.

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 implementálhatják ezeket a Teljes felügyelet intézkedéseket a fejlesztői környezet védelme érdekében:

  • Konfigurálja a minimális jogosultságot.
  • Korlátozza, hogy ki módosíthatja és jóváhagyhatja a kódot az ágbiztonsággal.
  • 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.

Annak érdekében, hogy elhárítsa azokat a lehetséges hozzáférési lehetőségeket, amelyek miatt a támadók megcélzzák a szoftverfejlesztői szerepkört, fontolja meg az alábbi Teljes felügyelet minimális jogosultsági szintű biztonsági ajánlott eljárásokat az alkalmazásokhoz.

  • 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 az identitások külső platformokon történő duplikálásának elkerülése és az expozíciós kockázat csökkentése érdekében.
  • 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 identitás mindig a 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. Rendszergazda feltölthetik az SSH-hitelesítésszolgáltató nyilvános kulcsát, és tanúsítványokat állíthatnak ki a tagok számára a Git-hitelesítéshez. A tanúsítványok csak a szervezethez tartozó adattárakhoz férhetnek hozzá. Rendszergazda megkövetelhetik a tagoktól, hogy tanúsítványokat használjanak az adattáraik 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. A VS Code defers to a Git credential manager.

Ajánlott eljárások a fiókbiztonsághoz

Amikor a támadó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 diagram egy példaelágazási stratégiát mutat be, amely a fő adattárat védi.

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 ágak védelme kódellenőrzésekkel, hogy a DevOps-csapatok szabályozni próbálják a kódmódosításokat és a fejlesztések naplózását. 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 munkahelyi környezet kialakításához támaszkodhat arra, hogy egy adott IDE piacterén alkalmazza és konkurálja a bővítményeket.

A biztonságos azonosítók szervizeléséhez vegye figyelembe az alábbi ajánlott eszközöket, bővítményeket és integrációs eljárásokat.

  • 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 biztonsági Teljes felügyelet 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 Teljes felügyelet 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 Teljes felügyelet a DevOps-környezetek biztonságossá tételének ajánlott eljárásait ismerteti Teljes felügyelet megközelítéssel, amely megakadályozza, hogy a hackerek 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.
  • 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.
  • Konfigurálja az Azure-t, hogy összevont identitásként megbízható legyen a GitHub OIDC-je. Az OpenID Csatlakozás (OIDC) lehetővé teszi, hogy a GitHub Actions-munkafolyamatok anélkül férhessenek hozzá az Azure-belierőforrásokhoz, hogy hosszú élettartamú GitHub-titkos kulcsként kellene tárolniuk az Azure-hitelesítő adatokat.