- JEA taiko mažiausių privilegijų principą PowerShell " nuotolinis valdymas, sumažinant paskyrų su padidintomis teisėmis skaičių ir apribojant kiekvienam vaidmeniui prieinamas cmdlet.
- .psrc ir .pssc failų derinys leidžia apibrėžti vaidmenų galimybes, apribotus galinius taškus, virtualias paskyras ir išsamius transkriptus, kad būtų galima atlikti išsamų auditą.
- Palyginti su tokiais metodais kaip GPO, „AppLocker“ ar bendriniai galiniai taškai, JEA siūlo daug detalesnę kontrolę ir patikimą RBAC modelį užduotims deleguoti neatskleidžiant privilegijuotų prisijungimo duomenų.
- Teisingas jo įdiegimas reikalauja kruopštaus vaidmenų projektavimo, testavimo ir nuolatinės priežiūros, tačiau tai žymiai padidina saugumą neaukojant produktyvumo.
„PowerShell“ nuotolinio valdymo naudojimas tapo beveik nepakeičiamas bet kurioje aplinkoje. Windows Modernu, bet nuotolinės prieigos suteikimas be kontrolės yra tas pats, kas palikti duomenų centro raktus ant stalo. Štai čia ir prasideda žaidimas. „Viskas pakankamai“ administracija (JEA), saugumo sluoksnis, leidžiantis deleguoti užduotis neatiduodant administratoriaus teisių į kairę ir į dešinę.
Naudodami JEA galite nustatyti labai ribotą nuotolinės prieigos taškų skaičių, kur tik konkretūs vartotojai gali vykdyti komandos kurias autorizavote paskyrose su daugiau privilegijų, bet nežinant tikrųjų įgaliojimų ar negalėdamas nukrypti nuo scenarijausIr visa tai buvo užfiksuota stenogramose ir žurnalai išsamius, kurie leidžia jums patikrinti, kas ką, kada ir iš kur atliko.
Kas yra pakankamo lygio administravimas (JEA) ir kodėl jis svarbus?
„Just-Enough-Administration“ yra „PowerShell“ pagrindu sukurta saugumo technologija. kuris įgyvendina deleguotojo administravimo modelį su mažiausiomis reikiamomis privilegijomis. Praktiškai JEA leidžia jums pasiekti nuotolinius galinius taškus, kuriuose pasiekiamas tik uždaras jūsų apibrėžtų cmdlet, funkcijų, scenarijų ir išorinių komandų rinkinys.
Dėl šio požiūrio galite drastiškai sumažinti paskyrų su padidintomis teisėmis skaičių Savo serveriuose galite naudoti virtualias paskyras arba grupėje valdomas paslaugų paskyras (gMSA), kurios vykdo privilegijuotus veiksmus standartinių vartotojų vardu. Vartotojas prisijungia naudodamas savo įprastus prisijungimo duomenis ir per JEA sesiją paleidžia komandas, kurios vykdomos užkulisiuose su didesnėmis teisėmis.
Kitas svarbus JEA ramstis yra gebėjimas tiksliai apibrėžti, ką gali atlikti kiekvienas vaidmuoVaidmenų galimybių failai apibrėžia, kurios cmdlet, pasirinktinės funkcijos, išorinės komandos arba „PowerShell“ teikėjai yra matomi. Visa kita vartotojui tiesiog neegzistuoja: jie negali improvizuoti scenarijų, laisvai naršyti failų sistemoje arba pasiekti paslaugų ar procesų, kurių nenurodėte.
Be to, visus JEA seansus galima sukonfigūruoti taip, kad jie generuotų pilni transkriptai ir audito įvykiaiKomandų, parametrų, išvesties, klaidų, vartotojo tapatybės ir vykdymo laiko fiksavimas ne tik padeda laikytis norminių reikalavimų, bet ir yra neįkainojamas tiriant saugumo incidentą ar veikimo sutrikimą.
Privilegijuotų paskyrų rizika ir kaip JEA ją mažina
Vietinės, domeno arba programos administratoriaus paskyros su padidintomis teisėmis reiškia vienas rimčiausių rizikos vektorių bet kurioje organizacijojeJei užpuolikas gauna vieną iš šių prisijungimo duomenų, jis gali judėti tinkle, didinti privilegijas ir gauti prieigą prie svarbių duomenų, pagrindinių paslaugų ar net uždaryti ištisas sistemas.
Privilegijų atėmimas ne visada yra paprastas. Klasikinis pavyzdys yra serveris, kuriame yra ir DNS, ir „Active Directory“ domeno valdiklisDNS komandai reikia vietinio administratoriaus teisių, kad galėtų spręsti DNS paslaugų problemas, tačiau pridėjus juos prie domeno administratorių grupės, jie iš esmės gauna viso miško kontrolę ir prieigą prie bet kurio to kompiuterio resurso. Tai klasikinis saugumo aukojimo dėl operacinio patogumo pavyzdys.
JEA išsprendžia šią dilemą griežtai taikydama mažiausių privilegijų principasUžuot paskyrę DNS administratorius domeno administratoriais, galite sukurti specialų DNS JEA galinį tašką, kuris atvertų tik tas cmdlet, reikalingas talpyklos valymui, paslaugos paleidimui iš naujo, žurnalų peržiūrai ar panašioms užduotims. Tai leidžia operatoriui atlikti savo darbą netikrinant „Active Directory“, nenaršant failų sistemoje, nevykdant atsitiktinių scenarijų ar vykdant potencialiai pavojingas programas.
Kai konfigūruojate JEA sesijas, kad jos būtų naudojamos virtualios paskyros su laikinais leidimaisŠis žingsnis dar įdomesnis: vartotojas prisijungia naudodamas neprivilegijuotas prisijungimo teises ir iš tos sesijos gali vykdyti užduotis, kurioms paprastai reikalingos administratoriaus teisės. Tai leidžia daugelį vartotojų pašalinti iš vietinių arba domeno administratorių grupių, išlaikant operacijas ir žymiai sustiprinant atakų paviršių.
JEA pagrindu veikiančios saugumo koncepcijos
JEA neatsirado iš niekur: Jis pagrįstas keliais gerai žinomais saugumo principais ir modeliais. kurie suteikia jam darnumo ir patikimumo. Pirmasis yra anksčiau minėtas mažiausių privilegijų principas, kuris diktuoja, kad tiek vartotojai, tiek procesai turėtų turėti tik tas teises, kurios yra būtinos jų funkcijoms atlikti.
Antras svarbus ramstis yra modelis Vaidmenimis pagrįsta prieigos kontrolė (RBAC)JEA įgyvendina RBAC per vaidmenų galimybių failus, kuriuose apibrėžiate, ką konkretus vaidmuo gali atlikti nuotolinės sesijos metu. Pavyzdžiui, pagalbos tarnybos vaidmuo gali pateikti paslaugų sąrašą, peržiūrėti įvykius ir paleisti konkrečią paslaugą iš naujo, o SQL serverio administravimo vaidmuo gali vykdyti tik cmdlet, susijusias su... duomenų bazės ir dar šiek tiek.
La JEA techninis pagrindas yra „PowerShell“ ir jos nuotolinio valdymo infrastruktūra.„PowerShell“ teikia kalbą, cmdlet ir nuotolinio ryšio sluoksnį („WinRM“ / „WS-Management“), o JEA prideda apribotų galinių taškų, virtualių paskyrų ir detalios kontrolės sistemą, kurios komandos yra prieinamos.
Kita svarbi koncepcija yra riboto administravimo, panašus į a Priskirta prieiga „Windows 11“ kiosko režimuUžuot suteikęs operatoriui visą apvalkalą, JEA sukuria sesiją, kurioje ribojama scenarijų kalba (pagal numatytuosius nustatymus – „NoLanguage“), blokuojamas naujų funkcijų ar kintamųjų kūrimas, uždraudžiami ciklai ir sąlyginės operacijos ir leidžiama vykdyti tik patvirtintą cmdlet rinkinį. Tai smarkiai apriboja užpuoliko, kuriam pavyksta gauti prieigą prie tos sesijos, galimybes.
Pagrindiniai komponentai: .psrc ir .pssc failai
Bet kurio JEA diegimo pagrindas yra dviejų tipų failai: vaidmens galimybių failai (.psrc) ir sesijos konfigūracijos failai (.pssc)Kartu jie paverčia bendrosios paskirties apvalkalą idealiai pritaikytu galiniu tašku konkretiems vartotojams.
Rolės galimybių faile jūs apibrėžiate kurios komandos yra prieinamos vaidmeniuiTarp svarbiausių elementų yra šie:
- VisibleCmdletsLeidžiamų cmdlet'ų sąrašas, netgi galima apriboti parametrus.
- Matomos funkcijos: sesijoje įkeliamos pasirinktinės funkcijos.
- Matomos išorinės komandos: konkretūs išoriniai vykdomieji failai, prie kurių yra prisijungiama.
- Matomi tiekėjai: sesijoje matomi „PowerShell“ teikėjai (pvz., „FileSystem“ arba „Registry“).
Kita vertus, .pssc sesijos konfigūracijos failai Jie apibūdina JEA galinį tašką kaip tokį ir susieja jį su vaidmenimis.Čia deklaruojami tokie elementai kaip šie:
- Vaidmenų apibrėžimai: vartotojų arba saugos grupių susiejimas su vaidmenų galimybėmis.
- Seanso tipas: kur „RestrictedRemoteServer“ paprastai nustatomas sesijos sustiprinimui.
- Nuorašų katalogas: aplankas, kuriame saugomi kiekvieno seanso transkriptai.
- RunAsVirtualAccount ir susijusios parinktys, pvz., ar virtuali paskyra pridedama prie konkrečių grupių.
JEA materializuojasi kaip Sistemoje užregistruoti „PowerShell“ nuotolinio valdymo galiniai taškaiŠie galiniai taškai sukuriami ir įjungiami naudojant cmdlet, pvz. Naujas PSSessionConfigurationFile, Registro PSSesijos konfigūracija arba grafinius įrankius, tokius kaip „JEA Helper Tool“, kuris palengvina .pssc ir .psrc failų generavimą be didelių sunkumų dėl sintaksės.
JEA sesijos gyvavimo ciklas
Kuriant visą JEA aplinką, procesas paprastai vyksta pagal loginių žingsnių seką, kuri Jie atvirą nuotolinio valdymo sistemą transformuoja į griežtai valdomą.Tipinė seka yra tokia:
Pirmiausia sukuriate a saugumo grupė arba kelios grupės kurie atitinka vaidmenis, kuriuos norite deleguoti (pvz., „HelpdeskDNS“, žiniatinklio operatoriai, SQL operatoriai). Grupių naudojimas nėra privalomas, tačiau tai labai supaprastina administravimą augant aplinkai.
Tada paruošiamas vienas ar keli vaidmens galimybių failai .psrc Čia išvardyti leidžiami veiksmai: cmdlet, funkcijos, scenarijai, išorinės komandos, slapyvardžiai, teikėjai ir papildomi apribojimai (konkretūs parametrai, leidžiami keliai ir kt.). Pavyzdžiui, čia galite leisti visas cmdlet, kurios prasideda „Get-“, apriboti „Restart-Service“ iki „Spooler“ paslaugos ir autorizuoti tik „FileSystem“ teikėją.
Sugeneruojama toliau nurodyta informacija sesijos konfigūracijos failas .pssc naudojant „New-PSSessionConfigurationFile“. Jis apibrėžia tokias parinktis kaip „SessionType = RestrictedRemoteServer“, „TranscriptDirectory“ kelią, ar naudojamos virtualios paskyros, ir „RoleDefinitions“ bloką, kuris susieja grupes su vaidmenų galimybėmis, pavyzdžiui, „DOMAIN\HelpdeskDNS“ = @{ RoleCapabilities = 'HelpdeskDNSRole' }.
Kai .pssc failas jau paruoštas, galinis taškas registruojamas naudojant Register-PSSessionConfiguration -Pavadinimas JEASession Name -Path Kelias\Failas.psscNuo to momento, jei naudojant „Get-PSSessionConfiguration“ bus išvardytos galimos konfigūracijos, naujasis prijungimo taškas bus rodomas kaip paruoštas ryšiams priimti.
Vartotojai jungiasi prie šio galinio taško iš savo kompiuterių naudodami Įveskite PSSession -ComputerName Server -ConfigurationName JEASession Name arba su „New-PSSession“, o tada „Invoke-Command“. Pradėjus sesiją, automatiškai taikomi apribojimai, apibrėžti su vartotoju susijusiose rolės galimybėse.
Sesijos metu, „PowerShell“ nuotolinis valdymas naudoja „WinRM“ su užšifruotais kanalaisIntegruotas autentifikavimas (dažniausiai domene naudojamas „Kerberos“) ir paslaugai apibrėžtos užkardos taisyklės. Remiantis tuo, jei įjungta „RunAsVirtualAccount“, sukuriama laikina virtuali paskyra, pridedama prie reikiamų grupių ir sunaikinama pasibaigus sesijai.
Galiausiai, užbaigus JEA sesiją, Audito transkriptai ir įvykiai išsaugomi Šie žurnalai palieka aiškų įvykdytų komandų, rezultatų ir vartotojo konteksto pėdsaką. Tada juos galima siųsti į SIEM sistemą arba susieti joje įspėjimams ir tolesnei analizei.
„PowerShell“ nuotolinis valdymas, prieigos kontrolė ir apsaugos stiprinimas
„PowerShell“ nuotolinis valdymas, kurį palaiko paslauga „Windows“ nuotolinis valdymas („WinRM“) WS-Management protokolas leidžia centralizuotai vykdyti komandas ir scenarijus nuotoliniuose kompiuteriuose. Tai galinga automatizavimo, masinio serverių valdymo, derinimo ir nuotolinės pagalbos priemonė.
Pagal numatytuosius nustatymus vietiniai administratoriai ir nuotolinio valdymo vartotojų grupės nariai Jie gali naudoti standartinius „PowerShell“ galinius taškus. Daugelyje aplinkų ši galimybė buvo naudojama tam, kad ne administratoriaus teisių turintys vartotojai galėtų vykdyti nuotolines užduotis, o tai savaime nėra pavojinga, tačiau jei tai netinkamai kontroliuojama, atveria didelę galimybę piktnaudžiauti.
Siekiant sustiprinti saugumo poziciją, bendra strategija apima Apribokite nuotolinę „PowerShell“ prieigą tik administratoriaus paskyroms. Arba, dar geriau, suderinti šį apribojimą su JEA galiniais taškais, kurie suteikia tam tikriems vartotojams tik būtiniausią prieigą. Tai galima pasiekti šiais būdais:
- GPO, kurie apibrėžia, kurios grupės gali naudoti „WinRM“, ir numatytuosius galinius taškus.
- Ugniasienės taisyklės, leidžiančios „WinRM“ tik iš potinklių arba valdymo kompiuterių.
- Nuotolinio valdymo vartotojų grupės pašalinimas iš standartinių galinių taškų ACL.
Be to, galite pasirinkti Visiškai užblokuokite „PowerShell“ ne administratoriaus teisių turintiems vartotojams naudojant tokius sprendimus kaip „AppLocker“. Tokiu būdu jūs neleidžiate standartiniam vartotojui vietoje vykdyti kenkėjiškų scenarijų, bet vis tiek leidžiate privilegijuotoms paskyroms naudoti „PowerShell“ valdymo ir automatizavimo užduotims.
JEA, palyginti su kitais „PowerShell“ apribojimo metodais
Yra keli būdai, kaip apriboti tai, ką vartotojai gali daryti naudodami „PowerShell“ nuotolinį valdymą, ir JEA tinka kaip plonesnis ir lankstesnis variantas apima platesnius metodus, tokius kaip:
Viena vertus, naudojant GPO, skirtas valdyti, kas patenka į numatytuosius „PowerShell“ galinius taškus„Microsoft PowerShell“ galima apriboti tik administratoriams arba netgi atregistruoti visiems, priverčiant naudoti konkrečius galinius taškus. Tai naudinga norint apriboti prieigą „grubios jėgos“ būdu, tačiau tai neišsprendžia detalumo problemos: kas gauna prieigą, gali daryti praktiškai bet ką.
Kita vertus, yra programų valdymo įrankių, tokių kaip „AppLocker“ arba programinės įrangos apribojimų politikosŠie metodai leidžia standartiniams vartotojams uždrausti vykdyti „PowerShell.exe“ arba „pwsh.exe“ pagal kelią, leidėją arba maišos kodą. Šis metodas naudingas norint sustiprinti darbo stočių apsaugą ir užkirsti kelią bet kuriam vartotojui paleisti „PowerShell“, tačiau jis turi apribojimų, kai norite, kad kas nors atliktų ribotas administravimo užduotis iš savo vartotojo paskyros.
Kitas variantas yra Apriboti galiniai taškai nepasiekiant pilno JEAGalite kurti pasirinktines sesijos konfigūracijas, kurios riboja cmdlet, funkcijas ir modulius, tačiau nelabai pasikliauja JEA teikiamu vaidmens modeliu, virtualiomis paskyromis ar struktūrizuotu RBAC. Tai savotiškas kompromisas, tinkantis paprastiems scenarijams, bet mažiau pritaikomas didelėse aplinkose.
JEA apjungia geriausias kelių pasaulių savybes: griežtas komandų apribojimas, RBAC, kontroliuojamas padidintų privilegijų vykdymas ir išsamus registravimasTodėl tai yra rekomenduojamas sprendimas, kai reikia įjungti „PowerShell“ nuotolinį valdymą ne administratoriams, tačiau nesuteikiant jiems visos valdymo aplinkos.
Išplėstinės funkcijos: paleisti kaip kitą paskyrą ir registruoti
Vienas iš galingiausių JEA pajėgumų yra vykdyti komandas kaip kita, labiau privilegijuota paskyra neatskleidžiant savo kredencialųTai išsprendžia tipinę problemą „duosiu tau šios paslaugos slaptažodį, kad galėtum atlikti X“, kuris vėliau niekada nekeičiamas ir tampa didele rizika.
Dažniausiai naudojami domeno scenarijai Grupės valdomos paslaugų paskyros (gMSA) Tai leidžia JEA galiniams taškams vykdyti veiksmus naudojant centralizuotai valdomą paslaugos tapatybę, automatiškai keičiant slaptažodį ir jokiam operatoriui nežinant paslapties. Kitais atvejais naudojamos laikinos virtualios paskyros, esančios lokaliai prie kompiuterio, kurios sukuriamos ad hoc, kai vartotojas prisijungia, ir sunaikinamos sesijos pabaigoje.
Audito požiūriu, kiekvieną JEA sesiją galima sukonfigūruoti taip, kad generuoti ir „PowerShell“ nuorašus, ir išsamius įvykių žurnalo įrašusPaprastai renkama informacija apima:
- Visa įvestų komandų ir parametrų istorija.
- Generuojama išvestis ir klaidų pranešimai.
- Seanso pradžios ir pabaigos laiko žyma, taip pat jo trukmė.
- Prisijungusio vartotojo tapatybė ir priskirtas vaidmuo / pareigos.
Jei šiuos pėdsakus sujungsite su funkcijomis „PowerShell“ modulio registravimas ir Scenarijus Blokuoti registravimą per GPOO siųsdami žurnalus į SIEM, galite gauti patikimą informaciją apie tai, kas vyksta jūsų valdymo galiniuose įrenginiuose. Tai labai svarbu tiek atitikčiai (SOX auditai, ISO 27001 ir kt.), tiek incidentų aptikimui ir reagavimui į juos.
Tipiniai JEA naudojimo atvejai realioje aplinkoje
JEA žiba ypač tada, kai to reikia Labai konkrečių užduočių delegavimas komandoms, kurios neturėtų būti administratoriaiKai kurie labai dažni praktikoje pavyzdžiai:
Techninės pagalbos srityje galite suteikti aukščiausio lygio technikams JEA prieiga, leidžianti paleisti paslaugas iš naujo, peržiūrėti įvykių žurnalus ir patikrinti procesų būseną serveriuose, bet be galimybės įdiegti programinę įrangą, modifikuoti svarbias konfigūracijas ar pasiekti „Active Directory“. Įprastas pagalbos tarnybos vaidmuo gali apimti tokias cmdlet komandas kaip „Get-Service“, „Restart-Service“ konkrečioms paslaugoms, „Get-EventLog“ tik skaitymo režimu ir kai kurias tinklo diagnostikos cmdlet komandas.
Operacijų arba kūrimo komandose galite konfigūruoti vaidmenys, skirti konkrečioms užduotims, tokioms kaip IIS administravimas ar svetainės priežiūraPavyzdžiui, leisti prieigą prie programų telkinio valdymo cmdlet, paleisti svetaines iš naujo, ieškoti žurnalų iš riboto katalogo ir valdyti konkrečių paslaugų sertifikatus, tačiau nesuteikti galimybės paleisti viso serverio iš naujo arba modifikuoti saugos politikos.
Hibridinėse ir debesijos aplinkose JEA dažnai naudojama apriboti kiekvienos komandos galimybes virtualios mašinos, sandėliavimas ar tinklaiGalite atidaryti galinius taškus, kurie leidžia valdyti tik skyriaus virtualias mašinas, modifikuoti konkretaus segmento užkardos taisykles arba valdyti konkretų paslaugų paskyrų rinkinį, atskiriant prieigą nuo likusios infrastruktūros.
Tuo pačiu metu JEA labai gerai dera su Privilegijuotos prieigos valdymo (PAM) strategijoskur privilegijuotos sesijos suteikiamos laikinai, registruojamos ir priskiriamos asmeninėms tapatybėms, vengiant bendrų paskyrų ir sumažinant su kiekvienu privilegijuotu veiksmu susijusią riziką.
Aistringas rašytojas apie baitų pasaulį ir technologijas apskritai. Man patinka dalytis savo žiniomis rašydamas, būtent tai ir darysiu šiame tinklaraštyje, parodysiu jums įdomiausius dalykus apie programėles, programinę įrangą, techninę įrangą, technologijų tendencijas ir kt. Mano tikslas – padėti jums paprastai ir smagiai naršyti skaitmeniniame pasaulyje.