Az Azure Pipelines védelme

Azure DevOps Szolgáltatások | Azure DevOps Server | Azure DevOps Server 2022

A csővezetékek hatékony képességeket kínálnak a szkriptek végrehajtására és a kód éles környezetekbe való üzembe helyezésére, de fontos, hogy ezt a teljesítményt biztonsággal egyensúlyba hozzuk. Soha nem szeretné, hogy egy folyamat a rosszindulatú kódok vezetékévé váljon. A biztonság és a fejlesztői csapatok által igényelt rugalmasság és teljesítmény kiegyensúlyozása elengedhetetlen.

Ez a cikk áttekintést nyújt a folyamatok fenyegetésekkel és biztonsági résekkel szembeni védelméhez szükséges biztonsági konfigurációkról.

Előfeltételek

Kategória Követelmények
Azure DevOps - Javaslatokat implementálhat az Azure DevOps biztonságossá tétele című témakörben.
- A YAML és az Azure Pipelines alapszintű ismerete. További információért lásd: Az első pipeline létrehozása.
Engedélyek – Folyamatengedélyek módosítása: A Projektgazdák csoport tagja.
– A szervezeti engedélyek módosítása: A Projektcsoportgazdák csoport tagja.

Projekt- és adattár- és szolgáltatáskapcsolat-hozzáférés korlátozása

A biztonság fokozása érdekében fontolja meg a projektek elkülönítését, a fiókszabályok alkalmazását, és további biztonsági intézkedések hozzáadását az elágazásoknál is. Minimalizálja a szolgáltatáskapcsolatok hatókörét, és használja a legbiztonságosabb hitelesítési módszereket.

  • Különálló projektek: Minden termék és csapat kezelése külön projektekben. Ez megakadályozza, hogy az egyik termék folyamatai véletlenül hozzáférjenek egy másik termék nyitott erőforrásaihoz, minimalizálva az oldalirányú kitettséget.
  • Projektszintű identitások használata: Projektalapú buildidentitás használata folyamatokhoz gyűjteményszintű identitás helyett. A projektszintű identitások csak a társított projekten belüli erőforrásokhoz férhetnek hozzá, ezzel minimalizálva a rosszindulatú szereplők jogosulatlan hozzáférésének kockázatát. További információért lásd a build identitások hatókörét és a feladat engedélyezési hatókörét.
  • Ágszabályzatok használata: A kód és a folyamat biztonságos módosításának biztosítása érdekében alkalmazza az engedélyeket és a fiókszabályzatokat. Emellett érdemes lehet folyamatengedélyeket és ellenőrzéseket hozzáadni az adattárakhoz.
  • További biztonsági elemek hozzáadása az elágazásokhoz: Amikor a GitHub nyilvános adattáraival dolgozik, gondosan gondolja át az elágazások készítésének megközelítését. A szervezeten kívülről származó elágazások különös kockázatokat jelentenek.
    • Ne adjon meg titkos kulcsokat az elágazás-buildekhez: Alapértelmezés szerint a folyamathoz társított titkos kulcsok nem érhetők el az elágazások kérésének érvényesítéséhez. Ne engedélyezze a Titkos kulcsok elérhetővé tétele elágazások készítéséhez lehetőséget. A beállítás megkeresésére és ellenőrzésére vonatkozó utasításokért tekintse meg a részelágazásokból származó hozzájárulásokat.
    • Fontolja meg az ágépítések manuális indítását: Kapcsolja ki az automatikus ágépítéseket, és a pull request megjegyzéseit felhasználva manuálisan építse fel ezeket a hozzájárulásokat. Ezzel a beállítással áttekintheti a kódot, mielőtt elindít egy buildet. Ennek módjáról további információt az automatikus elágazás-buildek kikapcsolása című témakörben talál.
    • Tekintse át mindkét pr-forrás pr-megjegyzésre vonatkozó követelményeit: Az érvényesítési futtatások aktiválására vonatkozó lekéréses kérelmek megjegyzéskövetelményei egymástól függetlenül konfigurálhatók attól függően, hogy a lekéréses kérelem ugyanabból az adattárból vagy egy elágazásból származik-e. Tekintse át mindkét forrás beállításait annak biztosítására, hogy a kívánt biztonsági beállítások a külső (forkból származó) közreműködésekre és a belső pull requestekre egyaránt érvényesüljenek.
    • Használja a Microsoft által üzemeltetett ügynököket az elágazás-buildekhez: Ne futtasson buildeket az elágazásokból a saját üzemeltetésű ügynökökön. Ez lehetővé teheti, hogy a külső szervezetek külső kódot hajtsanak végre a vállalati hálózaton belüli gépeken. Amikor csak lehetséges, használja a Microsoft által üzemeltetett ügynököket.
    • Használja az Azure Pipelines GitHub alkalmazást a jogkivonat hatókörének korlátozásához: GitHub-elágaztatásos lekéréses kérelem létrehozásakor az Azure Pipelines gondoskodik arról, hogy a folyamat ne módosítsa a GitHub-adattár tartalmát. Ez a korlátozás csak akkor érvényes, ha az Azure Pipelines GitHub alkalmazást használja a GitHubkal való integrációhoz.

Biztonságos szolgáltatáskapcsolatok

  • A szolgáltatáskapcsolatok hatókörének minimalizálása: A szolgáltatáskapcsolatoknak csak a szükséges erőforrásokhoz kell hozzáférniük. Amikor új Azure Resource Manager-szolgáltatáskapcsolatot hoz létre, mindig válasszon egy adott erőforráscsoportot. Győződjön meg arról, hogy az erőforráscsoport csak a buildhez szükséges virtuális gépeket vagy erőforrásokat tartalmazza. A szolgáltatáskapcsolatok beállításával kapcsolatos utasításokért lásd: Azure Resource Manager-szolgáltatáskapcsolat használata.
  • Számítási feladatok identitás-összevonásának használata a hitelesítéshez: Amikor lehetséges, az Azure-szolgáltatáskapcsolat szolgáltatásnév helyett használja a számítási feladatok identitás-összevonását. A számítási feladatok identitásának összevonása az Open ID Connect (OIDC) iparági szabvány szerinti technológiát használja az Azure és az Azure DevOps közötti hitelesítés megkönnyítésére titkos kódok használata nélkül. Ennek módjával kapcsolatos útmutatásért lásd: Szolgáltatáskapcsolat létrehozása a számítási feladatok identitásának összevonásával (automatikus)
  • A GitHub-alkalmazások hozzáférésének minimalizálása: Ha a GitHub-alkalmazást az Azure DevOpsba konfigurálja, csak a folyamatokkal létrehozni kívánt adattárakhoz adjon hozzáférést.
  • Szolgáltatáskapcsolatok korlátozása adott ágakra: Az ágvezérlési ellenőrzéssel korlátozhatja, hogy mely ágak használhatják a szolgáltatáskapcsolatot. Az elágaztatás-vezérlés ellenőrzése biztosítja, hogy a szolgáltatáskapcsolatok csak engedélyezett ágakon fussanak, és az összes csatolt folyamaterőforrás engedélyezett ágakból legyen létrehozva.
  • Használja a Azure DevOps szolgáltatáskapcsolatot Azure DevOps erőforrások PAT-mentes eléréséhez: a Azure DevOps Services támogatja a Azure DevOps szolgáltatáskapcsolatot, amely a Microsoft Entra használatával hitelesít számítási feladatok identitásai (szolgáltatásnév vagy felügyelt identitás) személyes hozzáférési jogkivonatok (PAT-k) vagy munkamenet-jogkivonatok helyett. Biztonságosabb alternatívának tekinthető, ha a folyamatoknak hozzá kell férnie Azure DevOps erőforrásokhoz, például a szervezetközi adattár-kivételhez, a YAML-sablon újrafelhasználásához vagy Azure Artifacts hírcsatornákhoz.

YAML-folyamatok használata klasszikus folyamatok helyett

A hozzáadott biztonság érdekében és a véletlen helytelen konfigurációk kockázatának csökkentése érdekében használja a YAML-folyamatokat a klasszikus folyamatok helyett. Ez az óvintézkedés megakadályozza a YAML-ből és a klasszikus folyamatokból eredő biztonsági problémákat, amelyek ugyanazokat az erőforrásokat, például a szolgáltatáskapcsolatokat osztják meg. Ha a szervezet klasszikus folyamatokat használ, migrálja a folyamatokat a YAML-be.

  • A YAML kódként kínálja az infrastruktúra előnyeit: A YAML-folyamatokat minden más kódhoz hasonlóan kezelheti, mert a lépések és függőségek kódban vannak definiálva. A folyamatkonfigurációk egyértelmű láthatósága és a véletlen helytelen konfigurációk kockázata is csökken.
  • A YAML-folyamatok továbbfejlesztett biztonsági intézkedésekkel kombinálhatók: Kód-felülvizsgálatokkal és lekéréses kérelmekkel fiókszabályzatokkal állíthat be felülvizsgálati folyamatot a lekéréses kérelmekhez a hibás egyesítések megelőzése érdekében.
  • Erőforrás-hozzáférés-kezelés: Az erőforrás-tulajdonosok szabályozhatják, hogy egy YAML-folyamat hozzáfér-e bizonyos erőforrásokhoz. Ez a biztonsági funkció megakadályozza az olyan támadásokat, mint egy másik adattár ellopása. A jóváhagyások és ellenőrzések használatával hozzáférés-vezérlést biztosíthat minden folyamatfuttatáshoz.
    • Védett ág-ellenőrzés: Ha manuális kódellenőrzési folyamatokkal rendelkezik bizonyos ágakhoz, ezt a védelmet kiterjesztheti a pipeline-ekre. Egy erőforrás védett ág-ellenőrzése megakadályozza, hogy a folyamatok automatikusan futnak jogosulatlan ágakon.
    • Manuális jóváhagyási ellenőrzés: Manuális jóváhagyási ellenőrzéssel letilthatja a folyamatkéréseket védett erőforrás használatával, amíg a megadott felhasználók vagy csoportok nem hagyják jóvá manuálisan.
    • Munkaidő ellenőrzése: Ezzel az ellenőrzéssel győződjön meg arról, hogy a folyamat üzembe helyezése egy megadott napon és időkereten belül indul el.
  • A klasszikus folyamatok létrehozásának letiltása: A klasszikus buildelési folyamatok és a klasszikus kiadási folyamatok létrehozásának független letiltása. Ha mindkettő le van tiltva, a felhasználói felületen vagy a REST API-n keresztül nem hozható létre klasszikus buildfolyamat, klasszikus kiadási folyamat, feladatcsoportok vagy üzembe helyezési csoportok. További információ: A klasszikus csővezetékeinek létrehozásának letiltása.

Biztonságos ügynökök

A tárolók védelméhez jelölje meg a köteteket írásvédettként, állítsa be az erőforráskorlátokat, használjon megbízható lemezképeket, keressen biztonsági réseket, és kényszerítse ki a biztonsági szabályzatokat.

  • Saját üzemeltetésű ügynökök helyett használja a Microsoft által üzemeltetett ügynököket: a Microsoft által üzemeltetett ügynökök elkülönítést és tiszta virtuális gépet kínálnak egy folyamat minden egyes futtatásához. Saját üzemeltetésű ügynökök helyett használja a Microsoft által üzemeltetett ügynököket. További információ: Microsoft által üzemeltetett ügynökök.
  • Különálló ügynökök minden projekthez: Az oldalirányú mozgás mérséklése és a projektek közötti keresztszennyeződés megakadályozása érdekében külön ügynökkészleteket kell fenntartania, amelyek mindegyike egy adott projekthez tartozik.
  • Alacsony jogosultságú fiókok használata ügynökök futtatásához: A rendszerbiztonság javítása érdekében használja a legalacsonyabb jogosultságú fiókot a saját üzemeltetésű ügynökök futtatásához. Fontolja meg például a gépfiók vagy a felügyelt szolgáltatás identitásának használatát. Ne futtasson ügynököt olyan identitás alatt, amely közvetlen hozzáféréssel rendelkezik az Azure DevOps-erőforrásokhoz.
  • Éles termelési artefaktumok és bizalmas ügynökkészletek elkülönítése: A biztonsági problémák elkerülése érdekében használjon különböző ügynökkészleteket.
    • Használjon külön ügynökkészletet az éles összetevőkhöz: Elkülönítheti az éles összetevőket egy különálló ügynökkészlet használatával, megakadályozva a nem termelési ágak véletlen üzembe helyezését.
    • Szegmensérzékeny készletek: Hozzon létre külön készleteket a bizalmas és nem érzékeny számítási feladatokhoz. Csak a megfelelő poolhoz társított builddefiníciókban engedélyezze a hitelesítési adatokat.
  • Korlátozó tűzfalak konfigurálása saját üzemeltetésű ügynökökhöz: A tűzfalak beállítása a lehető legszigorúbban, ugyanakkor lehetővé teszi az ügynökök működését, a biztonság és a használhatóság kiegyensúlyozását.
  • Saját üzemeltetésű ügynökkészletek rendszeres frissítése: Tartsa naprakészen a saját üzemeltetésű ügynököket rendszeres frissítésekkel, hogy a sebezhető kód ne fusson, így csökken a kihasználtság kockázata.

Változók és paraméterek biztonságos használata

A titkos kódok beállításához ajánlott eljárásokat követve biztonságosan használhat változókat és paramétereket a folyamatokban. Az ajánlott eljárások közé tartozik a titkos kódok használatának korlátozása, az üzenetsor-idő változók használata, valamint a rendszerhéj-feladat argumentumainak érvényesítése a folyamat fenyegetésekkel és biztonsági résekkel szembeni védelmének érdekében.

  • Titkos kódokhoz való hozzáférés korlátozása: Távolítsa el a titkokat vagy kulcsokat a csővezetékekben való megjelenésük elkerülése érdekében. Lépjen titkosítás nélküli hitelesítési módszerekre, mint például a munkaterhelés identitásainak szövetsége, vagy állítsa be a bizalmas adatokat a felhasználói felületen, egy változócsoportban vagy egy Azure Key Vaultból származó változócsoportban.
  • Rendszerhéjparaméter-ellenőrzés engedélyezése: Ha a rendszerhéj feladatok argumentumainak paraméterérvényesítése engedélyezése beállítás engedélyezve van, további ellenőrzés történik a karakterek, például a pontosvesszők, idézőjelek és zárójelek esetében. Kapcsolja be az engedélyezett shell feladatok argumentumainak paraméterérvényesítését a szervezet vagy a projekt szintjén a Beállítások>Folyamatok>Beállításai között.
  • Az üzenetsor idején beállítható változók korlátozása: Akadályozza meg, hogy a felhasználók új változókat definiáljanak a várólistában, azáltal, hogy a Szervezet beállításaibanPipelines részben engedélyezi az üzenetsor idején beállítható változók korlátozását.
  • Változók helyett paramétereket használjon: A változókkal ellentétben a futó folyamatok nem módosíthatják a folyamat paramétereit. A paraméterek olyan adattípusokkal rendelkeznek, mint number az és string, és bizonyos értékrészekre korlátozhatók. Ez a korlátozás akkor hasznos, ha a folyamat felhasználó által konfigurálható aspektusa csak előre definiált listából fogad el értékeket, biztosítva, hogy a folyamat ne fogadjon el tetszőleges adatokat.
  • Titkos adatok hivatkozása sablonokból: Ahelyett, hogy közvetlenül a folyamat YAML-jében titkos paraméterekkel rendelkező beágyazott szkripteket alkalmazna, használjon sablonokat a bizalmas információk elvonására a fő folyamattól. A módszer implementálásához hozzon létre egy külön YAML-fájlt a szkripthez, majd tárolja a szkriptet egy külön, biztonságos adattárban. Ezután hivatkozhat a sablonra, és paraméterként átadhat egy titkos változót a YAML-ben. A biztonságos változónak az Azure Key Vaultból, egy változócsoportból vagy a folyamat felhasználói felületéről kell származnia. További információ: Sablonok használata.
  • Titkos kulcsok korlátozása ágszabályzatokkal és változócsoport-engedélyekkel: A változócsoport-engedélyek, a feltételes feladatbeszúrás és az elágaztatási szabályzatok kombinációjával gondoskodhat arról, hogy a titkos kulcsok az main ághoz legyenek kötve. További információ: Titkos kódok védelme.
  • A beállítási változók korlátozásához használja a setvariable függvényt: A settableVariables attribútum használatával konfigurálhatja, hogy milyen változókat engedélyezhetnek a folyamatok szerzői a pipeline-ban. E beállítás nélkül a folyamatkészítők korlátlan számú új változót deklarálhatnak a naplózási setvariable paranccsal. Ha üres listát with settableVariablesad meg, az összes változóbeállítás nem lesz engedélyezve. További információt a settableVariables YAML-séma attribútumában talál.

A legjobb módszer egy titok megvédésére az, ha eleve nincs titkunk. Ha lehetséges, kerülje a titkos kódok használatát, ne tárolja őket YAML-fájlokban, és győződjön meg arról, hogy nincsenek naplózva vagy nyomtatva a biztonság fenntartása érdekében.

  • Ha lehetséges, kerülje a titkos kulcsok használatát: Ellenőrizze, hogy a folyamat használhat-e más módszert, mint egy titkos kód használata egy feladat végrehajtásához, például szolgáltatáskapcsolat a számítási feladatok identitásának összevonásával vagy egy felügyelt identitással. A felügyelt identitások lehetővé teszik az alkalmazások és szolgáltatások számára, hogy explicit hitelesítő adatok megkövetelése nélkül hitelesítsék magukat az Azure-ral. További információ: Szolgáltatásnevek és felügyelt identitások használata. Hasonlóképpen kerülje a személyes hozzáférési jogkivonatok (PAT-k) tárolását vagy használatát Azure DevOps-Azure DevOps hitelesítéshez, amikor a Azure DevOps szolgáltatáskapcsolat elérhető, mivel a hosszú élettartamú jogkivonatokat Microsoft Entra számítási feladatok identitására cseréli. Ne tegyen titkos kulcsokat a YAML-ben: A bizalmas értékeket soha ne tárolja egyszerű szövegként egy Azure Pipelines-fájlban .yml fájlban.
  • Ne naplózza vagy nyomtassa ki a titkos kulcsokat: Kerülje a titkos kulcsok konzolra való visszahangzását, parancssori paraméterekben való használatát vagy fájlokba való naplózását. Az Azure Pipelines megpróbál titkos kulcsokat súrolni a naplókból, ahol csak lehetséges, de nem tud minden olyan módszert elkapni, amellyel a titkos kulcsok kiszivároghatnak.
  • Ne használjon strukturált adatokat, például JSON-t titkos kulcsként: Hozzon létre egyedi titkos kulcsokat minden bizalmas értékhez. Ez a megközelítés jobb újraírási pontosságot biztosít, és minimalizálja a bizalmas adatok véletlen felfedésének kockázatát.

Titkos adatok ellenőrzése és elforgatása

A folyamatok védelme érdekében rendszeresen naplózza a titkos kódok kezelését a feladatokban és naplókban, tekintse át és távolítsa el a szükségtelen titkos kulcsokat, és forgassa el a titkos kulcsokat a biztonsági kockázatok minimalizálása érdekében.

  • Titkos kódok kezelésének naplózása a tevékenységekben és naplókban: Ellenőrzi a feladatokat, hogy a titkos kulcsok ne legyenek elküldve a gazdagépeknek, és ne legyenek kinyomtatva a naplókba. Ellenőrizze, hogy nincsenek-e titkos kódok a naplófájlokban, beleértve a hibanaplókat is.
  • A regisztrált titkok áttekintése: Győződjön meg arról, hogy a folyamatban lévő titkokra továbbra is szükség van, és távolítsa el azokat, amelyekre már nincs szükség a zsúfoltság és a potenciális biztonsági kockázatok csökkentése érdekében.
  • Titkos kulcsok elforgatása: A titkos kulcsok rendszeres elforgatásával minimalizálható az az idő, amely alatt a titkos kulcsok kihasználhatók.

Rosszindulatú kód végrehajtásának megakadályozása

Annak érdekében, hogy csak tesztelt és megtisztított kód futhasson a folyamaton, rendszeresen tekintse át a folyamatokat a gyakori problémákért.

  • Kódvizsgálat: A rendszerhéj parancsinjektálásának elkerülése érdekében az argumentumok speciális karaktereinek feloldása. A GitHub Advanced Security for Azure DevOps használatával automatizálhatja a kódkeresést.
  • Bemenetek ellenőrzése és paraméterek használata: Bemeneti paraméterek és argumentumok ellenőrzése a nem szándékos viselkedés megakadályozása érdekében. Paraméteres lekérdezések használata szkriptekben az SQL-injektálás megakadályozása érdekében. A futtatókörnyezeti paraméterek segítenek elkerülni az olyan változókkal kapcsolatos biztonsági problémákat, mint az argumentuminjektálás.
  • Ne használja a PATH-t a szkriptekben: Az ügynök PATH beállítására való támaszkodás veszélyes, mert egy korábbi szkript vagy eszköz módosíthatja. Mindig használjon teljesen kvalifikált elérési útvonalat.
  • Az elérhető feladatok szabályozása: Tiltsa le a tevékenységek Marketplace-ről való telepítésének és futtatásának lehetőségét, így nagyobb mértékben szabályozhatja a folyamatban végrehajtott kódot.

Biztonságos tárolók

Megtudhatja, hogyan védheti meg a tárolókat konfigurációmódosításokkal, vizsgálatokkal és szabályzatokkal.

  • Kötetek megjelölése írásvédettként: A tárolók rendszer által biztosított kötetcsatlakoztatásokat tartalmaznak; ezek a gazdaügynökkel való munkához szükséges feladatokhoz, eszközökhöz és külső összetevőkhöz állnak rendelkezésre. Állítsa externals, tasks és tools csak olvashatóra a nagyobb biztonság érdekében.
  • Tárolóspecifikus erőforráskorlátok beállítása: Állítsa be a processzorra és a memóriára vonatkozó korlátozásokat, hogy a tárolók ne használjanak túl sok erőforrást, ami szolgáltatásmegtagadáshoz vagy biztonsági résekhez vezethet.
  • Megbízható rendszerképek használata: Megbízható forrásokból, például az Azure Container Registryből vagy a Docker Hubból származó hivatalos és ellenőrzött rendszerképek használata. Mindig adjon meg egy adott verziót vagy címkét a konzisztencia és a megbízhatóság fenntartása érdekében, ahelyett, hogy a latest címkére támaszkodik. Rendszeresen frissítse az alaprendszerképeket, hogy tartalmazza a legújabb biztonsági javításokat és hibajavításokat.
  • Tárolók biztonsági réseinek vizsgálata és futtatókörnyezeti veszélyforrások elleni védelem kényszerítése: A biztonsági kockázatok figyeléséhez és észleléséhez használjon olyan eszközöket, mint a Microsoft Defender for Cloud . Emellett az Azure Container Registry integrált biztonságirés-vizsgálatot is biztosít, hogy a tárolólemezképek biztonságosak legyenek az üzembe helyezés előtt. A nem Microsoft-ellenőrző eszközöket az Azure DevOps bővítményeken keresztül is integrálhatja a biztonsági ellenőrzésekhez.
  • Biztonsági szabályzatok implementálása a jogosultságok eszkalálásának megakadályozása érdekében, valamint annak biztosítása, hogy a tárolók a minimálisan szükséges jogosultságokkal fussanak: például az Azure Kubernetes Service (AKS), a szerepköralapú hozzáférés-vezérlés és a Pod security Admission lehetővé teszi a tárolójogszabályok korlátozását, a nem gyökérszintű végrehajtást és a kritikus erőforrásokhoz való hozzáférés korlátozását.
  • Hálózati házirendek használata: A hálózati házirendek segítségével korlátozhatja a tárolók közötti kommunikációt, biztosítva, hogy csak az engedélyezett tárolók férhessenek hozzá a hálózaton belüli bizalmas erőforrásokhoz. Emellett az Azure Policy for AKS alkalmazható a tárolóbiztonsági ajánlott eljárások kikényszerítésére, például csak a megbízható tárolólemezképek üzembe helyezésének biztosítására.

Ajánlott eljárások kikényszerítése sablonok használatával

Kezdje egy minimális sablonnal, és fokozatosan kényszerítse ki a bővítményeket. Ez a megközelítés biztosítja, hogy a biztonsági eljárások megvalósítása során egy központosított kiindulási ponttal rendelkezzen, amely az összes folyamatot lefedi.

  • Bővítősablonok használata: A sablonok kiterjesztése határozza meg a külső struktúrát, és konkrét pontokat kínál a célzott testreszabásokhoz. A kiterjesztő sablonok használatával megakadályozhatja, hogy rosszindulatú kódok beszivárogjanak egy folyamatba.
  • A hozzáférés korlátozása lépésekkel: Korlátozza a hálózati hozzáférést úgy, hogy a csomagok letöltése nem a gazdagépen, hanem egy tárolón fut. Ha a lépések tárolóban futnak, megakadályozhatja, hogy egy rossz szereplő módosítsa az ügynök konfigurációját, vagy kártékony kódot hagyjon a későbbi végrehajtáshoz.