Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Doba trvání relace vzdálené plochy

Jako správce můžu mít několik důvodů k tomu, abych potřeboval znát délku otevřených RDP spojení vůči některému ze serverů či počítačů. Nejde jen o dobu aktivně otevřených spojení, ale především o spojení, která jsou odpojená. Odpojená spojení nadále čerpají prostředky zařízení, ale pro uživatele jsou pohodlná, protože se kdykoliv mohou připojit k své již rozdělané práci. Tato spojení může ukončit uživatel, odhlášením se, administrátor např. pomocí správce úloh, nebo je ukončí restart systému, vůči kterému jsou otevřena. Příkladem může být snímek ze správce úloh, který poskytuje web WOSHUB.

Informace o otevřených spojeních, včetně délky jejich trvání je možní získat příkazem:

quser

Podrobnější informace, včetně přepočtené délky trvání relací, je pak možné získat pomocí PowerShellu:

Get-RDUserSession -ConnectionBroker $env:COMPUTERNAME |select-object -Property CollectionName, HostServer, DomainName, UserName, ServerIPAddress, CreateTime, DisconnectTime,  SessionState, IdleTime , SessionID , `
@{Name='SessionAge ([days.]hours:minutes)';Expression={ ((get-date ) - $_.CreateTime) } }

Nastavení limitu relace vzdálené plochy

Je více možností, jak nastavit parametry relací vzdálené plochy. Pokud je nasazena a licencována služba Server Vzdálené plochy, je nejlepší konfigurovat daná nastavení zde.

Běžněji dostupné možnosti jsou buď hromadně pomocí GPO, kdy se využije:

Konfigurace počítače – > zásady – > šablony pro správu – > součásti systému Windows – > služba Vzdálená plocha – > hostitel relací vzdálené plochy – > časové limity relací

Zde jsou k dispozici konfigurace:

  • Nastavte časový limit pro odpojenou relaci;
  • Nastavit časový limit pro aktivní, ale nečinné relace služby Vzdálená plocha — politika umožňuje ukončit nečinné relace RDP, které nemají žádný vstup uživatele (jako je pohyb myši nebo psaní něčeho na klávesnici);
  • Nastavte časový limit pro aktivní relace služby Vzdálená plocha — je to maximální doba jakékoli relace RDP (i aktivní), po které se přepne do odpojeného stavu;
  • Ukončit relaci při dosažení časových limitů — nastavuje čas, po kterém bude RDP session ukončena (odhlášena) namísto jejího odpojení;
  • Nastavte časový limit pro odhlášení relací aplikací RemoteApp.

Výše popsaným konfiguracím GPO odpovídají hodnoty obsažení v registru: HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

Další možností je omezit délky relací konkrétním uživatelům, což se nastavuje na kartě Relace v rámci vlastností uživatele v Users and Computers ADDS. Nastavení je možné vyvolat rovněž pomocí centra pro správu AD.

Pokud nám omezení doby relací nefunguje a v prohlížeči událostí se objevuje událost ID 26:

je potřeba provést následující příkaz PowerShellu:

Set-WmiInstance -Path "\\localhost\root\CIMV2\TerminalServices:Win32_TSSessionSetting.TerminalName='RDP-Tcp'" -Argument @{EnableTimeoutWarning=0
Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Povolení vzdálené plochy PowerShellem

Někdy je potřeba z nějakého důvodu si povolit na vzdálený PC RDP, např. aplikace, které nemají známé parametry oprav pro příkazovou řádku apod, nebo něco potřebujete prostě a jednoduše udělat v aplikaci, která zrovna pomocí PowerShell commandů ovládat nelze. Fyzicky svou cestu k počítači vážit nemusíme, pokud jde k dispozici vzdálená správa pomocí PowerShellu.

Pokud přistupuji vzdáleně, pak do relace zadám příkaz:

Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0

Pokud jsem na stroji fyzicky, musím spustit PowerSehll jako správce a následně využiji příkaz výše. Příkaz povolení realizuje změnou hodnoty položky registru. Nyní ještě musíme zajistit povolení ve Firewallu, což zajistí následující příkaz:

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

Příkaz Enable-NetFirewallRule slouží k povolení některého z hotových pravidel Firewallu, může to být některá z výchozích šablon (nikdy dříve nevyužitá), nebo uživatelsky definované pravidlo, které je v danou chvíli neaktivní či zakázané.

Posted in: Windows server

Vzdálená plocha pro adminy

Dnes si řekneme něco málo o vzdálené správě a bezpečnosti pro koncové stanice. Jak jsem již zmiňoval ve školení Instalace a konfigurace Windows serveru, je potřeba mít správně vydefinované Password zóny a používat pro správu uživatelských stanic různé administrátorské účty s různými hesly, které jsou ovšem z pohledu sítě obyčejnými uživateli. Těmto servisním účtům je asi žádoucí povolit RDP přístup, protože ne vše jde pohodlně řešit nástroji jako je Admin center. Pokud máme k dispozici Windows server 2012 a novější, je vhodné tyto servisní účty přidat do skupiny „Protected users“, čímž dojde k vynucení použití Kerberos autentizace uživatele. Nástroje typu Admin center nebo systém center, případně Eset Remote Administrator by měly tvořit hlavní pracovní nástroj každého admina, resp. pracovníka technické podpory.

Nyní se malinko vraťme ke vzdálené ploše, neboli RDP. Jak jsem již zmínil na školení Instalace a konfigurace Windows serveru, RDP budí dojem většího zabezpečení, nežli které reálně poskytuje. Když se podíváte na lištu RDP po připojení k cílovému počítači, je vidět zámeček a v bublinové nápovědě se dozvíte, že spojení bylo ověřeno Kerberos protokolem. Nicméně to není tak zcela pravda. Kerberos protokol byl použit v rámci preautentizace při navázání spojení, zde to pravdou je, ale vaše uživatelské údaje byly odeslány na cílový počítač v plné formě (i heslo bylo v plné formě). S ohledem na to, že vlastní síťové spojení je zabezpečeno s užitím Kerberosu, tak zde problém není, ale problém nastává ve chvíli, kdy je napaden cílový počítač, nebo kdy se k němu dostane jeho lokální admin s potřebnými nástroji. Na cílovém počítači jsou po dobu trvání připojení uloženy login a NTHash (případně Kerberos klíče) v paměti procesu LSASS.exe, odkud je možné je získat. Paměť tohoto procesu může být na Windows 10 odstíněna pomocí virtualizace při nakonfigurování Virtual Secure Mode, případně je možné zvýšit její ochranu vynucením digitálního podpisu Microsoftu na všechen kód, který se snaží do paměti procesu LSASS.exe přistoupit (od Windows 8.1). Dobrým typem je, aby si pracovníci technické podpory využívající servisní účty a přístup pomocí RDP na koncové stanice nepouštěli RDP skrze zástupce ve startu, ale aby si vytvořili cmd soubor s následujícím obsahem:

mstsc /admin

Tento příkaz vynutí speciální autentizaci při připojení, kdy se na cílový PC neuloží hash hesla ani Kerberos klíče. Tato možnost je opět dostupná od Windows 8.1 v doménovém prostředí. Nevýhodou takto navázaného spojení je, že není možné přistupovat na síťové prostředky bez zadání uživatelských údajů, jejichž zadáním dojde ke ztrátě bezpečnosti pro kterou jsme se připojili zrovna takto. Na druhou stranu pokud je vynuceno ověření pomocí Kerberosu, tak se jedná o nejvíce bezpečný mód, který dokáže vzdálená plocha nabídnout.

Back to Top