- Es sind weniger Komponenten enthalten, die gehärtet werden müssen
- Durch die geringere Anzahl an Bestandteilen ist wahrscheinlich die Angriffsfläche kleiner
- Weniger Administratoren werden sich auf die Server Core mit RDP „verirren“ und somit auch weniger „Footprints“ für Hacker hinterlassen. (Mal ehrlich: jede Anmeldung hinterlässt per default ein Profil und Anmeldeinformationen im Cache!)
Das klingt nicht schlecht. Doch warum gibt es dann so wenige Server Core in den Infrastrukturen? Auch das ist einfach erklärt:
- Im Falle eines TroubleShootings fehlen die gewohnten Tools auf dem Betriebssystem
- Nicht alle Anwendungen unterstützen die Installation auf einem Server Core
Mit Windows Server 2012 konnte man noch die Verwaltungskomponenten auf einem Server Core installieren und somit zumindest das erste Problem etwas entschärfen. Doch leider hat Microsoft diese „Mini-Shell“-Variante mit Windows Server 2016 nicht fortgesetzt. Und so gilt: Einmal Windows Server 2016 Server Core – immer Windows Server 2016 Server Core!
Mit Windows Server 2019 wurde eine Neuerung eingeführt: Die „ServerCore-AppCompatibility“. Mit diesem Feature On Demand werden wieder einige zusätzliche Werkzeuge auf dem Server Core platziert. Zusätzlich arbeitet Microsoft immer weiter am Anwendungssupport. So unterstützen beispielsweise Exchange Server 2019 und SQL Server 2017+ die Installation ohne grafische Oberfläche.
Und so wird es Zeit, diese Installationsvariante erneut zu evaluieren!
Im Folgenden zeige ich, wie eine Installation mit Server Core um die Zusatzfunktion erweitert wird und wie daraus ein Basis-Image für eine Installation im Hyper-V bereitgestellt wird.
Das Setup ist seit Jahren vom Prozess her unverändert und stellt somit keine Herausforderung dar:
Der Standard für die Bereitstellung ist bereits Server Core – auch wenn das so nicht explizit genannt wird:
Bis hier wars nichts Neues. Nach der Bereitstellung und der Treibererkennung kommt hier das verknappte Out-Of-Box-Experience (OOBE) des Server Core ums Eck. Dabei kann mit dem Tabulator navigiert werden:
Und dann ist die Anmeldung auch schon erledigt. Wie gewohnt präsentiert sich der Prompt der cmd – dem Fenster ohne Windows Explorer:
Dort angekommen riskiere ich einen Blick über die cmd. Es befinden sich einige „Feature on Demand“ (FOD)-Ordner darauf:
Die Integration wird mit DISM in das bereits laufende Betriebssystem gestartet. Damit wäre auch eine Offline-Erweiterung ohne Installation des Betriebssystems denkbar:
Der Befehl ist etwas gewöhnungsbedürftig:
DISM /Online /Add-Capability /CapabilityName:ServerCore.Appcompatibility~~~~0.0.1.0 /Source:d: /LimitAccess
Die Installation benötigt einige Minuten:
Und natürlich wird dieser tiefe Eingriff nicht ohne Neustart aktiv:
Nach dem Neustart und der Anmeldung teste ich einige Tools, indem ich diese über die cmd direkt aufrufe. Die für mich stets wichtige Ereignisanzeige (eventvwr.msc) ist mit dabei. Ebenso zeigt sich der Gerätemanager (devmgmt). Zu meiner Überraschung hat Microsoft auch einen Windows Explorer integriert. Damit entfällt der übliche Umweg über den OpenDialog des Notepads.
Sehr zu meiner Freude ist auch die PowerShell-ISE dabei! Damit lassen sich lokale Scripte bequem editieren und ausführen:
Damit mein Basis-Image möglichst aktuell ist, installiere ich alle möglichen Updates. Eigentlich ist so etwas heute nicht mehr nötig, da die Updates üblicherweise kumulativ sind: Es muss also abgesehen von Servicing Stack Updates nur das aktuellste installiert werden. Aber schaden kann es auch nicht:
Nach dem Neustart und einer Anmeldung generalisiere ich nun den Server. Dabei werden alle individuellen Informationen entfernt und danach kann der Server vervielfältigt werden:
Ein paar Minuten später ist der Server wie gewünscht heruntergefahren:
Die VHDX-Datei enthält jetzt eine Betriebssystemversion mit dem aktuellen Patchlevel eines Windows Server 2019 Server Core, in dem auch die Erweiterung „AppCompatibility“ installiert ist. Die Datei kopiere ich in mein Repository. Dabei sieht man, dass die Bereitstellung i Modell Thin-Provision nahezu genauso viel Speicher belegt, wie ein Server mit Desktop Experience. Das war in den früheren Versionen noch deutlich anders:
Nach dem Erstellen eines Adminpasswortes prüfe ich den Rechnernamen. Dieser wurde erwartungsgemäß neu vergeben:
Die VM schalte ich aus und entferne sie aus meiner Hyper-V-Konfiguration. Mit dem neuen Basis-Image kann ich nun jederzeit weitere Server Core bereitstellen.
Stay tuned!
Hier könnt ihr euch das PDF zum Artikel herunterladen. Und weitere Informationen gibt es bei Microsoft: https://docs.microsoft.com/en-us/windows-server/get-started-19/install-fod-19