Vtiskujeme Windows Server na malou VPS s pomocí Windows Server Core

Vtiskujeme Windows Server na malou VPS s pomocí Windows Server Core
Kvůli náročnosti systémů Windows dominují v prostředí VPS lehké linuxové distribuce: Mint, Colibri OS, Debian nebo Ubuntu, zbavené zbytečného, pro naše úkoly těžkopádného prostředí pracovního panelu. Jak se říká, pouze konzole, pouze hardcore! A ve skutečnosti, to rozhodně není nadsázka: ten samý Debian běží na 256 MB paměti a jednom jádru s taktem 1 GHz, tedy téměř na jakémkoli 'pařezu'. Pro pohodlnou práci je potřeba alespoň 512 MB a procesor trochu svižnější. Ale co kdybychom vám řekli, že něco podobného lze provést i na VPS pod Windows? Že není třeba nasazovat těžkopádný Windows Server, který vyžaduje tři až čtyři gigabajty operační paměti a minimálně dva procesorové jádra s taktem 1,4 GHz? Stačí využít Windows Server Core – zbavit se GUI a části služeb. O tom, jak to udělat, budeme hovořit v článku.

Kdo je ten váš Windows Server Core?

Jasné informace o tom, co je Windows (server) Core, nejsou ani na oficiálních stránkách Microsoftu, přesněji, všechno je tam tak zamotané, že to hned nepochopíte, ale první zmínky se datují už do éry Windows Server 2008. V podstatě, Windows Core je funkční jádro Windows Server (překvapivě!), 'zhubnuté' o velikost vlastního GUI a přibližně polovinu vedlejších služeb.

Hlavní vychytávka Windows Core je nenáročnost na hardware a kompletní ovládání přes konzoli pomocí PowerShell.

Pokud se podíváte na web Microsoftu a zkontrolujete technické požadavky, pro spuštění Windows Server 2016/2019 budete potřebovat alespoň 2 gigabyty operační paměti a minimálně jedno jádro s taktem 1,4 GHz. Ale všichni víme, že na takové konfiguraci můžeme očekávat pouze spuštění systému, ale rozhodně ne pohodlnou práci naší OS. Právě z tohoto důvodu se pro práci s Windows Server obvykle vyčleňuje více paměti a minimálně 2 jádra/4 vlákna od procesoru, pokud se jí vůbec neposkytne drahá fyzická mašina na nějakém Xeon, místo levné virtualizace.

Samotné jádro serverového systému přitom potřebuje pouze 512 MB paměti, a ty procesorové zdroje, které byly využívány GUI jen pro to, aby se mohly zobrazovat na obrazovce a udržovat v chodu své četné služby, můžete nasměrovat na něco užitečnějšího.

Zde je srovnání služeb podporovaných z krabice Windows Core a plnohodnotného Windows Serveru z oficiálních stránek Microsoftu:

application
server core
server sdesktop experience

Příkazový řádek
dostupný
dostupný

Windows PowerShell/ Microsoft .NET
dostupný
dostupný

Perfmon.exe
nedostupný
dostupný

Windbg (GUI)
podporováno
dostupný

Resmon.exe
nedostupný
dostupný

Regedit
dostupný
dostupný

Fsutil.exe
dostupný
dostupný

Disksnapshot.exe
nedostupný
dostupný

Diskpart.exe
dostupný
dostupný

Diskmgmt.msc
nedostupný
dostupný

Devmgmt.msc
nedostupný
dostupný

Správce serveru
nedostupný
dostupný

Mmc.exe
nedostupný
dostupný

Eventvwr
nedostupný
dostupný

Wevtutil (dotazy na události)
dostupný
dostupný

Služby.msc
nedostupný
dostupný

Ovládací panel
nedostupný
dostupný

Windows Update (GUI)
nedostupný
dostupný

Průzkumník Windows
nedostupný
dostupný

Taskbar
nedostupný
dostupný

Oznámení na panelu úloh
nedostupný
dostupný

Taskmgr
dostupný
dostupný

Internet Explorer nebo Edge
nedostupný
dostupný

Vestavěný pomocný systém
nedostupný
dostupný

Shell Windows 10
nedostupný
dostupný

Windows Media Player
nedostupný
dostupný

PowerShell
dostupný
dostupný

PowerShell ISE
nedostupný
dostupný

PowerShell IME
dostupný
dostupný

Mstsc.exe
nedostupný
dostupný

Služby vzdálené plochy
dostupný
dostupný

Správce Hyper-V
nedostupný
dostupný

Jak je vidět, z Windows Core bylo vyříznuto velmi mnoho. Byly odstraněny služby a procesy spojené s GUI systému, stejně jako veškerý "odpad", který rozhodně nebude potřeba na našem konzolovém virtuálním stroji, například Windows Media Player.

Téměř jako Linux, ale není to on

Windows Server Core se velmi rádo porovnává s Linuxovými distribucemi, ale ve skutečnosti to není úplně správné. Ano, tyto systémy se navzájem podobají z pohledu snížené spotřeby zdrojů díky odmítnutí GUI a mnoha vedlejších služeb, ale z hlediska provozu a některých přístupů k sestavení, to je stále Windows, a ne unixový systém.

Nejdůležitějším příkladem je, že prostřednictvím ručního sestavení jádra Linux a následné instalace balíčků a služeb, i ten nejlehčí Linuxový distribuce se může změnit v něco těžkopádného a podobného švýcarskému noži (tady by bylo velmi humorné vtipkovat o Pythonu a vložit obrázek ze série „If Programming Languages Were Weapons“, ale nebudeme). Ve Windows Core je této svobody mnohem méně, protože se přece jen jedná o produkt Microsoftu.

Windows Server Core se dodává již jako připravená sestava, jejíž výchozí konfiguraci lze hodnotit na základě výše uvedené tabulky. Pokud budete potřebovat něco ze seznamu nepodporovaných, budete muset online prostřednictvím konzole přidat chybějící prvky. Je však důležité nezapomínat na funkci Feature on demand a možnost stáhnout komponenty jako CAB soubory, které pak lze přidat do sestavy před instalací. Ale tento scénář nefunguje, pokud jste zjistili, že vám nějaká vyřazená služba chybí, již během provozu.

Ale co výrazně odlišuje verzi Core od plné verze — je to možnost aktualizace systému a přidání služeb bez zastavení činnosti. Windows Core podporuje rozbalení balíčků „za tepla“, bez restartu. Výsledkem na základě praktických pozorování je, že stroj běžící na Windows Core je třeba restartovat přibližně 6krát méně než stroj běžící na Windows Server, tedy jednou za půl roku, nikoli jednou za měsíc.

Příjemným bonusem pro administrátory bude to, že pokud se systém používá, jak bylo zamýšleno — přes konzoli, bez RDP — a nedělá se z něj druhý Windows Server, stává se extrémně zabezpečeným ve srovnání s plnou verzí. Většina zranitelností Windows Serveru se totiž nachází právě v RDP a v činnostech uživatele, který prostřednictvím tohoto RDP dělá to, co by neměl. Je to podobné jako v příběhu s Henrym Fordem a jeho vztahem k barvě automobilu: „Jakýkoli zákazník může mít auto v jakékoli barvě, kterou chce, pokud je černá“. Stejně tak se to má i se systémem: uživatel může jakýmkoli způsobem komunikovat se systémem, hlavně ať to dělá přes konzoli.

Instalace a správa Windows Server 2019 Core

Dříve jsme zmínili, že Windows Core je vlastně Windows Server bez obálky GUI. To znamená, že můžete využít téměř jakoukoli verzi Windows Server jako core-verzi, tedy se vzdát GUI. Pro produkty ze skupiny Windows Server 2019 jsou to 3 ze 4 serverových buildů: core režim je dostupný pro Windows Server 2019 Standard Edition, Windows Server 2019 Datacenter a Hyper-V Server 2019, takže z tohoto seznamu vypadává pouze Windows Server 2019 Essentials.

Přitom instalační balíček Windows Server Core zvlášť hledat není třeba. V běžném instalátoru od Microsoftu je core verze nabízena de facto automaticky, zatímco verzi s GUI je nutné vybírat ručně:

Vtiskujeme Windows Server na malou VPS s pomocí Windows Server Core
Možností, jak řídit systém, je ve skutečnosti více než jedna zmíněná PowerShell, kterou výrobce nabízí jako výchozí. Spravovat virtuální stroj na Windows Server Core lze minimálně pěti různými způsoby:

  • Remote PowerShell;
  • Remote Server Administration Tools (RSAT);
  • Windows Admin Center;
  • Sconfig;
  • Server Manager.

Největší zájem vzbuzují první tři možnosti: standardní PowerShell, RSAT a Windows Admin Center. Je však důležité chápat, že získáním výhod jednoho z nástrojů si zároveň klademe omezení, která s ním přicházejí.

Možnosti konzole rozepisovat nebudeme, PowerShell je PowerShell, se svými zjevnými plusy a minusy. S RSAT a WAC je to však o něco složitější. 

WAC poskytuje přístup k důležitým systémovým ovládacím prvkům, jako je úprava registru a správa disků a zařízení. RSAT v prvním případě funguje pouze v režimu prohlížení a neumožňuje provádět žádné změny, a pro správu disků a fyzických zařízení nástroje pro vzdálenou správu serveru potřebují GUI, což není náš případ. Obecně platí, že RSAT nemůže pracovat s soubory, a tudíž ani s aktualizacemi, instalací/odebráním programů v úpravě registru.

▍Správa systému

 

WAC
RSAT

Správa komponentů
Ano
Ano

Editor registru
Ano
Ne

Správa sítě
Ano
Ano

Prohlížeč událostí
Ano
Ano

Sdílené složky
Ano
Ano

Správa disků
Ano
Pouze pro servery s GUI

Plánovač úloh
Ano
Ano

Správa zařízení
Ano
Pouze pro servery s GUI

Správa souborů
Ano
Ne

Správa uživatelů
Ano
Ano

Správa skupin
Ano
Ano

Správa certifikátů
Ano
Ano

Aktualizace
Ano
Ne

Odstranění programů
Ano
Ne

Systémový monitor
Ano
Ano

Na druhou stranu, RSAT nám dává plnou kontrolu nad rolemi na stroji, zatímco Windows Admin Center v tomto ohledu doslova nic nemůže. Tady je srovnání schopností RSAT a WAC v tomto aspektu pro názornost:

▍Správa rolí

 

WAC
RSAT

Advanced Thread Protection
NÁHLED
Ne

Windows Defender
NÁHLED
Ano

Kontejnery
NÁHLED
Ano

AD Administrativní centrum
NÁHLED
Ano

AD Domény a důvěry
Ne
Ano

AD lokalit a služeb
Ne
Ano

DHCP
NÁHLED
Ano

. Vytvořte A-záznam blog a určete pro něj nějakou fiktivní IP (to je oficiální
NÁHLED
Ano

DFS Správce
Ne
Ano

GPO Správce
Ne
Ano

IIS Správce
Ne
Ano

To už naznačuje, že pokud se vzdáme GUI a PowerShellu ve prospěch jiných ovládacích prvků, od používání nějakého mono-nástroje se nevyhneme: pro komplexní administraci na všech frontách budeme potřebovat alespoň kombinaci RSAT a WAC.

Je třeba mít na paměti, že používání WAC si vyžádá 150-180 megabajtů operační paměti. Windows Admin Center při připojení vytváří 3-4 relace na straně serveru, které nelze zrušit ani při odpojení nástroje od virtuálního stroje. WAC také nefunguje se staršími verzemi PowerShellu, takže budete potřebovat alespoň PowerShell 5.0. To vše jde proti naší paradigmě tvrdé úspory zdrojů, ale za pohodlí se musí platit. V našem případě — operační pamětí.

Další možností správy Server Core je instalace GUI pomocí externích nástrojů, aby se nemusely tahat ty tuny balastu, které přicházejí v plné verzi spolu s rozhraním.

V tomto případě máme dvě možnosti: nainstalovat originální Explorer nebo využít Explorer++. Jako alternativu k posledně jmenovanému může zvolit jakýkoli správce souborů: Total Commander, FAR Manager, Double Commander a tak dále. Poslední jmenovaný je preferovanější, pokud pro vás hraje roli úspora operační paměti. Přidání Explorer++ nebo jiného správce souborů lze provést vytvořením síťové složky a spuštěním přes konzoli nebo plánovač úloh.

Instalace plnohodnotného Exploreru nám poskytne více možností při práci se softwarem vybaveným uživatelským rozhraním. K tomu se musíme obrátit na funkci Server Core App Compatibility Feature on Demand (FOD), která vrátí do systému MMC, Eventvwr, PerfMon, Resmon, Explorer.exe a dokonce i Powershell ISE. Avšak za to budeme muset zaplatit, stejně jako u WAC: trvale ztratíme přibližně 150-200 megabajtů operační paměti, které neúprosně spotřebuje explorer.exe a další služby. I když na stroji není aktivní uživatel.

Vtiskujeme Windows Server na malou VPS s pomocí Windows Server Core
Vtiskujeme Windows Server na malou VPS s pomocí Windows Server Core
Takhle vypadá spotřeba paměti systémem na strojích s vlastní verzí Exploreru a bez ní.

Tady vyvstává logická otázka: proč všechny tyto obraty s PowerShellem, FOD, správci souborů, když každý krok vlevo-vpravo zvyšuje spotřebu operační paměti? Proč se zatěžovat hromadou nástrojů a tápit ze strany na stranu, abychom si zajistili pohodlnou práci na Windows Server Core, když si můžeme jednoduše nainstalovat Windows Server 2016/2019 a žít jako normální lidé?

Existuje několik důvodů pro použití Server Core. První: jeho spotřeba paměti je téměř dvakrát menší. Pokud si pamatujete, toto kriterium bylo základem našeho článku už na začátku. Tady je pro srovnání spotřeba paměti Windows Server 2019, porovnejte se snímky obrazovky výše:

Vtiskujeme Windows Server na malou VPS s pomocí Windows Server Core
A tak, 1146 MB spotřebované paměti místo 655 MB na Core. 

Pokud předpokládáme, že WAC nebudete potřebovat a místo originálního Exploreru budete používat Explorer++, pak stále ušetříte téměř půl hektaru na každé virtuální mašině běžící pod Windows Server. Pokud je virtuální mašina jedna, je přírůstek zanedbatelný, ale pokud jich je pět? Tam už má GUI význam, zvlášť pokud ho nepotřebujete. 

Druhé — jakékoli tančení kolem Windows Server Core vás nezbaví hlavního problému při provozování Windows Server — RDP a jeho bezpečnosti (přesněji, úplné její absenci). Windows Core, i když je zabalený v podobě FOD, RSAT a WAC, stále zůstává serverem bez RDP, což znamená, že není vystaven 95 % stávajících útoků.

V zbytku

Celkově je Windows Core jen o něco "tlustší" než jakýkoli standardní Linuxový distribuce, ale je mnohem funkčnější. Pokud potřebujete uvolnit zdroje a jste ochotni pracovat s konzolí, WAC a RSAT, používat souborové manažery místo plnohodnotného GUI — pak byste se měli zaměřit na Core. O to víc, že díky tomu nemusíte platit za plnohodnotný Windows, a ušetřené peníze můžete investovat do upgradu svého VPS, například přidáním RAM. Pro pohodlí jsme přidali Windows Server Core do našeho marketplace.

Vtiskujeme Windows Server na malou VPS s pomocí Windows Server Core

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster