Windows Server: Active Directory w wersji Core

Windows Server w wersji Core jest z nami już od wersji 2008 zatem to sprawdzona technologia jak na standardy IT. Wersja Core jest unikana przez administratorów, co trochę nie zrozumiałe, zwłaszcza w w dużych środowiskach lub w takich które wymagają niestandardowego podejścia do bezpieczeństwa. Windows Server Core to minimalna, ale uwaga, domyślna opcja instalacji! Jest dostępna zarówno dla wersji Standard jak i Datacenter.

Wersja Core obsługuje większość ról i funkcji Windows Server (choć nie wszystkie). Ma sporo zalet: potrzebuje mniejszej ilość zasobów sprzętowych (mniejsze jest użycie procesora, pamięci RAM i miejsca na dysku). Jest mniej podatny na zagrożenia (posiada mniej elementów, bibliotek, zależności podatnych na ataki).  Aktualizacje systemu są mniejsze, wymagają mniej  ponownych uruchomień co w wypadku środowisk wysoko dostępnych może być duża zaletą.

Server Core został zaprojektowany do zdalnego zarządzania, dlatego też opcje dostępne lokalne są sprowadzone do konfiguracji podstawowych ustawień takich jak: adresacja kart sieciowych, zmiana nazwy serwera, dodanie do domeny czy zdalne zarządzanie.

Nasze środowisko opierać się będzie o Windows Server 2022 Datacenter w wersji Core. Zacznijmy od instalacji samej maszyny, tak jak w przypadku GUI instalator jest ten sam i każdy z administratorów robił to już setki razy. Ważne jest aby ustawić format czasu, język klawiatury:

i wskazać wersje BEZ Desktop Experience czyli Core:

Po krótkiej chwili i restarcie naszego środowiska pojawia się okno w którym wprowadzimy nowe hasło dla LOKALNEGO administratora:

Teraz możemy się już zalogować jak administrator lokalny:

Automatycznie zostanie uruchomione narzędzie SConfig z którego poziomu dokonamy podstawowej konfiguracji o której pisałem wcześniej:

Zacznijmy od przyznania odpowiedniej adresacji dla naszego serwera (stałego adresu IP dla kontrolera domeny), wybieramy opcje 8, wskazujemy interfejs sieciowy którego ma dotyczyć zmiana (w naszym wypadku jest tylko jedna karta):

Automatycznie dostaliśmy adres z DHCP, zmieniamy go na stały zaczynając od adresu dla karty opcja: 1

Wybieramy statyczna adresacje, podajemy IP, maskę i bramę:

Automatycznie wracamy do głównego menu Sconfig i włączamy zdalne zarządzanie systemem WinRm (opcja 4), uruchamiamy zdalne zarządzanie, opcjonalnie proponuje też włączyć odpowiedź na ping:

W naszym przykładzie uruchamiamy też dostęp do pulpitu zdalnego (opcja 7 w SConfig):

Zmieniamy nazwę hosta, robimy to na końcu ze względu na wymagany restart – opcja 2 w SConfig, wprowadzamy nową nazwę w naszym przypadku: dc00 i potwierdzamy zmiane, wyrażając również zgodę na restart:

Po restarcie i ponownym zalogowaniu mamy gotowe środowisko w wersji Core. Pozostaje dodanie roli kontrolera i wypromowanie domeny. Możemy to zrobić bezpośrednio w konsoli serwera w wersji Core, wychodząc z niej do PowerShella i wprowadzając odpowiednie komendy. Pamiętajmy jednak że środowiska Core są stworzone do zdalnej administracji a przystawki MMC to znacznie ułatwiają – wystarczy się przecież połączyć ze zdalnym serwerem.

Tak zrobimy w naszym przykładzie – uprzedzam będzie to wymagało przeprowadzenia kilku operacji wiele razy. Wynika to o z tego że tworzymy nową domenę i dlatego nasza maszyna serwerowa nie jest obecnie wpięta do domeny (operacje tą można zrobić już w SConfig, więc etap prac z DNS/hosts też byłby zbędny).
Nasz komputer do zarządzania również nie jest w środowisku domenowym – wymaga to kilku operacji więcej, będziemy używać innych poświadczeń dodać maszynę do TrustedHosts.

Natomiast gdy w środowisku produkcyjnym wstępuje więcej serwerów w wersji Core – zarządzanie nimi staje się naprawdę proste – zwłaszcza gdy nasze „centrum” zarządzania to Windows 11 wpięty do domen….ale my jeszcze domeny nie mamy, wiec zacznijmy od początku.

Utworzymy kontroler domeny zdalnie. W tym celu użyjemy środowiska klienckiego z zainstalowanym narzędziami administracji zdalnej RSAT, w naszym wypadku będzie to Windows 11. Po zalogowaniu się sprawdzamy czy nasza maszyna jest dostępna w sieci (o ile wcześniej włączyliśmy odpowiedź na ping w opcji 4 Sconfig):

Dodajmy naszą maszynę do Server Manager:

W przykładzie zaczniemy od dodania serwera po adresie IP, specjalnie aby przybliżyć wam problemy jakie wynikają z połączeń poza domeną. Najpierw kreator nie znajdzie odpowiedniego wpisu w DNS dotyczącego naszego nowego serwera (przecież nie mamy jeszcze domeny i nie mamy DNS – a nasz komputer do zarządzania nie jest wpiety do domeny), potwierdzamy i dodajemy maszynę:

Serwer pojawi się w Server Manager ale zwróci błąd odnośnie WinRM:

Nasz nowy serwer Core nie jest dodany do TrustedHosts, otwieramy na maszynie klienckiej z Windows 11 wiersz poleceń jako admin i sprawdzamy zawartość listy TrustedHosts poniższym poleceniem:

Get-Item WSMan:\localhost\Client\TrustedHosts | select name,value | format-list

Następnie dodajemy nasz serwer do tej listy używając poniższego polecenia:

Set-Item wsman:\localhost\Client\TrustedHosts "DC00" -Concatenate -Force

Dodatkowo używając polecenia CMDKEY zapiszmy poświadczenia lokalnego administratora Windows Server Core których będziemy używać do zdalnego zarządzania:

cmdkey /add:DC00 /user:Administrator /pass:Start.11

Na koniec nasz lokalny DNS, dodajmy jeszcze odpowiedni wpis w pliku hosts prowadzący do naszego serwera:

172.18.137.170 DC00

Następnie usuńmy serwer z Server Managera:

i dodajmy go ponownie używając teraz nazwy DNS czyli w naszym wypadku DC00

Możemy już zdalnie zarządzać naszym serwerem:

Mamy gotowe pełnoprawne środowisko lokalne oparte o Windows Server Core, my chcemy jednak utworzyć na nim kontroler domeny, zacznijmy więc od jego konfiguracji z użyciem PowerShell’a

W oknie konsoli możemy już wszystko:

ustawiam odpowiednią strefę czasową:

Set-TimeZone -id "Central European Standard Time"

Następnie dodaje rolę Active Directory do naszego serwera:

Add-WindowsFeature AD-Domain-Services

Mamy rolę czas wypromować nasz kontroler, poniżej polecenie dla opcji nowy las, nowa domena:



Wprowadzamy jesz hasło tzw trybu przywracania usług katalogowych (DSRM) które jednocześnie stanie się hasłem konta administratora domeny:

Potwierdzamy operacje:

Po krótkiej chwili nasz kontroler jest gotowy do wypromowania domeny i zrestartuje się automatycznie:

Od tego momentu zalogowanie się do tej maszyny będzie możliwe jedynie z użyciem poświadczeń domenowych.

W naszym środowisku do zarządzania zdalnego (Windows 11) mamy serwer w WORKGROUP teraz musimy „zamienić” go na serwer w domenie. Powtarzamy więc operacje które robiliśmy przed chwilą aby móc zarządzać serwerem wpiętym do domeny.

Wracamy do pliku hosts na Windows 11 iedytujemy nasz wcześniejszy rekord dodając do nazwy hosta domene:

172.18.137.170 DC00.sprawdzone.it

Następnie dodajemy poświadczenia administratora domeny używając ponownie CMDKEY

cmdkey /add:DC00.sprawdzone.it /user:sprawdzone\Administrator /pass:Start.11

Na koniec pozostaje nam dodać nasz nowy kontroler domeny do TrustedHosts:

Set-Item wsman:\localhost\Client\TrustedHosts "DC00.sprawdzone.it" -Concatenate -Force

Wracamy do naszego Server Managera, usuwamy „stary serwer lokalny” który mieliśmy dodany wcześniej (używaliśmy lokalnych poświadczeń, teraz użyjemy domenowych):

i dodajemy kontroler domeny używając jego pełnej nazwy DNS: dc00.sprawdzone.it

I gotowe! Od tej chwili możemy zarządzać naszym serwerem Active Directory w wersji core – tak samo jak wersją GUI tylko że zdalnie!