JEA-munkamenet-konfigurációk
A JEA-végpontok egy PowerShell-munkamenetkonfigurációs fájl létrehozásával és regisztrálásával regisztrálva lesznek a rendszeren. A munkamenet-konfigurációk meghatározzák, hogy ki használhatja a JEA-végpontot, és mely szerepkörökhöz férhet hozzá. Emellett olyan globális beállításokat is meghatároznak, amelyek a JEA-munkamenet összes felhasználójára vonatkoznak.
Munkamenet-konfigurációs fájl létrehozása
JEA-végpont regisztrálásához meg kell adnia a végpont konfigurálását. Számos lehetőséget kell figyelembe venni. A legfontosabb lehetőségek a következők:
- Ki férhet hozzá a JEA-végponthoz?
- Mely szerepkörök rendelhetők hozzájuk
- Melyik identitást használja a JEA a fedelek alatt?
- A JEA-végpont neve
Ezek a beállítások egy PowerShell-adatfájlban vannak definiálva, amely egy .pssc
PowerShell-munkamenetkonfigurációs fájlnak nevezett kiterjesztéssel rendelkezik. A munkamenet-konfigurációs fájl bármely szövegszerkesztővel szerkeszthető.
Futtassa a következő parancsot egy üres sablonkonfigurációs fájl létrehozásához.
New-PSSessionConfigurationFile -SessionType RestrictedRemoteServer -Path .\MyJEAEndpoint.pssc
Tipp.
Alapértelmezés szerint csak a leggyakoribb konfigurációs beállítások szerepelnek a sablonfájlban. A kapcsolóval -Full
az összes vonatkozó beállítást belefoglalhatja a létrehozott PSSC-be.
A -SessionType RestrictedRemoteServer
mező azt jelzi, hogy a JEA a munkamenet-konfigurációt használja a biztonságos felügyelethez. Az ilyen típusú munkamenetek NoLanguage módban működnek, és csak az alábbi alapértelmezett parancsokhoz (és aliasokhoz) férnek hozzá:
Clear-Host
(cls
,clear
)Exit-PSSession
(exsn
,exit
)Get-Command
(gcm
)Get-FormatData
Get-Help
Measure-Object
(measure
)Out-Default
Select-Object
(select
)
Nem érhetők el PowerShell-szolgáltatók, és nem léteznek külső programok (végrehajthatók vagy szkriptek).
A nyelvi módokkal kapcsolatos további információkért lásd: about_Language_modes.
A JEA-identitás kiválasztása
A háttérben a JEA-nak szüksége van egy identitásra (fiókra), amelyet egy csatlakoztatott felhasználó parancsainak futtatásakor kell használnia. Ön határozza meg, hogy a JEA melyik identitást használja a munkamenet-konfigurációs fájlban.
Helyi virtuális fiók
A helyi virtuális fiókok akkor hasznosak, ha a JEA-végponthoz definiált összes szerepkör a helyi gép kezelésére szolgál, és egy helyi rendszergazdai fiók elegendő a parancsok sikeres futtatásához. A virtuális fiókok olyan ideiglenes fiókok, amelyek egyediek egy adott felhasználó számára, és csak a PowerShell-munkamenet időtartamára tartanak. Egy tagkiszolgálón vagy munkaállomáson a virtuális fiókok a helyi számítógép Rendszergazda istrators csoportjához tartoznak. Egy Active Directory-tartomány-vezérlőben a virtuális fiókok a tartomány Tartomány Rendszergazda csoportjához tartoznak.
# Setting the session to use a virtual account
RunAsVirtualAccount = $true
Ha a munkamenet-konfiguráció által definiált szerepkörök nem igényelnek teljes rendszergazdai jogosultságot, megadhatja azokat a biztonsági csoportokat, amelyekhez a virtuális fiók tartozni fog. Egy tagkiszolgálón vagy munkaállomáson a megadott biztonsági csoportoknak helyi csoportoknak kell lenniük, nem tartományból származó csoportoknak.
Ha egy vagy több biztonsági csoport van megadva, a virtuális fiók nincs hozzárendelve a helyi vagy tartományi rendszergazdák csoportjához.
# Setting the session to use a virtual account that only belongs to the NetworkOperator and NetworkAuditor local groups
RunAsVirtualAccount = $true
RunAsVirtualAccountGroups = 'NetworkOperator', 'NetworkAuditor'
Feljegyzés
A virtuális fiókok ideiglenesen szolgáltatásként kapják meg a bejelentkezést a helyi kiszolgáló biztonsági szabályzatában. Ha az egyik megadott VirtualAccountGroups már megkapta ezt a jogot a szabályzatban, az egyéni virtuális fiók többé nem lesz hozzáadva és eltávolítva a szabályzatból. Ez olyan helyzetekben lehet hasznos, mint például a tartományvezérlők, ahol a tartományvezérlő biztonsági szabályzatának felülvizsgálatát szigorúan naplózták. Ez csak a Windows Server 2016-ban érhető el a 2018. novemberi vagy újabb kumulatív frissítéssel és a Windows Server 2019-ben a 2019. januári vagy újabb kumulatív frissítéssel.
Csoport által felügyelt szolgáltatásfiók
A csoport által felügyelt szolgáltatásfiók (GMSA) a megfelelő identitás, amely akkor használható, ha a JEA-felhasználóknak hozzá kell férni a hálózati erőforrásokhoz, például fájlmegosztásokhoz és webszolgáltatásokhoz. A GMSA-k olyan tartományi identitást adnak, amely a tartomány bármely gépén található erőforrásokkal való hitelesítéshez használható. A GMSA által biztosított jogokat az Ön által elért erőforrások határozzák meg. Ön nem rendelkezik rendszergazdai jogosultságokkal egyetlen gépen vagy szolgáltatásban sem, kivéve, ha a gép vagy szolgáltatás rendszergazdája kifejezetten megadta ezeket a jogosultságokat a GMSA-nak.
# Configure JEA sessions to use the GMSA in the local computer's domain
# with the sAMAccountName of 'MyJEAGMSA'
GroupManagedServiceAccount = 'Domain\MyJEAGMSA'
A GMSA-kat csak akkor szabad használni, ha szükséges:
GMSA használata esetén nehéz visszakövetni a műveleteket egy felhasználóhoz. Minden felhasználó ugyanazt a futtató identitást használja. Át kell tekintenie a PowerShell-munkamenetek átiratait és naplóit, hogy össze lehessen fűzni az egyes felhasználókat a műveleteikkel.
Előfordulhat, hogy a GMSA számos olyan hálózati erőforráshoz rendelkezik hozzáféréssel, amelyhez a csatlakozó felhasználónak nincs szüksége hozzáférésre. Egy JEA-munkamenetben mindig próbálja korlátozni a tényleges engedélyeket, hogy betartsa a minimális jogosultság elvét.
Feljegyzés
A csoport által felügyelt szolgáltatásfiókok csak a tartományhoz csatlakoztatott gépeken érhetők el a PowerShell 5.1 vagy újabb verziójával.
A JEA-munkamenetek biztonságossá tételével kapcsolatos további információkért tekintse meg a biztonsági szempontokat ismertető cikket.
Munkamenet-átiratok
Javasoljuk, hogy konfiguráljon egy JEA-végpontot a felhasználói munkamenetek átiratainak automatikus rögzítéséhez. A PowerShell-munkamenetek átiratai információkat tartalmaznak a csatlakozó felhasználóról, a hozzájuk rendelt futtató identitásról és a felhasználó által futtatott parancsokról. Hasznos lehet egy naplózási csapat számára, akiknek meg kell érteniük, hogy ki módosította a rendszert.
Ha automatikus átírást szeretne konfigurálni a munkamenet-konfigurációs fájlban, adjon meg egy elérési utat ahhoz a mappához, amelyben az átiratokat tárolni kell.
TranscriptDirectory = 'C:\ProgramData\JEAConfiguration\Transcripts'
Az átiratokat a helyi rendszerfiók írja a mappába, ami olvasási és írási hozzáférést igényel a címtárhoz. A standard felhasználóknak nem szabad hozzáférniük a mappához. Korlátozza az átiratok naplózásához hozzáféréssel rendelkező biztonsági rendszergazdák számát.
Felhasználói meghajtó
Ha a csatlakozó felhasználóknak fájlokat kell másolniuk a JEA-végpontra vagy onnan, engedélyezheti a felhasználói meghajtót a munkamenet-konfigurációs fájlban. A felhasználói meghajtó egy PSDrive , amely minden egyes csatlakozó felhasználó egyedi mappájára van leképezve. Ez a mappa lehetővé teszi a felhasználók számára, hogy fájlokat másoljanak a rendszerbe vagy onnan anélkül, hogy hozzáférést adnának a teljes fájlrendszerhez, vagy felfedik a Fájlrendszer-szolgáltatót. A felhasználói meghajtó tartalma a munkamenetek során állandó, így a hálózati kapcsolat megszakadhat.
MountUserDrive = $true
A felhasználói meghajtó alapértelmezés szerint legfeljebb 50 MB adat tárolását teszi lehetővé felhasználónként. A UserDriveMaximumSize mezővel korlátozhatja, hogy a felhasználó mennyi adatot használhat fel.
# Enables the user drive with a per-user limit of 500MB (524288000 bytes)
MountUserDrive = $true
UserDriveMaximumSize = 524288000
Ha nem szeretné, hogy a felhasználói meghajtón lévő adatok állandóak legyenek, konfigurálhat egy ütemezett feladatot a rendszeren, hogy minden este automatikusan törölje a mappát.
Feljegyzés
A felhasználói meghajtó csak a PowerShell 5.1-ben vagy újabb verziójában érhető el.
További információ a PSDrive-okról: PowerShell-meghajtók kezelése.
Szerepkör-definíciók
A munkamenet-konfigurációs fájl szerepkör-definíciói határozzák meg a felhasználók szerepkörökhöz való hozzárendelését. A mezőben szereplő összes felhasználó vagy csoport engedélyt kap a JEA-végpontra, amikor regisztrálva van.
Minden felhasználó vagy csoport csak egyszer szerepelhet kulcsként a kivonatolóban, de több szerepkörhöz is hozzárendelhető. A szerepkör-képesség neve a szerepkör-képességfájl neve, a .psrc
bővítmény nélkül.
RoleDefinitions = @{
'CONTOSO\JEA_DNS_ADMINS' = @{ RoleCapabilities = 'DnsAdmin', 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_OPERATORS' = @{ RoleCapabilities = 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_AUDITORS' = @{ RoleCapabilities = 'DnsAuditor' }
}
Ha egy felhasználó több csoporthoz is tartozik a szerepkördefinícióban, hozzáférést kapnak az egyes csoportok szerepköreihez. Ha két szerepkör biztosít hozzáférést ugyanahhoz a parancsmaghoz, a rendszer a legmegfelelőbb paraméterkészletet adja meg a felhasználónak.
Amikor helyi felhasználókat vagy csoportokat ad meg a szerepkördefiníciók mezőben, ügyeljen arra, hogy a számítógép nevét használja, ne a localhost vagy a helyettesítő karaktereket. A változó vizsgálatával $env:COMPUTERNAME
ellenőrizheti a számítógép nevét.
RoleDefinitions = @{
'MyComputerName\MyLocalGroup' = @{ RoleCapabilities = 'DnsAuditor' }
}
Szerepkör-képesség keresési sorrendje
A fenti példában látható módon a szerepkör-képességekre a szerepkör-képességfájl alapneve hivatkozik. A fájl alapneve a kiterjesztés nélküli fájlnév. Ha több szerepkör-képesség is elérhető a rendszeren ugyanazzal a névvel, a PowerShell implicit keresési sorrendjével választja ki a hatékony szerepkör-képességfájlt. A JEA nem biztosít hozzáférést az összes azonos nevű szerepkör-képességfájlhoz.
A JEA a $env:PSModulePath
környezeti változóval határozza meg, hogy mely elérési utakat kell keresni a szerepkör-képességfájlokhoz. Ezeken az útvonalakon belül a JEA olyan érvényes PowerShell-modulokat keres, amelyek egy "RoleCapabilities" almappát tartalmaznak. A modulok importálásához hasonlóan a JEA a Windowsban szállított szerepkör-képességeket részesíti előnyben az azonos nevű egyéni szerepkör-képességekhez.
Az összes többi elnevezési ütközés esetén az elsőbbséget az határozza meg, hogy a Windows milyen sorrendben sorolja fel a címtárban lévő fájlokat. A sorrend nem garantáltan betűrendes. A rendszer az első olyan szerepkör-képességfájlt használja, amely megfelel a megadott névnek a csatlakozó felhasználó számára. Mivel a szerepkör-képesség keresési sorrendje nem determinisztikus, erősen ajánlott , hogy a szerepkör-képességek egyedi fájlnevekkel rendelkezzenek.
Feltételes hozzáférési szabályok
A RoleDefinitions mezőben szereplő összes felhasználó és csoport automatikusan hozzáférést kap a JEA-végpontokhoz. A feltételes hozzáférési szabályok lehetővé teszik a hozzáférés pontosítását, és megkövetelik, hogy a felhasználók olyan további biztonsági csoportokhoz tartozhassanak, amelyek nem befolyásolják a hozzájuk rendelt szerepköröket. Ez akkor hasznos, ha igény szerint emelt szintű hozzáférés-kezelési megoldást, smartcard-hitelesítést vagy más többtényezős hitelesítési megoldást szeretne integrálni a JEA-val.
A feltételes hozzáférési szabályok a munkamenet-konfigurációs fájl RequiredGroups mezőjében vannak definiálva. Itt megadhat egy (opcionálisan beágyazott) kivonatolót, amely "And" és "Or" kulcsokat használ a szabályok létrehozásához. Íme néhány példa a mező használatára:
# Example 1: Connecting users must belong to a security group called "elevated-jea"
RequiredGroups = @{ And = 'elevated-jea' }
# Example 2: Connecting users must have signed on with 2 factor authentication or a smart card
# The 2 factor authentication group name is "2FA-logon" and the smart card group
# name is "smartcard-logon"
RequiredGroups = @{ Or = '2FA-logon', 'smartcard-logon' }
# Example 3: Connecting users must elevate into "elevated-jea" with their JIT system and
# have logged on with 2FA or a smart card
RequiredGroups = @{ And = 'elevated-jea', @{ Or = '2FA-logon', 'smartcard-logon' }}
Feljegyzés
A feltételes hozzáférési szabályok csak a PowerShell 5.1-ben vagy újabb verziójában érhetők el.
Egyéb tulajdonságok
A munkamenet-konfigurációs fájlok mindent el tudnak végezni, amit egy szerepkör-képességfájl tehet, anélkül, hogy a csatlakozó felhasználók számára hozzáférést biztosíthatna a különböző parancsokhoz. Ha minden felhasználó számára engedélyezni szeretné a hozzáférést adott parancsmagokhoz, függvényekhez vagy szolgáltatókhoz, ezt közvetlenül a munkamenet-konfigurációs fájlban teheti meg.
A munkamenet-konfigurációs fájlban található támogatott tulajdonságok teljes listájához futtassa a következőt Get-Help New-PSSessionConfigurationFile -Full
: .
Munkamenet-konfigurációs fájl tesztelése
A test-PSSessionConfigurationFile parancsmaggal tesztelheti a munkamenet-konfigurációt. Ha manuálisan szerkesztette a fájlt, javasoljuk, hogy tesztelje a .pssc
munkamenet-konfigurációs fájlt. A tesztelés biztosítja a szintaxis helyességét. Ha egy munkamenetkonfigurációs fájl nem felel meg a tesztnek, az nem regisztrálható a rendszeren.
Minta munkamenet-konfigurációs fájl
Az alábbi példa bemutatja, hogyan hozhat létre és érvényesíthet munkamenet-konfigurációt a JEA-hoz. A szerepkördefiníciók létrehozása és tárolása a változóban történik a $roles
kényelem és az olvashatóság érdekében. ez nem követelmény.
$roles = @{
'CONTOSO\JEA_DNS_ADMINS' = @{ RoleCapabilities = 'DnsAdmin', 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_OPERATORS' = @{ RoleCapabilities = 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_AUDITORS' = @{ RoleCapabilities = 'DnsAuditor' }
}
$parameters = @{
SessionType = 'RestrictedRemoteServer'
Path = '.\JEAConfig.pssc'
RunAsVirtualAccount = $true
TranscriptDirectory = 'C:\ProgramData\JEAConfiguration\Transcripts'
RoleDefinitions = $roles
RequiredGroups = @{ Or = '2FA-logon', 'smartcard-logon' }
}
New-PSSessionConfigurationFile @parameters
Test-PSSessionConfigurationFile -Path .\JEAConfig.pssc # should yield True
Munkamenet-konfigurációs fájlok frissítése
A JEA-munkamenet-konfiguráció tulajdonságainak módosításához, beleértve a felhasználók szerepkörökhöz való hozzárendelését, le kell szüntetnie a regisztrációt. Ezután regisztrálja újra a JEA-munkamenet konfigurációját egy frissített munkamenetkonfigurációs fájl használatával.