Zum Inhalt springen
sw
en

Tippe um zu suchen

IT-Security (Business)

Server-Hardening nach CIS Benchmarks

CIS Benchmarks, Microsoft Security Baselines, ASR-Regeln und GPO-Import praxisnah umgesetzt - inklusive Audit-Nachweis fuers KMU.

10 Min Lesezeit Expert Zuletzt aktualisiert:

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:

LevelZielgruppeBeispielImpact
Level 1Praktisch jeder produktive ServerPasswort-Komplexitaet erzwingen, Gastkonto deaktivieren, SMBv1 entfernenMinimal, kaum Funktionseinbussen
Level 2Hochsicherheitsumgebungen, sensible DatenUSB-Massenspeicher komplett sperren, NTLM vollstaendig deaktivieren, FIPS-140-Ciphersuiten erzwingenKann 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:

ToolZweck
Baseline-GPOs (Backup-Format)Fertige GPO-Exporte pro Betriebssystem/Rolle, direkt importierbar
Policy AnalyzerVergleicht mehrere GPOs/Registry-Zustaende nebeneinander, zeigt Konflikte
LGPO.exeKommandozeilen-Tool zum Anwenden von Registry.pol-Dateien ohne Domaene (fuer Standalone-Server)
GPO-to-PowerShell-KonverterWandelt 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

  1. SCT herunterladen und entpacken. Du erhaeltst pro Baseline einen Ordner mit Unterordnern GPOs, Documentation, Scripts und Templates.
  2. ADMX-Vorlagen aktualisieren. Kopiere die mitgelieferten .admx/.adml-Dateien aus Templates in den zentralen Store \\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, sonst zeigt die GPMC bei neueren Einstellungen “Extra Registry Settings” ohne Klartext an.
  3. Leere GPO anlegen und sprechend benennen, z. B. Baseline - WS2022 Member Server - v1.
  4. 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).
  5. 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.
  6. 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?

KriteriumCIS BenchmarkMicrosoft Security Baseline
GranularitaetSehr hoch, hunderte EinzelpunkteKompakter, Fokus auf Kernrisiken
HerstellerneutralitaetJa, community-getragenNein, Microsoft-eigene Priorisierung
Fertige GPOsNein, nur Dokumentation (manuell umsetzen)Ja, direkt importierbar
Audit-ToolingCIS-CAT (kostenpflichtig fuer volle Abdeckung)Policy Analyzer (kostenlos, aber kein Scoring)
Compliance-Nachweis (ISO 27001, NIS2)Sehr anerkannt als ReferenzstandardWird akzeptiert, aber seltener explizit referenziert
Aufwand ErsteinrichtungHochNiedrig 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):

RegelGUID (Kurzform)Zweck
Office-Anwendungen am Erstellen von Kindprozessen hindernd4f940ab-401b-4efc-aadc-ad5f3c50688aStoppt Makro-Payloads
Diebstahl von Anmeldeinformationen aus LSASS blockieren9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2Verhindert Mimikatz-artige Credential Dumps
Persistenz ueber WMI-Ereignisabonnement blockierene6db77e5-3df2-4cf1-b95a-636979351e5bStoppt fileless persistence
Ausfuehrung potenziell verschleierter Skripte blockieren5beb7efe-fd9a-4556-801d-275e5ffc04ccErkennt obfuskierten PowerShell/JS-Code
Persistenz ueber Startordner/Registry-Run-Keys blockieren (Advanced RS)d1e49aac-8f56-4280-b9ba-993a6d77406cKlassische Autostart-Persistenz
USB-basierte Ausfuehrung nicht vertrauenswuerdiger Dateien blockierenb2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4Relevant 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

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

YouTube
Microsoft Security Compliance Toolkit (SCT) Explained | Import & Apply Baseline GPOs

Kommentare

Frage, Verbesserungsvorschlag oder eigene Erfahrung zu diesem Artikel? Schreib einen Kommentar. Neue Beiträge erscheinen nach kurzer Moderation.

  • Lade Kommentare …
Kommentar schreiben