Schnellabsicherung von Windows - In drei Schritten zu einem sicheren Windows-System
Jedes aktuelle Windows-System lässt sich durch drei einfache Konfigurationsänderungen gegen Malware "immunisieren".
- Drei Konfigurationsänderungen: Versiegeln, Isolieren und Herabstufen
- Wovor schützt die Konfiguration?
- Wovor schützt die Konfiguration nicht?
- Welche Auswirkungen hat die Konfiguration auf die alltägliche Arbeit?
- Systemvoraussetzung und Beschreibung der Konfigurationsänderungen
- Herunterladen und starten des Skriptes QuickWinSec.bat
- Anpassen des QuickWinSec-Skriptes
- Nutzung des QuickWinSec-Skriptes
Drei Konfigurationsänderungen: Versiegeln, Isolieren und Herabstufen
Durch diese Konfigurationsänderungen und die strikte Einhaltung der Zwei-Benutzerregel ist unerwünschte Software (Malware) nicht mehr ausführbar.
Achtung! Voraussetzung für die korrekte Funktionsweise des Schutzes ist die strikte Einhaltung der Zwei-Benutzerregel!
Die Zwei-Benutzerregel bedeutet, dass alltägliche Arbeiten (Mails lesen, Webseiten aufrufen, Büroarbeit usw.) mit einem nicht-administrativen Konto erledigt werden und administrative Konten nur für administrative Aufgaben benutzt werden, s. auch Dokument "Fünf Grundregeln für den sicheren Betrieb von Windows-Systemen".
- Die erste Konfigurationänderung (ab Windows XP) ist die Aktivierung von Software Whitelisting (Versiegeln) mittels Windows Software Restrictions.
Das Grundprinzip ist einfach:
Der Start von Programmen ist nur erlaubt, wenn diese auf einer "Positivliste" (Whitelist) stehen.
Folgende Verzeichnisse werden standardmäßig auf die Positivliste gesetzt:
%Systemroot% (z.B. C:\Windows)
%ProgramFiles% (z.B. C:\Program Files)
%ProgramFiles(x86)% (z.B. C:\Program Files (x86))
C:\ProgramData\Microsoft\Windows Defender
Aus diesen Verzeichnissen ist das Starten beliebiger Software erlaubt. Da diese Pfade nur von administrativen Benutzern beschrieben werden können, ist der Start von unerwünschter Software durch ein Standardbenutzerkonto nicht mehr möglich.
Darüber hinaus ist das Starten von Programmen aus folgenden Verzeichnissen im Windows-Verzeichnis deaktiviert, da diese Verzeichnisse standardmäßig von Benutzern beschreibbar sind:
%WINDIR%\Debug
%WINDIR%\PCHEALTH
%WINDIR%\Registration
%WINDIR%\System32\BioAPIFFDB
%WINDIR%\System32\catroot2
%WINDIR%\System32\Com\dmp
%WINDIR%\System32\FxsTmp
%WINDIR%\System32\Microsoft
%WINDIR%\System32\spool\drivers\color
%WINDIR%\System32\Spool\Printers
%WINDIR%\System32\Spool\Servers
%WINDIR%\System32\Tasks
%WINDIR%\SysWOW64\Com\dmp
%WINDIR%\SysWOW64\FxsTmp
%WINDIR%\SysWOW64\Tasks
%WINDIR%\Tasks
%WINDIR%\TEMP
%WINDIR%\Tracing
Diese Verzeichnisliste ist anpassbar, s. dazu den Abschnitt "Anpassen des QuickWinSec-Skriptes" weiter unten.
Die Ausführung folgender Programmdateien wird über Block-Regeln verhindert:
addinprocess.exe
addinprocess32.exe
addinutil.exe
bash.exe
bginfo.exe
cdb.exe
csi.exe
dbghost.exe
dbgsvc.exe
dnx.exe
fsi.exe
fsiAnyCpu.exe
kd.exe
ntkd.exe
lxssmanager.dll
msbuild.exe
mshta.exe
ntsd.exe
rcsi.exe
windbg.exe
wmic.exe
Diese Liste ist einer Microsoft-Empfehlung entnommen, s. dazu
https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-block-rules
Sie können die Liste der blockierten Programmdateien anpassen, indem Sie die Skriptvariable BlockedFiles anpassen.
Weitere Information zu Software Whitelisting, s. "Software Whitelisting - der bessere Virenschutz".
- Die zweite Konfigurationsänderung (ab Windows Vista) ist eine Rekonfiguration der Windows Firewall.
Diese Anpassung ist dringend empfohlen, da alle standardmäßig geöffneten Ports weltweit ansprechbar sind. Daher wird die Reichweite aller geöffneten Ports auf das lokale Subnetz beschränkt (Isolieren).
Informationen zur Portkonfiguration der Windows Firewall einer Standard-Windows-Installation finden Sie unter Offene Ports einer Standard-Windows-Installation.
- Die dritte Konfigurationsänderung (ab Windows Vista) betrifft UAC, die Benutzerkontensteuerung von Windows.
Da UAC ab Windows 7 in der Standardkonfiguration eine von Microsoft gepflegte Whitelist nutzt, um UAC-Zustimmungsabfragen zu reduzieren und dies eine automatische Nutzung von administrativen Rechten administrativer Konten erlaubt, wird UAC rekonfiguriert, damit jeder Nutzung administrativer Rechte zugestimmt werden muss (Herabstufen).
Achtung! Konfigurationsänderung 2 und 3 werden unter Windows XP NICHT ausgeführt, da Windows XP keine entsprechenden Automatisierungsfunktionalitäten/Funktionalitäten besitzt!
Außerdem wird das Explorer-Kontextmenü um folgende Befehle erweitert:
Für Dateien
"Editor..." - Startet Notepad.exe für die ausgewählte Datei mit Standardbenutzerrechten.
"Elevated Editor..." - Startet Notepad.exe für die ausgewählte Datei mit administrativen Benutzerrechten (elevated.)
Für Verzeichnisse
"Command Line..." - Startet Cmd.exe für das ausgewählte Verzeichnis mit Standardbenutzerrechten.
"Elevated Command Line..." - Startet Cmd.exe für das ausgewählte Verzeichnis mit administrativen Benutzerrechten (elevated).
Für Dateien und Verzeichnisse
"Copy to Folder..." und "Move to Folder..." - Ermöglicht das Kopieren oder das Bewegen von Dateien oder Verzeichnissen.
Weitere Informationen zu UAC finden Sie im Dokument "Wozu dient UAC - die Benutzerkontensteuerung von Windows?"
Optional wird ab Windows Vista das Microsoft Enhanced Mitigation Experience Toolkit (EMET) installiert und für die Liste von Window-Anwendungen der mitgelieferten EMET-Schutzprofiledatei All.XML aktiviert, um übliche Angriffsmethoden auf zugelassene Anwendungen zu unterbinden, s. dazu
The Enhanced Mitigation Experience Toolkit
Enhanced Mitigation Experience Toolkit (EMET)
http://blogs.technet.com/b/germany/archive/2012/06/06/emet-3-0-windows-schutztechniken-f-252-r-jegliche-anwendung-auch-unter-windows-8.aspx
Optional wird die kostenlose Anti-Virensoftware Microsoft Security Essentialsinstalliert (nur Windows Vista/7/Server 2008/2008 R2), wenn Sie der Installation während der Skript-Ausführung zustimmen.
Mindestvoraussetzung für ein sicheres Arbeiten
Die angegebenen Anpassungen der Windows-Konfiguration sind die Mindestvoraussetzung für ein sicheres Arbeiten als Nicht-Administrator unter einem aktuellen Windows-System und daher dringend empfohlen.
Wovor schützt die Konfiguration?
Angriff | Standard-benutzerkonto | Administratives Benutzerkonto |
---|---|---|
Systemweite Veränderung des Systems durch unerlaubte Programme (Installation von Malware, Löschen von Daten usw.) | nicht möglich | möglich, nach expliziter Zustimmung per UAC |
Löschen, Veränderung oder Diebstahl von Nutzerdaten durch unerlaubte Programme | nicht möglich | möglich, nach expliziter Zustimmung per UAC |
Wovor schützt die Konfiguration nicht?
- Vor Angriffen auf oder durch zugelassene Software wie z.B. Browsern, Mailprogrammen, Viewern, Textverarbeitungen usw.
- Vor 0-Day-Exploits, die Fehler in zugelassenen Anwendungen oder im Betriebssystem ausnutzen, um mit vorhandener und zugelassener Software unerwünschte Aktionen durchzuführen.
- Vor dem Start von beliebiger Software und beliebigen Skriptdateien durch das built-in Benutzerkonto System.
Welche Auswirkungen hat die Konfiguration auf die alltägliche Arbeit?
- Für Standardbenutzer ist Software nur noch aus den schreibgeschützten zugelassenen Verzeichnissen startbar. Dies sind standardmäßig:
C:\Windows
C:\Program Files
C:\Program Files (x86)
Achtung!
Administratoren können weiterhin jede beliebige Software (z.B. Installationsprogramme) per rechter Maustaste und den Kontextmenübefehl "Als Administrator ausführen" starten.
- Alle offenen Ports des Firewalls sind nur noch innerhalb des lokalen IP-Subnetzes des konfigurierten Systems erreichbar, so dass eventuell angebotene Dienste nicht mehr wie vor der Konfiguration weltweit verfügbar sind.
Dies minimiert die Angreifbarkeit des Systems gegenüber entfernt ausgeführten Angriffen.
- Administratoren werden vor jeder Nutzung administrativer Rechte zur Zustimmung zum Gebrauch dieser Rechte aufgefordert.
Dies schützt nachhaltig vor Malware und Flüchtigkeitsfehlern.
Dringend empfohlene Mindestkonfigurationsanpassung, aber zu schwache Konfiguration für administrative Arbeiten vor allem auf Serversystemen
Wie die Tabelle zeigt, ist die Konfiguration nicht geeignet, um die Arbeit als Administrator abzusichern, da Administratoren, wie auch das Systemkonto, jedes Programm starten können.
Natürlich ist immer die Zustimmung zu einer administrativen UAC-Abfrage notwendig, weil durch den Konfigurationsschritt 3 Herabstufen die automatische Nutzung administrativer Rechte deaktiviert wurde und somit eine beliebige Software erst gestarted werden kann, wenn ein Administrator dem Start per UAC-Dialogbox zustimmt.
Eine ausführliche Konfigurationsanleitung zur Absicherung von Windows-System an denen vorrangig als Administrator gearbeitet wird, finden Sie im Dokument "Best Practice Windows-Sicherheitskonfiguration - Wie installiere und konfiguriere ich ein sicheres und robustes Windows-System?"
Systemvoraussetzung und Kurzbeschreibung der Kommandos
Die folgenden Kommandozeilen können benutzt werden, um die Arbeit als Nicht-Administrator an einem aktuellen Windows-System abzusichern.
Voraussetzungen
- Windows XP höher.
- Administrative Kommandozeile.
- Powershell für Applocker-Automatisierung (nur Education/Enterprise/Ultimate/Server-Versionen).
PowerShell 5.0 (Windows 10 enthält PowerShell 5.0)
Hinweise und Download-Links unter
Wie schränke ich In-Memory-Angriffe mittels PowerShell ein?
Download von Windows PowerShell 2.0 für Windows XP/Vista und Windows Server 2003/2008 unter
http://support.microsoft.com/kb/968929.
Beschreibung der Konfigurationsänderungen
- Versiegeln: Das Laden von Programmen und DLLs ist standardmäßig verboten und für Standardbenutzer nur aus zugelassenen Verzeichnissen (%SystemDrive%\Program files und %SystemDrive%\Windows) erlaubt.
Für Windows Vista/Server 2008 und Windows 7/Windows Server 2008 R2 gilt:
Administratoren dürfen Programme und DLLs aus beliebigen Verzeichnissen starten, aber erst nach einer Heraufstufung des jeweiligen Programms per UAC-Zustimmungsabfrage durch den Kontextmenübefehl "Als Administrator ausführen".
Ab Windows 8 gilt:
Administratoren dürfen Programme und DLLs aus beliebigen Verzeichnissen starten.
In Abhänigkeit vom Betriebssystem Windows Vista/Windows Server 2008 oder höher wird das Versiegeln entweder über Software Restrictions Version 1 - Windows Vista/Windows Server 2008 oder Applocker (Software Restrictions Version 2) - Windows 7/Windows Server 2008 R2 oder höher realisiert.
Die Software Restrictions-Regeln werden direkt unter Umgehung der Gruppenrichtlinien in die Registry geschrieben. Daher sind die gesetzten Regeln per Gruppenrichtlinien-Snap-In "gpedit.msc" nicht sichtbar, werden jedoch trotzdem vom System beachtet. Für die automatisierte Konfigurierung von Software Restrictions per Gruppenrichtlinien kann das kostenpflichtige Powershell Add-On GPExpert Software Group Policy Automation Engine (GPAE) benutzt werden.
Die Applocker-Regeln werden mit Bordmitteln per Powershell-Skript konfiguriert.
Die Positivliste der zugelassenen Pfade lässt sich einfach durch das Setzen von Skriptvariablen des QuickWinSec-Skriptes anpassen, s. Anpassen des QuickWinSec-Skriptes.
- Isolieren: Eingehender Netzwerkverkehr ist grundsätzlich verboten und nur für festgelegte Ausnahmen auf das lokale Subnetz beschränkt. Ausgehender Netzwerkverkehr ist grundsätzlich erlaubt.
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
netsh advfirewall firewall set rule name="Regelname" new dir=in remoteip=localsubnet - Herabstufen: Die automatische Nutzung von administrativen Rechten für administrative Konten ist abgeschaltet.
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
/v FilterAdministratorToken /t REG_DWORD /d 0x1 /f
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
/v ConsentPromptBehaviorAdmin /t REG_DWORD /d 0x2 /f
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
/v PromptOnSecureDesktop /t REG_DWORD /d 0x1 /f
Herunterladen und starten des Skriptes QuickWinSec.bat
Herunterladen des Skriptes
Das Skript "QuickWinSec.bat" zum Herunterladen finden Sie unter
https://softsrv.uni-rostock.de/pub/uni-rostock/rz/NT-Kurs/ToolKit/QuickWinSec.cab
Nach dem Herunterladen müssen Sie das Skript "QuickWinSec.bat" aus dem CAB-Archiv "QuickWinSec.cab" entpacken.
Dazu doppelklicken Sie im File Explorer das heruntergeladene Archiv "QuickWinSec.cab" und doppelklicken anschließend das Skript "QuickWinSec.bat".
Nun können Sie das Skript "QuickWinSec.bat" an einen Ort Ihrer Wahl entpacken, z.B. C:\TEMP.
Starten des Skriptes
- Öffnen Sie eine Kommandozeile mit administrativen Rechten, indem Sie die rechte Maustaste auf den Shortcut "Eingabeaufforderung" unter "START -> Alle Programme -> Zubehör" drücken und anschließend den Befehl "Als Administrator ausführen" auswählen.
- Starten Sie das Skript "QuickWinSec.bat".
Anpassen des QuickWinSec-Skriptes
Die Konfiguration des QuickWinSec-Skriptes ist einfach anpassbar, indem Sie eine Datei namens QuickWinSec.cfg im Verzeichnis des QuickWinSec-Skriptes oder im Verzeichnis C:\Logs\WinConfig erstellen und diese Datei zeilenweise mit Konfigurationsparametern aus der nachfolgenden Tabelle füllen, um die Standardeinstellungen zu überschreiben, z.B.
SRPDirs="D:\Program files","D:\Windows"
Unattended=1
oder
SRPDirs="C:\Program files","C:\Windows","C:\Soft\Tools"
INCLUDESCRIPTS=1
Die folgende Tabelle beschreibt Variablen, die Sie nutzen können, um das QuickWinSec-Skript an Ihre Bedürfnisse anzupassen:
Variablen des QuickWinSec-Skriptes
Variable | Mögliche Werte (Standard) | Bedeutung |
---|---|---|
AVINS | 0 oder 1 (0) | Installation von Anti-Virus Software (0=nein, 1=ja) |
AVUNINS | 0 oder 1 (-) | Deinstallation von Anti-Virus Software (0=nein, 1=ja) |
BLOCKEDFILES | Komma getrennte Liste von Programmdateien (s. Punkt 1 oben unter "Drei Konfigurationsänderungen") | Liste von blockierten Programmdateien |
CONFIGFIREWALL | 0 oder 1 (-) | Konfiguration geöffneter Windows Firewall Ports auf die Reichweite lokales Subnetz (0=nein, 1=ja) |
CONFIGUAC | 0 oder 1 (1) | Härtung der Benutzerkontensteuerung |
DEBUG | 0 oder 1 (1) | Ausführliches Logging in die Datei C:\Logs\WinConfig\QuickWinSec-%COMPUTERNAME%.log (0=nein, 1=ja) |
DEFAULTAPPRULES | 0 oder 1 (1) | Applocker-Standardregeln für Windows 8-Apps (0=nein - Nur aktuell installierte Apps zugelassen, 1=ja - Alle Apps zugelassen) |
EMETINS | 0 oder 1 (0) | Installation von Microsoft EMET (0=nein, 1=ja) |
EMETUNINS | 0 oder 1 (0) | Deinstallation von Microsoft EMET (0=nein, 1=ja) |
ENABLEWHITELISTEXCEPTIONS | 0 oder 1 (1) | Aktiviere Ausnahmen für Verzeichnisse auf der Whitelist |
INCLUDEMSI | 0 oder 1 (1) | Aktiviere Software Whitelist-Schutz zusätzlich für MSI-Dateien, MSI-Dateien sind nur noch für Administratoren oder aus dem Pfad C:\Windows\Installer startbar. |
INCLUDESCRIPTS | 0 oder 1 (1) | Aktiviere Software Whitelist-Schutz zusätzlich für Skriptdateien |
SRPDirs | Komma getrennte Liste von Verzeichnissen ("!Systemroot!","!ProgramFiles!","!ProgramFiles(x86)!"), "C:\ProgramData\Microsoft\Windows Defender" | Liste von Verzeichnissen, aus denen Programme gestartet werden dürfen |
SRPv2Support | 0 oder 1 (-) | Nutzung von Applocker (0=nein, 1=ja) |
SRPWinDirExceptions | Komma getrennte Liste von Verzeichnissen (s. Punkt 1 oben unter "Drei Konfigurationsänderungen") | Liste von Verzeichnissen im Windows-Pfad (%WINDIR%), aus denen keine Programme gestartet werden dürfen |
UNATTENDED | 0 oder 1 (0) | Startet die Konfiguration ohne Abfrage (0=nein, 1=ja) |
Nutzung des QuickWinSec-Skriptes
Achtung!
Die Batch-Datei muss in einer administrativen Kommandozeile ausgeführt werden und nach der Abarbeitung des Skriptes muss eine Neuanmeldung (Logoff/Logon) durchgeführt werden.
Öffnen Sie eine Kommandozeile mit administrativen Rechten, indem Sie die rechte Maustaste auf den Shortcut "Eingabeaufforderung" unter "START -> Alle Programme -> Zubehör" drücken und anschließend den Befehl "Als Administrator ausführen" auswählen.
- Schellabsicherung durchführen
QuickWinSec.bat i
Sie werden zuerst gefragt, ob der Software Whitelist-Schutz auch für Windows-Installer-Dateien angewendet werden soll:
"Software whitelist protection for Windows Installer file (MSI files) [Y,N]?"
Weiter werden Sie gefragt, ob der Software Whitelist-Schutz auch für Skript-Dateien angewendet werden soll:
"Software whitelist protection for scripts [Y,N]?"
Anschließend werden Sie nach der Konfiguration der Firewall gefragt:
"Configure Windows Firewall open ports to local subnet [Y,N]?"
Abschließend werden Sie nach der Durchführung der Schnellabsicherung gefragt:
"Start system configuration [Y,N]?"
Beantworten Sie die Abfragen mit N oder gar nicht, dann werden keine Änderungen am System durchgeführt. Eine Installation der Microsoft Antivirensoftware ohne Systemkonfiguration ist nicht möglich.
- Schnellabsicherung rückgängig machen
QuickWinSec.bat u
Sie werden zuerst nach der Deinstallation des Microsoft Antivirensoftware gefragt:
"Uninstall Microsoft Anti-Virus [Y,N]?"
Anschließend werden Sie nach dem Zurücknehmen der Schnellabsicherung gefragt:
"Start system configuration [Y,N]?"
Beantworten Sie beide Abfragen mit N oder gar nicht, dann werden keine Änderungen am System durchgeführt. Eine Deinstallation der Microsoft
Antivirensoftware ohne Systemkonfiguration ist nicht möglich. - Nur den Software Whitelist-Schutz aktivieren, aktualisieren oder abschalten
Software Whitelist-Schutz aktivieren oder aktualisieren
QuickWinSec.bat s
Sie werden zuerst gefragt, ob der Software Whitelist-Schutz auch für Skript-Dateien angewendet werden soll:
"Software whitelist protection for scripts [Y,N]?"
Abschließend werden Sie nach der Durchführung der Aktion gefragt:
"Start system configuration [Y,N]?"
Beantworten Sie die Abfragen mit N oder gar nicht, dann werden keine Änderungen am System durchgeführt.
Software Whitelist-Schutz abschalten
QuickWinSec.bat us
Abschließend werden Sie nach der Durchführung der Aktion gefragt:
"Start system configuration [Y,N]?"
Beantworten Sie die Abfragen mit N oder gar nicht, dann werden keine Änderungen am System durchgeführt. - Installation von Software nach der Anwendung der Schnellabsicherung
a) Software mit Installationsprogramm
Starten Sie das jeweilige Setup wie folgt:
1. Klicken Sie die rechte Maustaste auf das entsprechende Programm.
2. Klicken Sie auf den Befehl "Als Administrator ausführen".
3. Folgen Sie den Anweisungen des jeweiligen Programmes.
b) Software ohne Installationsprogramm
1. Kopieren Sie das entsprechende Programm in eines der zugelassenen Verzeichnisse. Dies sind standardmäßig folgende Verzeichnisse:
%Systemroot% (z.B. C:\Windows)
%ProgramFiles% (z.B. C:\Program Files)
%ProgramFiles(x86)% (z.B. C:\Program Files (x86))
s. auch Punkt 1 unter Welche Auswirkungen hat die Konfiguration auf die alltägliche Arbeit?
2. Starten Sie das jeweilige Programm nach dem Kopieren aus dem jeweiligen Programmverzeichnis.
Bei Fragen oder Hinweisen zu diesem Dokument melden Sie sich bitte per E-Mail bei joerg.maletzky(at)uni-rostock.de.