Server-Hardening nach CIS Benchmarks
CIS Benchmarks, Microsoft Security Baselines, ASR-Regeln und GPO-Import praxisnah umgesetzt - inklusive Audit-Nachweis fuers KMU.
Warum “Standard-Installation” nicht reicht
Ein frisch installierter Windows Server ist kein sicherer Server. Standardmaessig sind SMBv1-Reste kompatibel gehalten, NTLM ist aktiv, LLMNR und WPAD lauschen im Netz, und die lokale Administratorgruppe erlaubt mehr als sie sollte. Genau diese Standardluecken sind der Grund, warum Ransomware-Gruppen in praktisch jedem KMU-Incident zuerst nach lateral movement via SMB/NTLM und ungehaertete RDP-Zugaenge suchen. Hardening heisst: die Angriffsflaeche systematisch reduzieren, bevor der Server produktiv geht - nicht danach, wenn schon ein Ticket brennt.
Die gute Nachricht: Du musst nicht bei null anfangen. Mit CIS Benchmarks und Microsoft Security Baselines gibt es zwei etablierte, kostenlose Referenzwerke, die genau definieren, welche von tausenden Einstellungen wirklich sicherheitsrelevant sind - inklusive Begruendung und Risikobewertung pro Setting.
CIS Benchmarks: Aufbau und Levels
Das Center for Internet Security (CIS) veroeffentlicht fuer ueber 100 Produkte - Windows Server, Linux-Distributionen, Netzwerkgeraete, Cloud-Dienste, Datenbanken - kostenlose, community-validierte Konfigurationsstandards. Fuer Windows Server 2022 umfasst der Benchmark PDF mehrere hundert Seiten mit Einzelempfehlungen, jede mit:
- Beschreibung der Einstellung und der zugrunde liegenden Bedrohung
- Rationale (warum diese Einstellung Risiko reduziert)
- Audit-Prozedur (wie du den Ist-Zustand pruefst, meist per PowerShell oder Registry-Pfad)
- Remediation (wie du die Einstellung setzt - meist per GPO-Pfad)
- Verweis auf CIS Controls (Mapping zu den uebergeordneten CIS Controls v8)
Jede Empfehlung ist einem von zwei Levels zugeordnet:
| Level | Zielgruppe | Beispiel | Impact |
|---|---|---|---|
| Level 1 | Praktisch jeder produktive Server | Passwort-Komplexitaet erzwingen, Gastkonto deaktivieren, SMBv1 entfernen | Minimal, kaum Funktionseinbussen |
| Level 2 | Hochsicherheitsumgebungen, sensible Daten | USB-Massenspeicher komplett sperren, NTLM vollstaendig deaktivieren, FIPS-140-Ciphersuiten erzwingen | Kann Kompatibilitaet brechen, erfordert Vorab-Tests |
Zusaetzlich gibt es pro Benchmark oft ein Member Server- und ein Domain Controller-Profil, weil sich sinnvolle Einstellungen fuer DCs (z. B. bei Kerberos-Parametern) von normalen Mitgliedsservern unterscheiden.
CIS-Benchmarks beziehen und pruefen
CIS-Benchmarks laedst du nach kostenloser Registrierung als PDF von cisecurity.org herunter. Fuer die automatisierte Pruefung gibt es CIS-CAT in zwei Varianten:
- CIS-CAT Lite: kostenlos, unbegrenzte Scans, unterstuetzt aber nur eine kleine Auswahl an Benchmarks (u. a. Windows 10/11 Standalone, Ubuntu, Chrome). Fuer Windows Server reicht Lite in der Regel nicht.
- CIS-CAT Pro Assessor: kostenpflichtig (im Rahmen einer CIS SecureSuite-Mitgliedschaft), deckt praktisch alle Benchmarks ab, liefert HTML/CSV-Reports mit Compliance-Score und ist das Werkzeug der Wahl fuer echte Audit-Nachweise.
# CIS-CAT Pro Assessor headless ausfuehren (Beispiel Windows Server 2022 Benchmark)
& "C:\CIS-CAT-Pro\Assessor-CLI.bat" `
-b "benchmarks\CIS_Microsoft_Windows_Server_2022_Benchmark_v2.0.0.xml" `
-p "Level 1 - Member Server" `
-r "C:\CIS-CAT-Pro\Reports" `
-html -csv
Ohne SecureSuite-Lizenz bleibt dir als KMU meist der manuelle Weg: die Benchmark-Checkliste in Excel/Tabelle uebernehmen, Ist-Zustand per PowerShell-Skript pruefen (siehe Audit-Abschnitt weiter unten) und Ergebnis dokumentieren.
Microsoft Security Baselines: die praktische Abkuerzung
Waehrend CIS-Benchmarks herstellerneutral und sehr granular sind, liefert Microsoft mit den Security Baselines direkt fertige GPO-Vorlagen, die auf Microsofts eigener Bedrohungsanalyse basieren. Baselines gibt es fuer Windows 10/11, Windows Server (aktuell 2019, 2022, 2025) und Microsoft 365 Apps. Sie sind schlanker als CIS Level 1+2 zusammen, decken sich aber inhaltlich zu grossen Teilen.
Verteilt werden die Baselines ueber das Security Compliance Toolkit (SCT), ein kostenloses Toolset von Microsoft mit folgenden Bestandteilen:
| Tool | Zweck |
|---|---|
| Baseline-GPOs (Backup-Format) | Fertige GPO-Exporte pro Betriebssystem/Rolle, direkt importierbar |
| Policy Analyzer | Vergleicht mehrere GPOs/Registry-Zustaende nebeneinander, zeigt Konflikte |
| LGPO.exe | Kommandozeilen-Tool zum Anwenden von Registry.pol-Dateien ohne Domaene (fuer Standalone-Server) |
| GPO-to-PowerShell-Konverter | Wandelt GPO-Backups in PowerShell-DSC-Konfigurationen um |
Offizielle Baseline-GPOs, Policy Analyzer und LGPO.exe zum Download
www.microsoft.com
Baseline-GPO importieren: Schritt fuer Schritt
- SCT herunterladen und entpacken. Du erhaeltst pro Baseline einen Ordner mit Unterordnern
GPOs,Documentation,ScriptsundTemplates. - ADMX-Vorlagen aktualisieren. Kopiere die mitgelieferten
.admx/.adml-Dateien ausTemplatesin den zentralen Store\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, sonst zeigt die GPMC bei neueren Einstellungen “Extra Registry Settings” ohne Klartext an. - Leere GPO anlegen und sprechend benennen, z. B.
Baseline - WS2022 Member Server - v1. - Einstellungen importieren per Rechtsklick auf die GPO → Import Settings → Assistent zeigt auf den Ordner
GPOs\{GUID}der gewuenschten Rolle (nicht auf das ZIP, nicht auf den Wurzelordner). - Mit Policy Analyzer gegenpruefen, ob die importierte GPO tatsaechlich die erwarteten Werte enthaelt und keine Kollision mit bestehenden GPOs (z. B. Passwort-Policy-Ueberschreibung) entsteht.
- Erst auf eine Test-OU verknuepfen, danach schrittweise ausrollen.
# LGPO.exe: Baseline lokal auf einem Standalone-Server anwenden (keine Domaene noetig)
LGPO.exe /g "C:\Baselines\WS2022-MemberServer\GPOs\{5C2444BB-A8CC-4A32-B77D-1B4C9A93A6C1}"
# Aktuellen lokalen Policy-Zustand als Backup sichern, bevor du etwas aenderst
LGPO.exe /b "C:\Backup\LocalPolicy_$(Get-Date -Format yyyyMMdd)"
CIS vs. Microsoft Baseline: was nimmst du?
| Kriterium | CIS Benchmark | Microsoft Security Baseline |
|---|---|---|
| Granularitaet | Sehr hoch, hunderte Einzelpunkte | Kompakter, Fokus auf Kernrisiken |
| Herstellerneutralitaet | Ja, community-getragen | Nein, Microsoft-eigene Priorisierung |
| Fertige GPOs | Nein, nur Dokumentation (manuell umsetzen) | Ja, direkt importierbar |
| Audit-Tooling | CIS-CAT (kostenpflichtig fuer volle Abdeckung) | Policy Analyzer (kostenlos, aber kein Scoring) |
| Compliance-Nachweis (ISO 27001, NIS2) | Sehr anerkannt als Referenzstandard | Wird akzeptiert, aber seltener explizit referenziert |
| Aufwand Ersteinrichtung | Hoch | Niedrig bis mittel |
Praxis-Empfehlung fuers KMU: Microsoft Security Baseline als Basis importieren (schneller Start, geringes Risiko von Fehlkonfiguration), anschliessend CIS-Level-1-Checkliste als Ergaenzung durchgehen fuer die Punkte, die Microsoft nicht abdeckt (z. B. Audit-Policy-Feinheiten, bestimmte Registry-Haertungen). Fuer den Compliance-Nachweis gegenueber Kunden oder Versicherung referenzierst du CIS, weil es der anerkannte externe Standard ist - auch wenn technisch die Microsoft-Baseline drin steckt.
Attack Surface Reduction (ASR) Rules
ASR-Regeln sind Teil von Microsoft Defender Antivirus (bzw. Defender for Endpoint) und blockieren typisches Malware-Verhalten unabhaengig von Signaturen - etwa Office-Makros, die Kindprozesse starten, oder PowerShell mit obfuskiertem Code. Jede Regel hat einen Modus (Disabled, Block, Audit, Warn) und eine feste GUID.
Die wichtigsten Regeln fuer Server-Rollen (Auswahl):
| Regel | GUID (Kurzform) | Zweck |
|---|---|---|
| Office-Anwendungen am Erstellen von Kindprozessen hindern | d4f940ab-401b-4efc-aadc-ad5f3c50688a | Stoppt Makro-Payloads |
| Diebstahl von Anmeldeinformationen aus LSASS blockieren | 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 | Verhindert Mimikatz-artige Credential Dumps |
| Persistenz ueber WMI-Ereignisabonnement blockieren | e6db77e5-3df2-4cf1-b95a-636979351e5b | Stoppt fileless persistence |
| Ausfuehrung potenziell verschleierter Skripte blockieren | 5beb7efe-fd9a-4556-801d-275e5ffc04cc | Erkennt obfuskierten PowerShell/JS-Code |
| Persistenz ueber Startordner/Registry-Run-Keys blockieren (Advanced RS) | d1e49aac-8f56-4280-b9ba-993a6d77406c | Klassische Autostart-Persistenz |
| USB-basierte Ausfuehrung nicht vertrauenswuerdiger Dateien blockieren | b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 | Relevant bei physischem Serverzugang |
# ASR-Regeln im Audit-Modus setzen (Beispiel: LSASS-Schutz + Skript-Obfuskation)
Add-MpPreference -AttackSurfaceReductionRules_Ids `
9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2, `
5beb7efe-fd9a-4556-801d-275e5ffc04cc `
-AttackSurfaceReductionRules_Actions AuditMode, AuditMode
# Aktuellen Status aller konfigurierten Regeln pruefen
Get-MpPreference | Select-Object -ExpandProperty AttackSurfaceReductionRules_Ids
Get-MpPreference | Select-Object -ExpandProperty AttackSurfaceReductionRules_Actions
// Microsoft Defender Advanced Hunting: ASR-Blockierungen der letzten 7 Tage
DeviceEvents
| where ActionType startswith "AsrRule"
| where Timestamp > ago(7d)
| summarize Count = count() by ActionType, DeviceName, FolderPath
| order by Count desc
Fuer Server ohne Cloud-Anbindung an Defender for Endpoint verteilst du ASR-Regeln per GPO (Computerkonfiguration > Richtlinien > Administrative Vorlagen > Windows-Komponenten > Microsoft Defender Antivirus > Microsoft Defender Exploit Guard > Verhinderung von Angriffsflaechen). In gemanagten Umgebungen ist Intune der sauberere Weg - siehe Intune Grundlagen.
Entscheidungsablauf fuer ein Hardening-Projekt
1. Scope festlegen
-> Welche Server-Rollen? (Member Server, DC, RDS-Host, SQL-Host ...)
-> Welche Kritikalitaet je Rolle? (bestimmt Level 1 vs. Level 2)
|
2. Baseline waehlen
-> Microsoft Security Baseline importieren (Basis)
-> CIS Level 1 Checkliste als Ergaenzung pruefen
|
3. Pilotgruppe (2-3 unkritische Server, Test-OU)
-> Baseline-GPO + ASR-Regeln im Audit-Modus
-> 2-4 Wochen beobachten (Event-Logs, Applikationsverhalten)
|
4. Ausnahmen dokumentieren
-> Jede Abweichung von der Baseline mit Business-Begruendung
-> Separate "Exception"-GPO, nicht in der Baseline-GPO editieren
|
5. Rollout in Wellen
-> Nicht-produktiv -> weniger kritisch -> geschaeftskritisch
-> ASR-Regeln erst nach Audit-Phase auf Block umstellen
|
6. Audit & Nachweis
-> CIS-CAT / manuelles Scoring dokumentieren
-> Bericht fuer Kunde/Versicherung/ISO-Audit ablegen
|
7. Re-Zertifizierung
-> Mind. jaehrlich oder bei neuer Baseline-Version wiederholen
Haertungs-Audits und Nachweis erbringen
Fuer KMU, die eine Cyber-Versicherung abschliessen, einen ISO-27001-Audit durchlaufen oder ab 2026 NIS2-relevante Nachweispflichten erfuellen muessen (siehe NIS2 fuer KMU Schweiz), reicht “wir haben mal eine Baseline importiert” nicht als Nachweis. Du brauchst einen dokumentierten, wiederholbaren Audit-Prozess.
Minimaler Eigenbau-Audit ohne CIS-CAT-Lizenz
# Beispiel: einfache Audit-Checks fuer ausgewaehlte CIS-Level-1-Punkte
$results = @()
# Check: Gastkonto deaktiviert?
$guest = Get-LocalUser -Name "Gast" -ErrorAction SilentlyContinue
$results += [PSCustomObject]@{
Control = "2.3.1.3 Gastkonto deaktiviert"
Status = if (-not $guest -or -not $guest.Enabled) { "PASS" } else { "FAIL" }
}
# Check: SMBv1 entfernt?
$smb1 = Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
$results += [PSCustomObject]@{
Control = "2.1 SMBv1 deaktiviert"
Status = if ($smb1.State -eq "Disabled") { "PASS" } else { "FAIL" }
}
# Check: LLMNR deaktiviert?
$llmnr = Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" `
-Name "EnableMulticast" -ErrorAction SilentlyContinue
$results += [PSCustomObject]@{
Control = "18.6.4.1 LLMNR deaktiviert"
Status = if ($llmnr.EnableMulticast -eq 0) { "PASS" } else { "FAIL" }
}
$results | Export-Csv -Path "C:\Audit\HardeningCheck_$(Get-Date -Format yyyyMMdd).csv" -NoTypeInformation
$results | Format-Table -AutoSize
Ein solches Skript ersetzt kein zertifiziertes Tool, liefert aber einen nachvollziehbaren, versionierten Nachweis - besonders wertvoll, wenn du das Skript in Git versionierst (vgl. Git fuer IT-Admins) und die CSV-Ergebnisse pro Quartal archivierst.
Was ein sauberer Audit-Nachweis enthaelt
- Scope-Dokument: welche Server, welche Baseline-Version, welcher Level
- Rohdaten: CIS-CAT-Report oder Skript-Output, unveraendert archiviert
- Abweichungsliste: jede Nicht-Konformitaet mit Risikoeinschaetzung und Begruendung, warum sie akzeptiert oder wann sie behoben wird
- Verantwortlichkeit: wer hat geprueft, wer hat freigegeben, mit Datum
- Wiederholungsintervall: mindestens jaehrlich, zusaetzlich nach jedem grossen Patch-Zyklus oder Baseline-Update
Typische Fallstricke in der Praxis
- Level 2 blind ausgerollt: NTLM komplett deaktiviert, obwohl noch eine Legacy-Fachapplikation NTLM-Fallback braucht - Produktionsausfall am Montagmorgen.
- ADMX-Templates vergessen: Baseline-GPO zeigt in der GPMC nur “Extra Registry Settings” ohne Klartext, weil die aktuellen
.admx-Dateien nicht im zentralen Store liegen. - ASR direkt auf Block: Backup-Agent nutzt legitime PowerShell-Scripting-Patterns, die von einer ASR-Regel als obfuskiert erkannt werden - Backups schlagen nachts lautlos fehl.
- Baseline-GPO direkt editiert: Beim naechsten Microsoft-Update ueberschrieben, eigene Anpassungen verloren, niemand weiss mehr warum.
- Kein Rollback-Plan: Vor jedem Rollout ein GPO-Backup (
Backup-GPO) und einen dokumentierten Rueckbau-Weg einplanen - Haertung, die den Server lahmlegt, ist genauso schlecht wie keine Haertung. - Domain Controller wie Member Server behandelt: DCs brauchen eigene Kerberos- und LDAP-Signing-Einstellungen, die aus dem Member-Server-Profil fehlen oder falsch waeren.
Weiterlernen
- CIS Benchmarks (offizielle Liste) - kostenloser Download nach Registrierung
- Microsoft Security Compliance Toolkit - Leitfaden
- Attack Surface Reduction Rules konfigurieren
- ASR-Regeln Referenz mit allen GUIDs
- CIS-CAT Pro Assessor
- Leitfaden zu Windows-Sicherheitsbaselines
Verwandte Themen: AD Security Hardening (Tier Model) - Windows Firewall - GPO Grundlagen - Zero Trust Architektur im KMU - NIS2 fuer KMU Schweiz - Skript-Sicherheit AppLocker/WDAC
Videos
Kommentare
Frage, Verbesserungsvorschlag oder eigene Erfahrung zu diesem Artikel? Schreib einen Kommentar. Neue Beiträge erscheinen nach kurzer Moderation.
- Lade Kommentare …