- JEA uporablja načelo najmanjših privilegijev pri PowerShell oddaljeno delo, zmanjšanje števila računov s povišanimi privilegiji in omejevanje ukazov »cmdlet«, ki so na voljo za vsako vlogo.
- Kombinacija datotek .psrc in .pssc vam omogoča, da definirate zmogljivosti vlog, omejene končne točke, virtualne račune in podrobne prepise za popolno revizijo.
- V primerjavi s pristopi, kot so GPO, AppLocker ali generične končne točke, JEA ponuja veliko bolj natančen nadzor in robusten model RBAC za delegiranje nalog brez razkritja privilegiranih poverilnic.
- Njegova pravilna izvedba zahteva skrbno načrtovanje vlog, testiranje in nenehno vzdrževanje, vendar zagotavlja znatno povečanje varnosti, ne da bi pri tem žrtvovala produktivnost.
Uporaba oddaljenega delovanja PowerShell je postala skoraj nepogrešljiva v katerem koli okolju. Windows Moderno, vendar je odobritev oddaljenega dostopa brez nadzora kot pustiti ključe podatkovnega centra na mizi. Tukaj pride prav. Uprava za ravno pravšnje stroške (JEA), plast varnosti, ki vam omogoča delegiranje nalog, ne da bi pri tem podarjali skrbniške pravice levo in desno.
Z JEA lahko nastavite zelo omejene oddaljene dostopne točke, kjer določeni uporabniki izvajajo samo ukazi ki ste jih odobrili, pod računi z več privilegiji, vendar brez poznavanja dejanskih poverilnic ali možnosti odstopanja od scenarijaIn vse to je bilo zabeleženo v prepisih in dnevniki podrobni, ki vam nato omogočajo pregled, kdo je kaj naredil, kdaj in od kod.
Kaj je upravljanje z ravno dovolj sredstev (JEA) in zakaj je pomembno?
Just-Enough-Administration je varnostna tehnologija, ki temelji na PowerShellu. ki implementira model delegiranega upravljanja z najmanj potrebnimi privilegiji. V praksi vam JEA omogoča, da izpostavite oddaljene končne točke, kjer je na voljo le zaprt nabor ukazov »cmdlet«, funkcij, skriptov in zunanjih ukazov, ki jih definirate vi.
Zahvaljujoč temu pristopu lahko drastično zmanjšajte število računov s povečanimi privilegiji Na strežnikih lahko uporabljate virtualne račune ali skupinsko upravljane storitvene račune (gMSA), ki izvajajo privilegirana dejanja v imenu standardnih uporabnikov. Uporabnik se prijavi s svojimi običajnimi poverilnicami in prek seje JEA zažene ukaze, ki se izvajajo v ozadju z višjimi privilegiji.
Drug ključni steber JEA je sposobnost natančno opredeliti, kaj lahko vsaka vloga počneDatoteke z zmožnostmi vlog določajo, kateri ukazi »cmdlet«, funkcije po meri, zunanji ukazi ali ponudniki PowerShell so vidni. Ostalo za uporabnika preprosto ne obstaja: ne more improvizirati skriptov, prosto krmariti po datotečnem sistemu ali dostopati do storitev ali procesov, ki jih niste določili.
Poleg tega je mogoče vse seje JEA konfigurirati za generiranje popolni prepisi in revizijski dogodkiZajemanje ukazov, parametrov, izhoda, napak, identitete uporabnika in časov izvajanja ne pomaga le pri izpolnjevanju regulativnih zahtev, temveč je neprecenljivo tudi pri preiskovanju varnostnega incidenta ali operativne napake.
Tveganja privilegiranih računov in kako jih JEA zmanjšuje
Lokalni, domenski ali aplikacijski skrbniški računi s povišanimi dovoljenji pomenijo eden najresnejših vektorjev tveganja v kateri koli organizacijiČe napadalec pridobi eno od teh poverilnic, se lahko premika po omrežju, povečuje privilegije in pridobi dostop do kritičnih podatkov, ključnih storitev ali celo uniči celotne sisteme.
Odvzem privilegijev ni vedno preprost. Klasični primer je strežnik, ki gosti tako DNS kot krmilnik domene Active DirectoryEkipa DNS potrebuje lokalne skrbniške pravice za odpravljanje težav s storitvijo DNS, vendar jim dodajanje v skupino Skrbniki domene dejansko omogoča nadzor nad celotnim gozdom in dostop do vseh virov v tem računalniku. To je klasičen primer žrtvovanja varnosti za udobje delovanja.
JEA to dilemo rešuje z dosledno uporabo načelo najmanjših privilegijevNamesto da bi skrbnike DNS-a postavili za skrbnike domene, lahko ustvarite namensko končno točko DNS JEA, ki izpostavi samo ukaze »cmdlet«, potrebne za brisanje predpomnilnika, ponovni zagon storitve, pregled dnevnikov ali podobna opravila. To operaterju omogoča, da opravi svoje delo, ne da bi moral pregledovati imenik Active Directory, krmariti po datotečnem sistemu, izvajati naključne skripte ali izvajati potencialno nevarne pripomočke.
Ko konfigurirate seje JEA za uporabo virtualni računi z začasnimi dovoljenjiTa poteza je še bolj zanimiva: uporabnik se poveže z neprivilegiranimi poverilnicami in lahko v tej seji izvaja naloge, ki običajno zahtevajo skrbniške pravice. To omogoča odstranitev številnih uporabnikov iz lokalnih ali domenskih skrbniških skupin, s čimer se ohrani delovanje, hkrati pa se znatno okrepi površina za napade.
Varnostni koncepti, ki podpirajo JEA
JEA ni nastala iz nič: Temelji na več dobro uveljavljenih varnostnih načelih in modelih. ki mu dajejo koherenco in robustnost. Prvo je prej omenjeno načelo najmanjših privilegijev, ki narekuje, da imajo tako uporabniki kot procesi le dovoljenja, ki so bistvena za njihove funkcije.
Drugi glavni steber je model Nadzor dostopa na podlagi vlog (RBAC)JEA implementira RBAC prek datotek z zmožnostmi vlog, kjer določite, kaj lahko določena vloga naredi znotraj oddaljene seje. Na primer, vloga službe za pomoč uporabnikom lahko našteje storitve, si ogleda dogodke in znova zažene določeno storitev, medtem ko lahko skrbniška vloga SQL Server izvaja le ukaze »cmdlet«, povezane z ... podatkovnih baz in še malo več.
La Tehnična osnova JEA je PowerShell in njegova infrastruktura za oddaljeno delo.PowerShell zagotavlja jezik, ukaze »cmdlet« in plast za oddaljeno komunikacijo (WinRM/WS-Management), JEA pa doda še sistem omejenih končnih točk, virtualnih računov in natančnega nadzora nad tem, kateri ukazi so na voljo.
Drug pomemben koncept je omejena uprava, podobno kot a dodeljen dostop v načinu kioska sistema Windows 11Namesto da bi operaterju omogočil dostop do celotne lupine, JEA zgradi sejo, kjer je skriptni jezik omejen (privzeto NoLanguage), ustvarjanje novih funkcij ali spremenljivk je blokirano, zanke in pogojni izrazi so prepovedani, izvajanje pa je dovoljeno le odobrenemu naboru ukazov »cmdlet«. To močno omejuje možnosti napadalca, ki mu uspe dostopati do te seje.
Ključne komponente: datoteke .psrc in .pssc
V središču vsake uvedbe JEA sta dve vrsti datotek: datoteke zmožnosti vlog (.psrc) in konfiguracijske datoteke seje (.pssc)Skupaj spremenijo splošno lupino v popolnoma prilagojeno končno točko za specifične uporabnike.
V datoteki z zmožnostmi vlog, ki jo definirate točno kateri ukazi so na voljo vlogiMed najpomembnejšimi elementi so:
- VisibleCmdlets: seznam dovoljenih ukazov »cmdlet«, celo možnost omejevanja parametrov.
- Vidne funkcije: funkcije po meri, ki so naložene v seji.
- Vidni zunanji ukazi: specifične zunanje izvedljive datoteke, do katerih se dostopa.
- Vidni ponudnikiPonudniki PowerShell-a (na primer FileSystem ali Register), vidni v seji.
Konfiguracijske datoteke seje .pssc pa Končno točko JEA opisujejo kot tako in jo povezujejo z vlogami.Tukaj so deklarirani elementi, kot so naslednji:
- Definicije vlog: preslikava uporabnikov ali varnostnih skupin na zmogljivosti vlog.
- Vrsta seje: kjer je 'RestrictedRemoteServer' običajno nastavljen za zaščito seje.
- Imenik prepisov: mapa, kjer so shranjeni prepisi posameznih sej.
- Zaženi kot virtualni račun in sorodne možnosti, na primer, ali je virtualni račun dodan določenim skupinam.
JEA se materializira v obliki Končne točke za oddaljeno delovanje PowerShell, registrirane v sistemuTe končne točke so ustvarjene in omogočene z ukazi »cmdlet«, kot je Nova datoteka konfiguracije seje PSS, Konfiguracija seje registra PSS ali grafična orodja, kot je orodje JEA Helper Tool, ki olajša ustvarjanje datotek .pssc in .psrc, ne da bi se bilo treba preveč ukvarjati s sintakso.
Življenjski cikel seje JEA
Pri nastavitvi celotnega okolja JEA postopek običajno sledi vrsti logičnih korakov, ki Odprt sistem oddaljenega dela preoblikujejo v strogo reguliranega.Tipično zaporedje je:
Najprej ustvarite a varnostna skupina ali več skupin ki predstavljajo vloge, ki jih želite delegirati (na primer HelpdeskDNS, spletni operaterji, operaterji SQL). Uporaba skupin ni obvezna, vendar močno poenostavi administracijo, ko okolje raste.
Nato se pripravi eden ali več datoteke zmožnosti vlog .psrc Naštevajo dovoljena dejanja: ukaze »cmdlet«, funkcije, skripte, zunanje ukaze, vzdevke, ponudnike in dodatne omejitve (določeni parametri, dovoljene poti itd.). Tukaj lahko na primer dovolite vse ukaze »cmdlet«, ki se začnejo z »Get-«, omejite »Restart-Service« na storitev »Spooler« in avtorizirate samo ponudnika datotečnega sistema (FileSystem).
Naslednje je generirano konfiguracijska datoteka seje .pssc z uporabo New-PSSessionConfigurationFile. Določa možnosti, kot so SessionType = RestrictedRemoteServer, pot TranscriptDirectory, ali se uporabljajo virtualni računi in blok RoleDefinitions, ki povezuje skupine z zmogljivostmi vlog, na primer 'DOMAIN\HelpdeskDNS' = @{ RoleCapabilities = 'HelpdeskDNSRole' }.
Ko je datoteka .pssc že pripravljena, se končna točka registrira z uporabo Register‑PSSessionConfiguration-Name Ime seje JEAS –Pot Pot\Datoteka.psscOd tega trenutka naprej, če so razpoložljive konfiguracije navedene z ukazom Get-PSSessionConfiguration, se bo nova točka povezave prikazala kot pripravljena za sprejemanje povezav.
Uporabniki se s to končno točko povezujejo iz svojih računalnikov z Vnesite PSSession -ComputerName Server -ConfigurationName Ime seje JEAS ali z New-PSSession in nato Invoke-Command. Ob vstopu seja samodejno uporabi omejitve, določene v zmožnosti povezane vloge uporabnika.
Med sejo, Oddaljeno upravljanje PowerShell uporablja WinRM s šifriranimi kanaliIntegrirano preverjanje pristnosti (običajno Kerberos v domeni) in pravila požarnega zidu, definirana za storitev. Če je omogočena možnost RunAsVirtualAccount, se na podlagi tega ustvari začasni virtualni račun, ki se doda potrebnim skupinam in uniči, ko se seja konča.
Končno, po zaključku seje JEA, Prepisi revizij in dogodki so shranjeni Ti dnevniki puščajo jasno sled izvedenih ukazov, rezultatov in uporabniškega konteksta. Nato jih je mogoče poslati v sistem SIEM ali jih znotraj njega povezati za opozorila in nadaljnjo analizo.
Oddaljeno delovanje PowerShella, nadzor dostopa in utrjevanje
Oddaljeno delovanje PowerShell-a, ki ga podpira storitev Oddaljeno upravljanje sistema Windows (WinRM) Protokol WS-Management omogoča centralizirano izvajanje ukazov in skriptov na oddaljenih računalnikih. Je zmogljivo orodje za avtomatizacijo, množično upravljanje strežnikov, odpravljanje napak in oddaljeno podporo.
Privzeto, lokalni skrbniki in člani skupine uporabnikov oddaljenega upravljanja Uporabljajo lahko standardne končne točke PowerShell. V mnogih okoljih se ta zmožnost uporablja za omogočanje oddaljenih opravil uporabnikom, ki niso skrbniki, kar samo po sebi ni nevarno, če pa ni pravilno nadzorovano, odpira veliko pot za zlorabo.
Za okrepitev varnostne drže skupna strategija vključuje Omejite oddaljeni dostop do PowerShella samo na skrbniške račune. Ali, še bolje, združite to omejitev s končnimi točkami JEA, ki določenim uporabnikom omogočajo le nujno potreben dostop. To je mogoče doseči z:
- GPO-ji, ki določajo, katere skupine lahko uporabljajo WinRM, in privzete končne točke.
- Pravila požarnega zidu, ki dovoljujejo WinRM samo iz podomrežij ali upravljalnih računalnikov.
- Odstranjevanje skupine uporabnikov za oddaljeno upravljanje iz seznamov ACL standardnih končnih točk.
Poleg tega lahko izberete Popolnoma blokirajte PowerShell za uporabnike, ki niso skrbniki z uporabo rešitev, kot je AppLocker. Na ta način preprečite standardnemu uporabniku, da bi lokalno izvajal zlonamerne skripte, hkrati pa privilegiranim računom še vedno dovolite uporabo PowerShella za naloge upravljanja in avtomatizacije.
JEA v primerjavi z drugimi metodami omejevanja PowerShella
Obstaja več načinov za omejitev, kaj lahko uporabniki počnejo z oddaljenim delovanjem PowerShell, in JEA je tanjša in bolj prilagodljiva možnost znotraj obsega, ki vključuje širše pristope, kot so:
Po eni strani je uporaba GPO za nadzor, kdo vstopi v privzete končne točke PowerShellMicrosoft PowerShell je mogoče omejiti na skrbnike ali celo odregistrirati za vse, kar vsili uporabo določenih končnih točk. To je uporabno za omejevanje dostopa na način »brutalne sile«, vendar ne reši problema granularnosti: kdor koli pridobi dostop, lahko počne praktično vse.
Po drugi strani pa obstajajo orodja za nadzor aplikacij, kot so Pravilniki o omejevanju aplikacij AppLocker ali programske opremeTe metode vam omogočajo, da standardnim uporabnikom preprečite izvajanje PowerShell.exe ali pwsh.exe, bodisi po poti, založniku ali zgoščevalni vrednosti. Ta pristop je uporaben za utrjevanje delovnih postaj in preprečevanje zagona PowerShella s strani katerega koli uporabnika, vendar predstavlja omejitve, ko želite, da nekdo izvaja omejena skrbniška opravila iz svojega uporabniškega računa.
Druga možnost so Omejene končne točke brez doseganja polne JEAUstvarite lahko konfiguracije sej po meri, ki omejujejo ukaze »cmdlet«, funkcije in module, vendar se pri tem ne zanašate toliko na model vloge, virtualne račune ali strukturiran RBAC, ki ga ponuja JEA. Gre za nekakšno srednjo pot, primerno za preproste scenarije, vendar manj prilagodljivo v velikih okoljih.
JEA združuje najboljše iz več svetov: stroga omejitev ukazov, RBAC, nadzorovano izvajanje povišanih privilegijev in obsežno beleženjeZaradi tega je to priporočena rešitev, kadar morate omogočiti oddaljeno delovanje PowerShell za neskrbnike, vendar jim ne da bi jim zagotovili popolno okolje za upravljanje.
Napredne funkcije: zagon kot drug račun in beleženje
Ena najmočnejših zmogljivosti JEA je izvajajte ukaze kot drug, bolj privilegiran račun, ne da bi pri tem razkrili svoje poverilniceTo rešuje tipičen problem "Dal ti bom geslo za to storitev, da lahko narediš X", ki se potem nikoli ne spremeni in na koncu predstavlja veliko tveganje.
Domenski scenariji se pogosto uporabljajo Skupinski upravljani računi storitev (gMSA) To omogoča končnim točkam JEA izvajanje dejanj pod centralno upravljano identiteto storitve, z avtomatsko rotacijo gesla in brez da bi kateri koli operater kdaj poznal skrivnost. V drugih primerih se uporabljajo začasni virtualni računi, lokalni za računalnik, ki se ustvarijo ad hoc, ko se uporabnik poveže, in se uničijo ob koncu seje.
Z vidika revizije je mogoče vsako sejo JEA konfigurirati tako, da ustvari tako prepise PowerShella kot tudi obogatene vnose v dnevnik dogodkovInformacije, ki se običajno zbirajo, vključujejo:
- Popolna zgodovina vnesenih ukazov in parametrov.
- Ustvarjen izhod in sporočila o napakah.
- Časovni žig začetka in konca seje ter njeno trajanje.
- Identiteta prijavljenega uporabnika in dodeljena vloga/zmogljivost.
Če te sledi združite s funkcionalnostmi Beleženje in vodenje dnevnika modula PowerShell Script Blokiranje beleženja prek pravilnika skupine (GPO)S pošiljanjem dnevnikov v SIEM dobite robusten vpogled v dogajanje na vaših upravljalnih končnih točkah. To je ključnega pomena tako za skladnost s predpisi (revizije SOX, ISO 27001 itd.) kot za odkrivanje in odzivanje na incidente.
Tipični primeri uporabe JEA v resničnih okoljih
JEA sije še posebej, ko ga potrebujete Delegiranje zelo specifičnih nalog ekipam, ki ne bi smele biti administratorjiNekaj zelo pogostih primerov v praksi je:
Na področju tehnične podpore lahko vrhunskim tehnikom zagotovite Dostop JEA za ponovni zagon storitev, ogled dnevnikov dogodkov in preverjanje stanja procesov na strežnikih, vendar brez možnosti nameščanja programske opreme, spreminjanja kritičnih konfiguracij ali dostopa do imenika Active Directory. Tipična vloga službe za pomoč uporabnikom lahko vključuje ukaze »cmdlet«, kot so Get-Service, Restart-Service za določene storitve, Get-EventLog v načinu samo za branje in nekatere ukaze »cmdlet« za diagnostiko omrežja.
V operacijskih ali razvojnih ekipah lahko konfigurirate vloge, osredotočene na specifične naloge, kot sta administracija IIS ali vzdrževanje spletnega mestaNa primer, omogočanje dostopa do ukazov »cmdlet« za upravljanje skupine aplikacij, ponovni zagoni spletnih mest, poizvedovanje po dnevnikih iz omejenega imenika in upravljanje potrdil za določene storitve, hkrati pa izključuje kakršno koli možnost ponovnega zagona celotnega strežnika ali spreminjanja varnostnih pravilnikov.
V hibridnih in oblačnih okoljih se JEA pogosto uporablja za omejiti, kaj lahko vsaka ekipa stori glede navidezni stroji, shranjevanje ali omrežijIzpostavite lahko končne točke, ki vam omogočajo upravljanje samo navideznih računalnikov oddelka, spreminjanje pravil požarnega zidu določenega segmenta ali upravljanje določenega nabora računov storitev, pri čemer je dostop ločen od preostale infrastrukture.
Hkrati se JEA zelo dobro ujema z Strategije upravljanja privilegiranega dostopa (PAM)kjer so privilegirane seje odobrene začasno, zabeležene in pripisane osebnim identitetam, s čimer se izognemo skupnim računom in zmanjšamo tveganje, povezano z vsakim privilegiranim dejanjem.
Strasten pisec o svetu bajtov in tehnologije nasploh. Rad delim svoje znanje s pisanjem in to je tisto, kar bom počel v tem blogu, saj vam bom pokazal vse najbolj zanimive stvari o pripomočkih, programski opremi, strojni opremi, tehnoloških trendih in še več. Moj cilj je, da vam pomagam krmariti po digitalnem svetu na preprost in zabaven način.