Sdílet prostřednictvím


Konfigurace relací JEA

Koncový bod JEA je zaregistrovaný v systému vytvořením a registrací konfiguračního souboru relace PowerShellu. Konfigurace relací definují, kdo může používat koncový bod JEA a ke kterým rolím má přístup. Definují také globální nastavení, která platí pro všechny uživatele relace JEA.

Vytvoření konfiguračního souboru relace

Pokud chcete zaregistrovat koncový bod JEA, musíte určit, jak je tento koncový bod nakonfigurovaný. Existuje mnoho možností, které je potřeba zvážit. Nejdůležitějšími možnostmi jsou:

  • Kdo má přístup ke koncovému bodu JEA
  • Které role mohou být přiřazeny
  • Která identita JEA používá v rámci
  • Název koncového bodu JEA

Tyto možnosti jsou definovány v datovém souboru PowerShellu s příponou .pssc známou jako konfigurační soubor relace PowerShellu. Konfigurační soubor relace lze upravit pomocí libovolného textového editoru.

Spuštěním následujícího příkazu vytvořte prázdný konfigurační soubor šablony.

New-PSSessionConfigurationFile -SessionType RestrictedRemoteServer -Path .\MyJEAEndpoint.pssc

Tip

Ve výchozím nastavení jsou v souboru šablony zahrnuty pouze nejběžnější možnosti konfigurace. -Full Pomocí přepínače zahrňte všechna příslušná nastavení do vygenerovaného PSSC.

Pole -SessionType RestrictedRemoteServer označuje, že konfigurace relace je používána platformou JEA pro zabezpečenou správu. Relace tohoto typu fungují v režimu NoLanguage a mají přístup pouze k následujícím výchozím příkazům (a aliasům):

  • Clear-Host (cls, clear)
  • Exit-PSSession (exsn, exit)
  • Get-Command (gcm)
  • Get-FormatData
  • Get-Help
  • Measure-Object (measure)
  • Out-Default
  • Select-Object (select)

Nejsou k dispozici žádní poskytovatelé PowerShellu ani žádné externí programy (spustitelné soubory nebo skripty).

Další informace o režimech jazyka najdete v tématu about_Language_modes.

Volba identity JEA

JEA na pozadí potřebuje identitu (účet), která se má použít při spouštění příkazů připojeného uživatele. Definujete, která identita JEA používá v konfiguračním souboru relace.

Místní virtuální účet

Místní virtuální účty jsou užitečné, když se ke správě místního počítače používají všechny role definované pro koncový bod JEA a k úspěšnému spuštění příkazů stačí účet místního správce. Virtuální účty jsou dočasné účty, které jsou jedinečné pro konkrétního uživatele a trvají pouze po dobu trvání relace PowerShellu. Na členském serveru nebo pracovní stanici patří virtuální účty do skupiny Správa istrators místního počítače. Na řadiči Doména služby Active Directory patří virtuální účty do skupiny Domain Správa s domény.

# Setting the session to use a virtual account
RunAsVirtualAccount = $true

Pokud role definované konfigurací relace nevyžadují úplné oprávnění správce, můžete zadat skupiny zabezpečení, do kterých bude virtuální účet patřit. Na členském serveru nebo pracovní stanici musí být zadané skupiny zabezpečení místní skupiny, nikoli skupiny z domény.

Pokud je zadána jedna nebo více skupin zabezpečení, virtuální účet není přiřazen k místní skupině nebo skupině správců domény.

# Setting the session to use a virtual account that only belongs to the NetworkOperator and NetworkAuditor local groups
RunAsVirtualAccount = $true
RunAsVirtualAccountGroups = 'NetworkOperator', 'NetworkAuditor'

Poznámka:

Virtuálním účtům se dočasně udělí oprávnění Přihlásit se jako služba v zásadách zabezpečení místního serveru. Pokud už některé ze zadaných skupin VirtualAccountGroups bylo v zásadách uděleno toto právo, nebude už jednotlivý virtuální účet přidán a odebrán ze zásady. To může být užitečné ve scénářích, jako jsou řadiče domény, kde jsou revize zásad zabezpečení řadiče domény pečlivě auditovány. Tato možnost je dostupná jenom ve Windows Serveru 2016 s kumulativní aktualizací z listopadu 2018 nebo novější a Windows Serverem 2019 s kumulativní aktualizací z ledna 2019 nebo novější.

Účet služby spravované skupinou

Účet služby spravované skupinou (GMSA) je vhodná identita, která se má použít, když uživatelé JEA potřebují přistupovat k síťovým prostředkům, jako jsou sdílené složky a webové služby. GmSAs poskytují identitu domény, která se používá k ověřování s prostředky na jakémkoli počítači v rámci domény. Práva, která poskytuje GMSA, určují prostředky, ke kterým přistupujete. Nemáte práva správce na žádných počítačích nebo službách, pokud mu počítač nebo správce služeb výslovně neudělil tato práva GMSA.

# Configure JEA sessions to use the GMSA in the local computer's domain
# with the sAMAccountName of 'MyJEAGMSA'
GroupManagedServiceAccount = 'Domain\MyJEAGMSA'

GMSA by měly být použity pouze v případě potřeby:

  • Při použití GMSA je obtížné vysledovat akce uživatele. Každý uživatel sdílí stejnou identitu spuštění jako. Abyste mohli korelovat jednotlivé uživatele s jejich akcemi, musíte zkontrolovat přepisy a protokoly relace PowerShellu.

  • GMSA může mít přístup k mnoha síťovým prostředkům, ke kterým připojení uživatel nepotřebuje přístup. Vždy se pokuste omezit efektivní oprávnění v relaci JEA tak, aby dodržoval zásadu nejnižšího oprávnění.

Poznámka:

Účty spravované služby skupiny jsou dostupné jenom na počítačích připojených k doméně pomocí PowerShellu 5.1 nebo novějšího.

Další informace o zabezpečení relace JEA najdete v článku o aspektech zabezpečení.

Přepisy relací

Doporučujeme nakonfigurovat koncový bod JEA tak, aby automaticky zaznamenával přepisy relací uživatelů. Přepisy relace PowerShellu obsahují informace o připojeném uživateli, spuštění jako přiřazené identitě a příkazy spouštěné uživatelem. Můžou být užitečné pro auditování týmu, který potřebuje pochopit, kdo provedl konkrétní změnu systému.

Pokud chcete nakonfigurovat automatický přepis v konfiguračním souboru relace, zadejte cestu ke složce, do které se mají přepisy ukládat.

TranscriptDirectory = 'C:\ProgramData\JEAConfiguration\Transcripts'

Přepisy se zapisují do složky účtem Místního systému , který vyžaduje přístup ke čtení a zápisu do adresáře. Standardní uživatelé by ke složce neměli mít přístup. Omezte počet správců zabezpečení, kteří mají přístup k auditování přepisů.

Uživatelská jednotka

Pokud vaši připojení uživatelé potřebují kopírovat soubory do koncového bodu JEA nebo z koncového bodu JEA, můžete v konfiguračním souboru relace povolit jednotku uživatele. Uživatelská jednotka je PSDrive , který je namapovaný na jedinečnou složku pro každého připojujícího uživatele. Tato složka umožňuje uživatelům kopírovat soubory do systému nebo z systému, aniž by jim udělil přístup k celému systému souborů nebo vystavit zprostředkovatele FileSystem. Obsah jednotky uživatele je trvalý napříč relacemi, aby vyhovoval situacím, kdy může dojít k přerušení síťového připojení.

MountUserDrive = $true

Ve výchozím nastavení umožňuje uživatelská jednotka ukládat maximálně 50 MB dat na uživatele. S polem UserDriveMaximumSize můžete omezit množství dat, která může uživatel spotřebovat.

# Enables the user drive with a per-user limit of 500MB (524288000 bytes)
MountUserDrive = $true
UserDriveMaximumSize = 524288000

Pokud nechcete, aby data v uživatelské jednotce byla trvalá, můžete v systému nakonfigurovat naplánovanou úlohu tak, aby automaticky vyčistila složku každou noc.

Poznámka:

Uživatelská jednotka je dostupná jenom v PowerShellu 5.1 nebo novějším.

Další informace o jednotkách PSDrive najdete v tématu Správa jednotek PowerShellu.

Definice rolí

Definice rolí v konfiguračním souboru relace definují mapování uživatelů na role. Každému uživateli nebo skupině zahrnuté v tomto poli se při registraci udělí oprávnění ke koncovému bodu JEA. Každý uživatel nebo skupina mohou být zahrnuti jako klíč v hashovatelné tabulce pouze jednou, ale dají se přiřadit více rolí. Název funkce role by měl být název souboru schopností role bez přípony .psrc .

RoleDefinitions = @{
    'CONTOSO\JEA_DNS_ADMINS'    = @{ RoleCapabilities = 'DnsAdmin', 'DnsOperator', 'DnsAuditor' }
    'CONTOSO\JEA_DNS_OPERATORS' = @{ RoleCapabilities = 'DnsOperator', 'DnsAuditor' }
    'CONTOSO\JEA_DNS_AUDITORS'  = @{ RoleCapabilities = 'DnsAuditor' }
}

Pokud uživatel patří do více než jedné skupiny v definici role, získá přístup k rolím každého z nich. Když dvě role udělují přístup ke stejným rutinám, udělí se uživateli nejvíce přístupná sada parametrů.

Při zadávání místních uživatelů nebo skupin do pole definice rolí nezapomeňte použít název počítače, nikoli název místního hostitele nebo zástupné cardy. Název počítače můžete zkontrolovat kontrolou $env:COMPUTERNAME proměnné.

RoleDefinitions = @{
    'MyComputerName\MyLocalGroup' = @{ RoleCapabilities = 'DnsAuditor' }
}

Pořadí hledání funkcí role

Jak je znázorněno v předchozím příkladu, na funkce rolí se odkazuje základní název souboru schopností role. Základním názvem souboru je název souboru bez přípony. Pokud je v systému se stejným názvem k dispozici více funkcí rolí, PowerShell použije k výběru efektivního souboru schopností role jeho implicitní pořadí hledání. FUNKCE JEA neuděluje přístup ke všem souborům funkcí role se stejným názvem.

JEA používá proměnnou $env:PSModulePath prostředí k určení cest ke kontrole souborů funkcí rolí. V rámci každé z těchto cest hledá JEA platné moduly PowerShellu, které obsahují podsložku RoleCapabilities. Stejně jako při importu modulů preferuje funkce rolí, které jsou dodávány s Windows, k vlastním funkcím rolí se stejným názvem.

Pro všechny ostatní konflikty pojmenování je priorita určena pořadím, ve kterém Systém Windows vyčísluje soubory v adresáři. Pořadí není zaručeno abecedně. První soubor schopností role, který se shoduje se zadaným názvem, se používá pro připojujícího uživatele. Vzhledem k tomu, že pořadí vyhledávání schopností role není deterministické, důrazně doporučujeme , aby funkce rolí měly jedinečné názvy souborů.

Pravidla podmíněného přístupu

Všichni uživatelé a skupiny zahrnuté v poli RoleDefinitions mají automaticky udělený přístup ke koncovým bodům JEA. Pravidla podmíněného přístupu umožňují tento přístup upřesnit a vyžadovat, aby uživatelé patřili do dalších skupin zabezpečení, které nemají vliv na role, ke kterým jsou přiřazené. To je užitečné, když chcete integrovat řešení pro správu privilegovaného přístupu za běhu, ověřování pomocí čipové karty nebo jiné vícefaktorové řešení ověřování s JEA.

Pravidla podmíněného přístupu jsou definována v poli RequiredGroups v konfiguračním souboru relace. Tam můžete zadat hashovací tabulku (volitelně vnořenou), která k vytvoření pravidel používá klíče And a Or. Tady je několik příkladů použití tohoto pole:

# 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' }}

Poznámka:

Pravidla podmíněného přístupu jsou dostupná jenom v PowerShellu 5.1 nebo novějším.

Ostatní vlastnosti

Konfigurační soubory relace můžou také dělat všechno, co může soubor schopností role dělat, jenom bez možnosti poskytnout uživatelům přístup k různým příkazům. Pokud chcete všem uživatelům povolit přístup ke konkrétním rutinám, funkcím nebo poskytovatelům, můžete to udělat přímo v konfiguračním souboru relace. Úplný seznam podporovaných vlastností v konfiguračním souboru relace zobrazíte spuštěním Get-Help New-PSSessionConfigurationFile -Fullpříkazu .

Testování konfiguračního souboru relace

Konfiguraci relace můžete otestovat pomocí rutiny Test-PSSessionConfigurationFile . Pokud jste soubor ručně upravili .pssc , doporučujeme otestovat konfigurační soubor relace. Testování zajišťuje správnost syntaxe. Pokud konfigurační soubor relace tento test selže, nejde ho v systému zaregistrovat.

Ukázkový konfigurační soubor relace

Následující příklad ukazuje, jak vytvořit a ověřit konfiguraci relace pro JEA. Definice rolí jsou vytvořeny a uloženy v $roles proměnné pro usnadnění a čitelnost. není to požadavek na to.

$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

Aktualizace konfiguračních souborů relace

Pokud chcete změnit vlastnosti konfigurace relace JEA, včetně mapování uživatelů na role, musíte zrušit registraci. Potom znovu zaregistrujte konfiguraci relace JEA pomocí aktualizovaného konfiguračního souboru relace.

Další kroky