Automatisieren der Windows Server STIG-Konformität mit STIG-Skripten
**Laden Sie alle erforderlichen Dateien von der Seite GitHub Repository
Hinweis: Dieses Skript sollte auf den meisten, wenn nicht allen Systemen problemlos funktionieren. Während @SimeonOnSecurity creates, reviews, and tests each repo intensively, we can not test every possible configuration nor does @SimeonOnSecurity take any responsibility for breaking your system. If something goes wrong, be prepared to submit an issue Führen Sie dieses Skript nicht aus, wenn Sie nicht verstehen, was es tut. Es liegt in Ihrer Verantwortung, das Skript zu überprüfen und zu testen, bevor Sie es ausführen.
Ansible:
Wir bieten jetzt eine Playbook-Sammlung für dieses Skript an. Bitte beachten Sie das Folgende:
Einleitung:
Windows 10 ist von Haus aus ein unsicheres Betriebssystem und erfordert viele Änderungen, um sicherzustellen, dass FISMA Einhaltung der Vorschriften. Organisationen wie Microsoft , Cyber.mil , the Department of Defense , and the National Security Agency haben empfohlene und erforderliche Konfigurationsänderungen vorgenommen, um das Betriebssystem zu sperren, zu härten und zu sichern und die Einhaltung der gesetzlichen Vorschriften zu gewährleisten. Diese Änderungen umfassen ein breites Spektrum an Abhilfemaßnahmen, darunter das Blockieren von Telemetrie, Makros, das Entfernen von Bloatware und das Verhindern vieler physischer Angriffe auf ein System.
Eigenständige Systeme gehören zu den am schwierigsten und lästigsten zu sichernden Systemen. Wenn sie nicht automatisiert sind, müssen die einzelnen STIG/SRGs manuell geändert werden. Bei einem typischen Einsatz werden insgesamt über 1000 Konfigurationsänderungen vorgenommen, und jede Änderung dauert durchschnittlich 5 Minuten, was einem Arbeitsaufwand von 3,5 Tagen entspricht. Dieses Skript zielt darauf ab, diesen Prozess erheblich zu beschleunigen.
Anmerkungen:
- Dieses Skript ist für den Einsatz in Unternehmen-Umgebungen konzipiert und geht davon aus, dass Sie über Hardware-Unterstützung für alle Anforderungen verfügen.
- Für persönliche Systeme lesen Sie bitte dieses GitHub Repository
- Dieses Skript ist nicht dazu gedacht, ein System zu 100 % konform zu machen. Es sollte vielmehr als Sprungbrett dienen, um die meisten, wenn nicht sogar alle Konfigurationsänderungen, die per Skript vorgenommen werden können, zu vollenden.
- Abzüglich der Systemdokumentation sollte diese Sammlung die Konformität aller angewandten STIGS/SRGs auf etwa 95 % bringen.
Anforderungen:
- Windows 10 Enterprise ist pro STIG erforderlich.
- Standards für ein hochsicheres Windows 10-Gerät
- System is
fully up to date
- Führen Sie die Windows 10 Upgrade Assistant um die letzte Hauptversion zu aktualisieren und zu verifizieren.
- X] Bitlocker muss vor der Implementierung dieses Skripts angehalten oder deaktiviert werden, es kann nach einem Neustart wieder aktiviert werden.
- Nachfolgende Durchläufe dieses Skripts können ohne Deaktivierung von Bitlocker ausgeführt werden.
- X] Hardware-Anforderungen
Empfohlenes Lesematerial:
- System Guard Secure Launch
- System Guard Root of Trust
- Hardware-based Isolation
- Memory integrity
- Windows Defender Application Guard
- Windows Defender Credential Guard
Eine Liste der Skripte und Werkzeuge, die diese Sammlung verwendet:
Zusätzliche Konfigurationen wurden berücksichtigt von:
- Microsoft - Recommended block rules
- Microsoft - Recommended driver block rules
- Microsoft - Windows Defender Application Control
- NSACyber - Application Whitelisting Using Microsoft AppLocker
- NSACyber - Hardware-and-Firmware-Security-Guidance
- NSACyber - Windows Secure Host Baseline
Angewandte STIGS/SRGs:
- Adobe Acrobat Pro DC Continuous V2R1
- Adobe Acrobat Reader DC Continuous V2R1
- Firefox V5R2
- Google Chrome V2R4
- Internet Explorer 11 V1R19
- Microsoft Edge V1R2
- Microsoft .Net Framework 4 V1R9
- Microsoft Office 2013 V2R1
- Microsoft Office 2016 V2R1
- Microsoft Office 2019/Office 365 Pro Plus V2R3
- Microsoft OneDrive STIG V2R1
- Oracle JRE 8 V1R5
- Windows 10 V2R2
- Windows Firewall V1R7
Nachträgliches Bearbeiten von Richtlinien in der lokalen Gruppenrichtlinie:
- Importieren Sie die ADMX-Richtliniendefinitionen aus dieser repo in C:\windows\PolicyDefinitions auf dem System, das Sie zu ändern versuchen.
- Öffnen
gpedit.msc
auf dem System, das Sie zu ändern versuchen.
So führen Sie das Skript aus:
Automatisierte Installation:
Das Skript kann wie folgt aus dem extrahierten GitHub-Download gestartet werden:
iex ((New-Object System.Net.WebClient).DownloadString('https://simeononsecurity.com/scripts/standalonewindows.ps1'))
Manuelle Installation:
Wenn das Skript manuell heruntergeladen wird, muss es aus dem Verzeichnis gestartet werden, das alle anderen Dateien aus dem GitHub Repository
Alle Parameter im Skript “secure-standalone.ps1” sind optional und haben den Standardwert $true. Das heißt, wenn bei der Ausführung des Skripts kein Wert für einen Parameter angegeben wird, wird er so behandelt, als wäre er auf $true gesetzt.
Das Skript benötigt die folgenden Parameter, die alle optional sind und standardmäßig auf $true gesetzt werden, wenn sie nicht angegeben werden:
- cleargpos: (Boolean) Löscht GPOs, die nicht verwendet werden
- installupdates: (Boolean) Installiert Updates und startet neu, wenn nötig
- adobe: (Boolean) STIG Adobe Reader
- firefox: (Boolean) STIG Firefox
- chrome: (Boolean) STIG Chrome
- IE11: (Boolescher Wert) STIG Internet Explorer 11
- edge: (Boolescher Wert) STIG Edge
- dotnet: (Boolescher Wert) STIG .NET Framework
- office: (Boolean) STIG Office
- onedrive: (Boolescher Wert) STIG OneDrive
- java: (Boolescher Wert) STIG Java
- Windows: (Boolean) STIG Windows
- defender: (Boolescher Wert) STIG Windows Defender
- Firewall: (Boolescher Wert) STIG Windows Firewall
- Mitigations**: (Boolean) STIG Mitigations
- nessusPID: (Boolean) Unquotierte Zeichenfolgen im Pfad auflösen
- Horizon**: (Boolean) STIG VMware Horizon
- sosoptional: (Boolean) Optionale STIG/Härtungselemente
Ein Beispiel für die Ausführung des Skripts mit allen Standardparametern wäre:
.\secure-standalone.ps1
Wenn Sie für einen oder mehrere Parameter einen anderen Wert angeben möchten, können Sie sie zusammen mit dem gewünschten Wert in den Befehl aufnehmen. Wenn Sie zum Beispiel das Skript ausführen und den Parameter $firefox auf $false setzen möchten, würde der Befehl lauten:
.\secure-standalone.ps1 -firefox $false
Sie können auch mehrere Parameter in dem Befehl angeben, etwa so:
.\secure-standalone.ps1 -firefox $false -chrome $false
Beachten Sie, dass in diesem Beispiel sowohl der Firefox- als auch der Chrome-Parameter auf $false gesetzt sind.