Automatyzacja zgodności z Windows Server STIG za pomocą skryptów STIG
**Pobierz wszystkie wymagane pliki z GitHub Repository
Uwaga: Ten skrypt powinien działać dla większości, jeśli nie wszystkich, systemów bez problemu. Podczas gdy @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 Nie uruchamiaj tego skryptu, jeśli nie rozumiesz, co on robi. Twoim obowiązkiem jest przejrzenie i przetestowanie skryptu przed jego uruchomieniem.
Ansible:
Obecnie oferujemy kolekcję playbooków dla tego skryptu. Proszę zapoznać się z następującymi informacjami: - Github Repo - Ansible Galaxy
Wprowadzenie:
Windows 10 jest niezabezpieczonym systemem operacyjnym po wyjęciu z pudełka i wymaga wielu zmian, aby ubezpieczyć FISMA zgodność. Organizacje takie jak Microsoft , Cyber.mil , the Department of Defense , and the National Security Agency mają zalecane i wymagane zmiany w konfiguracji w celu zablokowania, utwardzenia i zabezpieczenia systemu operacyjnego oraz zapewnienia zgodności z przepisami rządowymi. Zmiany te obejmują szeroki zakres środków zaradczych, w tym blokowanie telemetrii, makr, usuwanie bloatware i zapobieganie wielu fizycznym atakom na system.
Systemy autonomiczne są jednymi z najtrudniejszych i najbardziej irytujących systemów do zabezpieczenia. Jeśli nie są zautomatyzowane, wymagają ręcznych zmian w każdym STIG/SRG. W sumie ponad 1000 zmian konfiguracji w typowym wdrożeniu i średnio 5 minut na zmianę, co równa się 3,5 dnia pracy. Ten skrypt ma na celu znaczne przyspieszenie tego procesu.
Uwagi:
- Ten skrypt jest przeznaczony do pracy w środowiskach Enterprise i zakłada, że masz wsparcie sprzętowe dla wszystkich wymagań.
- Dla systemów osobistych proszę zobaczyć to GitHub Repository
- Ten skrypt nie jest przeznaczony do doprowadzenia systemu do 100% zgodności, raczej powinien być użyty jako krok do ukończenia większości, jeśli nie wszystkich, zmian konfiguracyjnych, które mogą być oskryptowane.
- Pomijając dokumentację systemu, ten zbiór powinien doprowadzić Cię do około 95% zgodności ze wszystkimi zastosowanymi STIGS/SRGs.
Wymagania:
- Windows 10 Enterprise jest wymagany na STIG.
-[X]
Standards
dla wysoce bezpiecznego urządzenia z systemem Windows 10
-[X] System is
fully up to date
- Uruchom Windows 10 Upgrade Assistant aby zaktualizować i sprawdzić najnowsze główne wydanie.
- X] Bitlocker musi być zawieszony lub wyłączony przed wykonaniem tego skryptu, może być ponownie włączony po ponownym uruchomieniu komputera.
- Kolejne uruchomienia tego skryptu mogą być wykonywane bez wyłączania bitlockera.
- X] Wymagania sprzętowe. - Hardware Requirements for Memory Integrity - Hardware Requirements for Virtualization-Based Security - Hardware Requirements for Windows Defender Application Guard - Hardware Requirements for Windows Defender Credential Guard
Zalecane materiały do czytania:
- System Guard Secure Launch - System Guard Root of Trust - Hardware-based Isolation - Memory integrity - Windows Defender Application Guard - Windows Defender Credential Guard
Lista skryptów i narzędzi, które wykorzystuje ta kolekcja:
- Cyber.mil - Group Policy Objects - Microsoft Security Compliance Toolkit 1.0
Rozważano dodatkowe konfiguracje z:
- 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
STIGS/SRGs Applied:
- 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
Edycja polityk w Local Group Policy po fakcie:
- Zaimportuj definicje ADMX Policy z tego. repo do C:™WindowsPolicyDefinitions na systemie, który próbujesz zmodyfikować.
- Otwórz
gpedit.msc
w systemie, który próbujesz zmodyfikować.
Jak uruchomić skrypt:
Automated Install:
Skrypt można uruchomić z rozpakowanego pliku do pobrania z GitHuba w ten sposób:
iex ((New-Object System.Net.WebClient).DownloadString('https://simeononsecurity.com/scripts/standalonewindows.ps1'))
Manual Install:
W przypadku ręcznego pobrania, skrypt musi być uruchomiony z katalogu zawierającego wszystkie pozostałe pliki z. GitHub Repository
Wszystkie parametry w skrypcie “secure-standalone.ps1” są opcjonalne i mają domyślną wartość $true. Oznacza to, że jeżeli podczas uruchamiania skryptu nie zostanie określona wartość parametru, będzie on traktowany tak, jakby był ustawiony na $true.
Skrypt przyjmuje następujące parametry, z których wszystkie są opcjonalne i domyślnie przyjmują wartość $true, jeżeli nie zostaną określone:
- cleargpos: (Boolean) Wyczyść GPO, które nie są używane.
- installupdates: (Boolean) Zainstaluj aktualizacje i zrestartuj w razie potrzeby.
- adobe: (Boolean) STIG Adobe Reader.
- firefox: (Boolean) STIG Firefox.
- chrome: (Boolean) STIG Chrome
- IE11: (Boolean) STIG Internet Explorer 11.
- edge: (Boolean) STIG Edge
- dotnet: (Boolean) STIG .NET Framework
- office: (Boolean) STIG Office
- onedrive: (Boolean) STIG OneDrive.
- java: (Boolean) STIG Java.
- windows: (Boolean) STIG Windows.
- defender: (Boolean) STIG Windows Defender.
- firewall: (Boolean) STIG Windows Firewall.
- mitigations: (Boolean) STIG Mitigations.
- nessusPID: (Boolean) Resolve Unquoted Strings in Path.
- horizon: (Boolean) STIG VMware Horizon
- sosoptional: (Boolean) Opcjonalne elementy STIG/Hardening
Przykładem uruchomienia skryptu ze wszystkimi domyślnymi parametrami byłoby:
.\secure-standalone.ps1
Jeśli chcesz określić inną wartość dla jednego lub więcej parametrów, możesz dołączyć je do polecenia wraz z ich pożądaną wartością. Na przykład, gdybyś chciał uruchomić skrypt i ustawić parametr $firefox na $false, polecenie brzmiałoby:
.\secure-standalone.ps1 -firefox $false
Można również określić wiele parametrów w poleceniu, jak np:
.\secure-standalone.ps1 -firefox $false -chrome $false
Zauważ, że w tym przykładzie oba parametry Firefox i Chrome są ustawione na $false.