- A JEA a legkisebb privilégium elvét alkalmazza PowerShell távoli hozzáférés, a megemelt jogosultságokkal rendelkező fiókok számának csökkentése és az egyes szerepkörökhöz elérhető parancsmagok korlátozása.
- A .psrc és .pssc fájlok kombinációja lehetővé teszi szerepkör-képességek, korlátozott végpontok, virtuális fiókok és részletes átiratok meghatározását a teljes körű audithoz.
- A csoportházirend-objektumokhoz, az AppLockerhez vagy az általános végpontokhoz hasonló megközelítésekhez képest a JEA sokkal részletesebb vezérlést és robusztus RBAC modellt kínál a feladatok delegálásához a privilegizált hitelesítő adatok felfedése nélkül.
- Helyes megvalósítása gondos szerepkör-tervezést, tesztelést és folyamatos karbantartást igényel, de jelentős biztonsági lökést biztosít a termelékenység feláldozása nélkül.
A PowerShell távoli hozzáférés használata szinte nélkülözhetetlenné vált bármilyen környezetben. Windows Modern, de távoli hozzáférést biztosítani felügyelet nélkül olyan, mintha az adatközpont kulcsait az asztalon hagynánk. Itt jön képbe a játék. Just-Enough-Adminisztráció (JEA), egy olyan biztonsági réteg, amely lehetővé teszi a feladatok delegálását anélkül, hogy rendszergazdai jogokat adna fel jobbra-balra.
A JEA segítségével nagyon korlátozott számú távoli hozzáférési pontot állíthat be, ahol csak bizonyos felhasználók futtathatják a parancsok amelyeket Ön engedélyezett, több jogosultsággal rendelkező fiókok alatt, de anélkül, hogy ismerné a valódi hitelesítő adatokat, vagy eltérhetne a forgatókönyvtőlÉs mindezt átiratokban rögzítették, és naplók részletesek, amelyek lehetővé teszik az ellenőrzést, hogy ki, mit, mikor és honnan csinált.
Mi az a Just-Enough-Administration (JEA), és miért fontos?
A Just-Enough-Administration egy PowerShell-alapú biztonsági technológia. amely egy delegált adminisztrációs modellt valósít meg a szükséges legkevesebb jogosultsággal. A gyakorlatban a JEA lehetővé teszi távoli végpontok elérését, ahol csak a parancsmagok, függvények, szkriptek és az Ön által definiált külső parancsok zárt halmaza érhető el.
Ennek a megközelítésnek köszönhetően képes lehetsz drasztikusan csökkentse a megemelt jogosultságokkal rendelkező fiókok számát A szerverein virtuális fiókokat vagy csoportosan felügyelt szolgáltatásfiókokat (gMSA) használhat, amelyek kiemelt jogosultságokkal rendelkező műveleteket hajtanak végre a standard felhasználók nevében. A felhasználó a szokásos hitelesítő adataival jelentkezik be, és a JEA-munkameneten keresztül olyan parancsokat indít, amelyek a háttérben, magasabb jogosultságokkal futnak.
A JEA másik kulcsfontosságú pillére a képesség, hogy pontosan meghatározni, hogy mit tehet az egyes szerepkörökA szerepkör-képességfájlok határozzák meg, hogy mely parancsmagok, egyéni függvények, külső parancsok vagy PowerShell-szolgáltatók láthatók. A többi egyszerűen nem létezik a felhasználó számára: nem tudnak szkripteket improvizálni, szabadon navigálni a fájlrendszerben, és nem férhetnek hozzá olyan szolgáltatásokhoz vagy folyamatokhoz, amelyeket nem adott meg.
Továbbá minden JEA munkamenet konfigurálható úgy, hogy generáljon teljes átiratok és audit eseményekA parancsok, paraméterek, kimenetek, hibák, felhasználói identitások és végrehajtási idők rögzítése nemcsak a szabályozási követelmények teljesítésében segít, hanem felbecsülhetetlen értékű a biztonsági incidensek vagy működési hibák kivizsgálásakor is.
A privilegizált fiókok kockázatai és a JEA általi mérséklésük
Emelt jogosultságokkal rendelkező helyi, tartományi vagy alkalmazás-adminisztrátori fiókok azt jelentik, hogy az egyik legsúlyosabb kockázati vektor bármely szervezetbenHa egy támadó megszerzi ezen hitelesítő adatok egyikét, oldalirányban mozoghat a hálózaton, kiterjesztheti a jogosultságokat, hozzáférhet kritikus adatokhoz, kulcsfontosságú szolgáltatásokhoz, vagy akár teljes rendszereket is leállíthat.
A jogosultságok eltávolítása nem mindig egyszerű. Klasszikus példa erre a egy olyan szerver, amely DNS-t és Active Directory tartományvezérlőt is üzemeltetA DNS-csapatnak helyi rendszergazdai jogosultságokra van szüksége a DNS-szolgáltatással kapcsolatos problémák elhárításához, de ha hozzáadjuk őket a Tartománygazdák csoporthoz, akkor gyakorlatilag megkapják az irányítást a teljes erdő felett, és hozzáférést az adott gép bármely erőforrásához. Ez egy klasszikus példa arra, hogyan kell feláldozni a biztonságot a működési kényelem érdekében.
A JEA ezt a dilemmát a következők szigorú alkalmazásával oldja meg: a legkisebb privilégium elveA DNS-adminisztrátorok tartományi adminisztrátorrá tétele helyett létrehozhat egy dedikált DNS JEA-végpontot, amely csak a gyorsítótár törléséhez, a szolgáltatás újraindításához, a naplók áttekintéséhez vagy hasonló feladatokhoz szükséges parancsmagokat teszi elérhetővé. Ez lehetővé teszi az operátor számára, hogy a feladatát az Active Directory vizsgálata, a fájlrendszerben való navigálás, véletlenszerű szkriptek futtatása vagy potenciálisan veszélyes segédprogramok végrehajtása nélkül végezze el.
Amikor a JEA-munkameneteket úgy konfigurálja, hogy használják virtuális fiókok ideiglenes engedélyekkelA lépés még érdekesebb: a felhasználó nem privilégiumos hitelesítő adatokkal csatlakozik, és ebből a munkamenetből olyan feladatokat hajthat végre, amelyekhez általában rendszergazdai jogosultságok szükségesek. Ez lehetővé teszi számos felhasználó eltávolítását a helyi vagy tartományi rendszergazdai csoportokból, fenntartva a működést, miközben jelentősen megerősíti a támadási felületet.
A JEA alapját képező biztonsági koncepciók
A JEA nem a semmiből jött létre: Számos jól bevált biztonsági elven és modellen alapul. amelyek koherenciát és robusztusságot biztosítanak neki. Az első a fent említett minimális jogosultságok elve, amely előírja, hogy mind a felhasználók, mind a folyamatok csak a funkcióikhoz elengedhetetlen jogosultságokkal rendelkezzenek.
A második fő pillér a modell, Szerepköralapú hozzáférés-vezérlés (RBAC)A JEA szerepkör-képességfájlokon keresztül valósítja meg az RBAC-t, ahol meghatározhatja, hogy egy adott szerepkör mit tehet egy távoli munkameneten belül. Például egy helpdesk szerepkör listázhatja a szolgáltatásokat, megtekintheti az eseményeket és újraindíthat egy adott szolgáltatást, míg egy SQL Server adminisztrációs szerepkör csak a következőkhöz kapcsolódó parancsmagokat futtathatja... adatbázisok és még egy kicsit.
La A JEA technikai alapja a PowerShell és annak távoli infrastruktúrája.A PowerShell biztosítja a nyelvet, a parancsmagokat és a távoli kommunikációs réteget (WinRM/WS-Management), a JEA pedig korlátozott végpontok, virtuális fiókok és az elérhető parancsok részletes szabályozásának rendszerét egészíti ki.
Egy másik fontos fogalom az korlátozott adminisztráció, hasonló a Hozzáférés hozzárendelve Windows 11 kioszk módbanAhelyett, hogy egy operátornak teljes shell-t adna, a JEA egy olyan munkamenetet hoz létre, ahol a szkriptnyelv korlátozott (alapértelmezés szerint NoLanguage), új függvények vagy változók létrehozása blokkolva van, ciklusok és feltételes utasítások tiltva vannak, és csak a jóváhagyott cmdletek végrehajtása engedélyezett. Ez jelentősen korlátozza a támadó lehetőségeit, ha sikerül hozzáférnie az adott munkamenethez.
Főbb összetevők: .psrc és .pssc fájlok
Bármely JEA-telepítés középpontjában kétféle fájl áll: szerepkör-képességfájlok (.psrc) és munkamenet-konfigurációs fájlok (.pssc)Együttesen egy általános célú héjat tökéletesen testreszabott végponttá alakítanak át adott felhasználók számára.
Egy szerepkör-képességfájlban definiálod pontosan mely parancsok érhetők el a szerepkör számáraA legfontosabb elemek közé tartoznak:
- Látható parancsmagok: az engedélyezett cmdletek listája, akár a paraméterek korlátozásának lehetőségével is.
- Látható függvények: a munkamenetbe betöltött egyéni függvények.
- LáthatóKülsőParancsok: a hozzáfért külső végrehajtható fájlok.
- Látható szolgáltatók: A munkamenetben látható PowerShell-szolgáltatók (például FileSystem vagy Registry).
A .pssc munkamenet-konfigurációs fájlok viszont... A JEA végpontot így írják le, és a szerepkörökhöz kapcsolják.Az olyan elemeket deklaráljuk itt, mint például a következők:
- Szerepkör-definíciók: felhasználók vagy biztonsági csoportok leképezése szerepkör-képességekhez.
- Munkamenettípus: ahol a „RestrictedRemoteServer” általában a munkamenet megerősítésére van beállítva.
- Átiratkönyvtár: mappa, ahol az egyes munkamenetek átiratai tárolódnak.
- Futtatás virtuális fiókként és a kapcsolódó beállítások, például, hogy a virtuális fiók hozzáadódik-e adott csoportokhoz.
A JEA a következő formában testesül meg: A rendszerben regisztrált PowerShell távoli elérési végpontokEzeket a végpontokat olyan parancsmagokkal lehet létrehozni és engedélyezni, mint például Új PSSessionConfigurationFile, Register‑PSSessionConfiguration vagy grafikus eszközök, mint például a JEA Helper Tool, amelyek megkönnyítik a .pssc és .psrc fájlok létrehozását anélkül, hogy annyira bajlódnánk a szintaxissal.
JEA munkamenet életciklusa
Egy teljes JEA környezet beállításakor a folyamat általában logikai lépések sorozatát követi, amelyek Egy nyílt távelérési rendszert szigorúan szabályozottá alakítanak.A tipikus sorrend a következő:
Először létrehoz egy biztonsági csoport vagy több csoport amelyek a delegálni kívánt szerepköröket képviselik (például HelpdeskDNS, weboperátorok, SQL operátorok). A csoportok használata nem kötelező, de a környezet növekedésével sokkal egyszerűbbé teszi az adminisztrációt.
Ezután egy vagy több elő van készítve szerepkör-képességfájlok .psrc Ezek felsorolják az engedélyezett műveleteket: parancsmagok, függvények, szkriptek, külső parancsok, aliasok, szolgáltatók és további korlátozások (adott paraméterek, engedélyezett elérési utak stb.). Itt például engedélyezheti az összes Get- kezdetű parancsmagot, a Restart-Service szolgáltatást a Spooler szolgáltatásra korlátozhatja, és csak a FileSystem szolgáltatót engedélyezheti.
A következő generálódik munkamenet-konfigurációs fájl .pssc a New-PSSessionConfigurationFile használatával. Olyan beállításokat definiál, mint a SessionType = RestrictedRemoteServer, a TranscriptDirectory elérési útja, hogy virtuális fiókokat használnak-e, valamint a RoleDefinitions blokk, amely a csoportokat szerepkör-képességekhez kapcsolja, például: 'DOMAIN\HelpdeskDNS' = @{ RoleCapabilities = 'HelpdeskDNSRole' }.
Miután a .pssc fájl már elkészült, a végpont regisztrálva lesz a következővel: Register‑PSSessionConfiguration -Név JEASession Name -Elérési út\Fájl.psscEttől a pillanattól kezdve, ha a Get-PSSessionConfiguration paranccsal fel vannak sorolva az elérhető konfigurációk, az új kapcsolódási pont készen áll a kapcsolatok fogadására.
A felhasználók a számítógépükről ehhez a végponthoz csatlakoznak a következővel: Enter‑PSSession -ComputerName Server -ConfigurationName JEASession Name vagy a New-PSSession, majd az Invoke-Command paranccsal. A belépéskor a munkamenet automatikusan alkalmazza a felhasználóhoz társított szerepkör-képességben meghatározott korlátozásokat.
Az ülés során, A PowerShell távoli elérés a WinRM-et használja titkosított csatornákkalIntegrált hitelesítés (jellemzően Kerberos a tartományban) és a szolgáltatáshoz definiált tűzfalszabályok. Ennek alapján, ha a RunAsVirtualAccount engedélyezve van, egy ideiglenes virtuális fiók jön létre, hozzáadódik a szükséges csoportokhoz, majd a munkamenet befejezésekor megsemmisül.
Végül, a JEA ülésének bezárásakor, Az auditátiratok és események mentésre kerülnek. Ezek a naplók egyértelmű nyomot hagynak a végrehajtott parancsokról, az eredményekről és a felhasználói kontextusról. Ezeket aztán elküldhetjük egy SIEM rendszernek, vagy korrelálhatjuk egy SIEM rendszeren belül riasztások és további elemzés céljából.
PowerShell távoli hozzáférés-vezérlés, hozzáférés-vezérlés és -erősítés
PowerShell távoli elérés, a szolgáltatás által támogatva Windows távoli felügyelet (WinRM) A WS-Management protokoll lehetővé teszi parancsok és szkriptek központosított végrehajtását távoli számítógépeken. Ez egy hatékony eszköz az automatizáláshoz, a tömeges szerverkezeléshez, a hibakereséshez és a távoli támogatáshoz.
Default, helyi rendszergazdák és a Távoli kezelés felhasználói csoport tagjai Szabványos PowerShell-végpontokat használhatnak. Számos környezetben ezt a képességet arra használták, hogy nem rendszergazdai felhasználók távoli feladatokat futtassanak, ami nem eredendően veszélyes, de ha nincs megfelelően szabályozva, jelentős teret nyit a visszaéléseknek.
A biztonsági helyzet megerősítése érdekében egy közös stratégia magában foglalja a következőket: A távoli PowerShell-hozzáférést csak rendszergazdai fiókokra korlátozza. Vagy még jobb, ha ezt a korlátozást JEA végpontokkal kombináljuk, amelyek bizonyos felhasználóknak csak a feltétlenül szükséges hozzáférést biztosítják. Ez a következőkkel érhető el:
- Csoportházirend-objektumok, amelyek meghatározzák, hogy mely csoportok használhatják a WinRM-et, és az alapértelmezett végpontokat.
- Tűzfalszabályok, amelyek csak alhálózatokról vagy felügyeleti számítógépekről engedélyezik a WinRM-et.
- A Távoli felügyeleti felhasználók csoport eltávolítása a standard végpontok ACL-jeiből.
Ezenkívül választhatja a következőket is: A PowerShell teljes blokkolása nem rendszergazdai felhasználók számára olyan megoldások használatával, mint az AppLocker. Így megakadályozhatja, hogy egy átlagos felhasználó helyben rosszindulatú szkripteket futtasson, de továbbra is engedélyezi a privilegizált fiókok számára a PowerShell használatát felügyeleti és automatizálási feladatokhoz.
JEA versus más PowerShell korlátozási módszerek
Többféleképpen is korlátozhatjuk, hogy mit tehetnek a felhasználók a PowerShell távelérés segítségével, és A JEA vékonyabb és rugalmasabb megoldásként illeszkedik egy olyan skálán belül, amely magában foglalja az olyan tágabb megközelítéseket, mint:
Egyrészt a használata Csoportházirend-objektum az alapértelmezett PowerShell-végpontokba belépők szabályozásáraA Microsoft PowerShell korlátozható a rendszergazdákra, vagy akár mindenki regisztrációját is törölheti, így bizonyos végpontok használatát kényszerítve ki. Ez hasznos a hozzáférés „nyers erő” jellegű korlátozására, de nem oldja meg a részletességi problémát: aki hozzáférést kap, gyakorlatilag bármit megtehet.
Másrészt vannak alkalmazásvezérlő eszközök, mint például AppLocker vagy szoftverkorlátozási szabályzatokEzek a metódusok lehetővé teszik a PowerShell.exe vagy a pwsh.exe végrehajtásának megtagadását a standard felhasználók számára, elérési út, közzétevő vagy hash alapján. Ez a megközelítés hasznos a munkaállomások védelmének megerősítésére és a felhasználók PowerShell-indításának megakadályozására, de korlátozásokat jelent, ha azt szeretné, hogy valaki korlátozott adminisztratív feladatokat végezzen a felhasználói fiókjából.
Egy másik lehetőség az Korlátozott végpontok a teljes JEA elérése nélkülLétrehozhat egyéni munkamenet-konfigurációkat, amelyek korlátozzák a parancsmagokat, függvényeket és modulokat, de nem támaszkodnak annyira a JEA által biztosított szerepmodellre, virtuális fiókokra vagy strukturált RBAC-re. Ez egyfajta köztes megoldás, amely egyszerű forgatókönyvekhez alkalmas, de kevésbé skálázható nagy környezetekben.
A JEA több világ legjavát ötvözi: szigorú parancskorlátozás, RBAC, szabályozott, megemelt jogosultságú végrehajtás és átfogó naplózásEz teszi ezt az ajánlott megoldást, ha nem rendszergazdák számára kell engedélyezni a PowerShell távelérést, de anélkül, hogy teljes körű felügyeleti környezetet biztosítana számukra.
Speciális funkciók: futtatás másik fiókként és naplózás
A JEA egyik legerősebb képessége a parancsok végrehajtása egy másik, privilegizáltabb fiókként a hitelesítő adatainak felfedése nélkülEz megoldja a tipikus „megadom neked a jelszavadat ehhez a szolgáltatáshoz, hogy megcsinálhasd az X-et” problémát, amelyet aztán soha nem változtatnak meg, és végül hatalmas kockázatot jelent.
A tartományi forgatókönyveket gyakran használják Csoportosan felügyelt szolgáltatásfiókok (gMSA) Ez lehetővé teszi a JEA végpontok számára, hogy központilag felügyelt szolgáltatásidentitás alatt, automatikus jelszócsere mellett hajtsanak végre műveleteket anélkül, hogy bármely operátor ismerné a titkot. Más esetekben ideiglenes, a géphez helyi virtuális fiókokat használnak, amelyeket esetileg hoznak létre, amikor egy felhasználó csatlakozik, és a munkamenet végén megsemmisítenek.
Audit szempontjából minden JEA-munkamenet konfigurálható úgy, hogy PowerShell-átiratok és gazdag eseménynapló-bejegyzések generálásaA jellemzően gyűjtött információk a következők:
- A beírt parancsok és paraméterek teljes előzményei.
- Generált kimenet és hibaüzenetek.
- A munkamenet kezdetének és végének időbélyegzője, valamint időtartama.
- A bejelentkezett felhasználó azonosítója és a hozzárendelt szerepkör/kapacitás.
Ha ezeket a nyomokat a következő funkciókkal kombináljuk: PowerShell modul naplózása és Forgatókönyv Naplózás blokkolása csoportházirend-objektumon keresztülA naplók SIEM rendszerbe küldésével átfogó képet kaphat arról, hogy mi történik a felügyeleti végpontokon. Ez kritikus fontosságú mind a megfelelőség (SOX auditok, ISO 27001 stb.), mind az incidensek észlelése és kezelése szempontjából.
Tipikus JEA használati esetek valós környezetekben
A JEA különösen akkor ragyog, amikor szükséged van rá Nagyon konkrét feladatok delegálása olyan csapatoknak, akiknek nem kellene adminisztrátoroknak lenniükNéhány nagyon gyakori példa a gyakorlatban:
A technikai támogatás területén felsővezetői szintű technikusoknak adhatsz segítséget JEA hozzáférés a szolgáltatások újraindításához, az eseménynaplók megtekintéséhez és a folyamatok állapotának ellenőrzéséhez szervereken, de szoftverek telepítésének, kritikus konfigurációk módosításának vagy az Active Directory elérésének lehetősége nélkül. Egy tipikus helpdesk szerepkör tartalmazhat olyan parancsmagokat, mint a Get-Service, a Restart-Service bizonyos szolgáltatásokhoz, a Get-EventLog csak olvasható módban, valamint néhány hálózati diagnosztikai parancsmagot.
Az üzemeltetési vagy fejlesztőcsapatokban konfigurálhatja a következőket: olyan konkrét feladatokra összpontosító szerepkörök, mint az IIS adminisztrációja vagy a weboldal karbantartásaPéldául hozzáférést lehet engedélyezni az alkalmazáskészlet-kezelési parancsmagokhoz, webhelyek újraindításához, naplók lekérdezéséhez egy korlátozott könyvtárból, valamint bizonyos szolgáltatások tanúsítványkezeléséhez, miközben kizárható a teljes kiszolgáló újraindítása vagy a biztonsági házirendek módosítása.
Hibrid és felhőalapú környezetekben a JEA-t gyakran használják korlátozza, hogy mit tehet az egyes csapatok virtuális gépek, tárolás vagy hálózatokOlyan végpontokat tehet elérhetővé, amelyek lehetővé teszik, hogy csak egy adott részleg virtuális gépeit kezelje, módosítsa egy adott szegmens tűzfalszabályait, vagy csak egy adott szolgáltatásfiók-készletet kezeljen, így a hozzáférés elkülönítve marad az infrastruktúra többi részétől.
Ugyanakkor a JEA nagyon jól illeszkedik a következőkhöz: Privilegizált hozzáférés-kezelési (PAM) stratégiákahol a privilegizált munkameneteket ideiglenesen biztosítják, naplózzák és személyes azonosítókhoz rendelik, elkerülve a megosztott fiókokat és minimalizálva az egyes privilegizált műveletekkel járó kockázatot.
Szenvedélyes író a bájtok és általában a technológia világáról. Szeretem megosztani tudásomat írásban, és ezt fogom tenni ebben a blogban, megmutatom a legérdekesebb dolgokat a kütyükről, szoftverekről, hardverekről, technológiai trendekről stb. Célom, hogy egyszerű és szórakoztató módon segítsek eligazodni a digitális világban.