Optymalizacja i wzmocnienie systemu Windows za pomocą skryptu Windows-Optimize-Harden-Debloat
Table of Contents
Wprowadzenie:
Windows 10 i Windows 11 to inwazyjny i niezabezpieczony system operacyjny po wyjęciu z pudełka. Organizacje takie jak np. PrivacyTools.io , Microsoft , Cyber.mil , the Department of Defense , and the National Security Agency zalecają zmiany w konfiguracji, aby zablokować, utwardzić i zabezpieczyć system operacyjny. Zmiany te obejmują szeroki zakres zabezpieczeń, w tym blokowanie telemetrii, makr, usuwanie bloatware’u oraz zapobieganie wielu cyfrowym i fizycznym atakom na system. Ten skrypt ma na celu zautomatyzowanie konfiguracji zalecanych przez te organizacje.
Uwagi, ostrzeżenia i rozważania:
OSTRZEŻENIE:
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
- Ten skrypt jest przeznaczony do pracy w środowiskach głównie Użytku osobistego. W związku z tym niektóre ustawienia konfiguracji przedsiębiorstwa nie są zaimplementowane. Ten skrypt nie jest przeznaczony do doprowadzenia systemu do 100% zgodności. Powinien być raczej wykorzystany jako krok do ukończenia większości, jeśli nie wszystkich, zmian konfiguracyjnych, które mogą być oskryptowane, pomijając takie kwestie jak branding i banery, które nie powinny być wdrożone nawet w utwardzonym środowisku użytku osobistego.
- Skrypt ten został zaprojektowany w taki sposób, że optymalizacje, w przeciwieństwie do niektórych innych skryptów, nie będą łamać podstawowych funkcji Windows.
- Funkcje takie jak Windows Update, Windows Defender, Sklep Windows i Cortona zostały ograniczone, ale nie są w stanie dysfunkcyjnym jak większość innych skryptów Windows 10 Privacy.
- Jeśli szukasz zminimalizowanego skryptu skierowanego tylko do środowisk komercyjnych, zobacz to GitHub Repository
Nie uruchamiaj tego skryptu, jeśli nie rozumiesz, co on robi. Twoim obowiązkiem jest przejrzenie i przetestowanie skryptu przed jego uruchomieniem.
PRZYKŁADOWO, JEŚLI URUCHOMISZ TEN SKRYPT BEZ PODJĘCIA ODPOWIEDNICH KROKÓW ZAPOBIEGAWCZYCH, USZKODZENIU ULEGNĄ NASTĘPUJĄCE ELEMENTY:
-
Używanie domyślnego konta administratora o nazwie “Administrator” jest wyłączone i zmieniono jego nazwę zgodnie z DoD STIG.
-
Nie dotyczy domyślnie utworzonego konta, ale dotyczy korzystania z domyślnego konta administratora często występującego w wersjach Enterprise, IOT i Windows Server
-
Utwórz nowe konto w Zarządzaniu komputerem i ustaw je jako administratora, jeśli chcesz. Następnie skopiuj zawartość folderu poprzedniego użytkownika do nowego po pierwszym zalogowaniu się na nowego użytkownika, aby obejść ten problem przed uruchomieniem skryptu.
-
-
Logowanie przy użyciu konta microsoft jest wyłączone zgodnie z DoD STIG.
-
Gdy staramy się być bezpieczni i prywatni, logowanie się na konto lokalne za pomocą konta Microsoft nie jest zalecane. Jest to wymuszone przez to repo.
-
Utwórz nowe konto w Zarządzaniu komputerem i ustaw je jako administrator, jeśli chcesz. Następnie skopiuj zawartość folderu poprzedniego użytkownika do nowego po pierwszym zalogowaniu się na nowego użytkownika, aby obejść ten problem przed uruchomieniem skryptu.
-
-
PINy do kont są wyłączone zgodnie z DoD STIG
-
PIN-y są niezbyt bezpieczne, gdy są używane wyłącznie zamiast hasła i można je łatwo obejść w ciągu kilku godzin, a potencjalnie nawet sekund lub minut.
-
Usuń PIN z konta i/lub zaloguj się przy użyciu hasła po uruchomieniu skryptu.
-
-
Domyślne ustawienia Bitlockera zostały zmienione i utwardzone w związku z DoD STIG.
-
Ze względu na to, jak Bitlocker jest zaimplementowany, kiedy te zmiany wystąpią i jeśli masz już włączony Bitlocker, złamie to implementację Bitlockera.
-
Wyłącz Bitlocker, uruchom skrypt, a następnie ponownie włącz Bitlocker, aby obejść ten problem.
-
Wymagania:
- Windows 10/11 Enterprise (Preferowany) lub Professional.
- Edycje domowe Windows 10/11 nie obsługują konfiguracji GPO i nie są testowane.
- Nie są testowane edycje Windows “N”. -[x] Standards dla wysoce bezpiecznego urządzenia z systemem Windows 10 -[x] System is fully up to date and supported
- Uruchom Windows 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.
- Kolejne uruchomienia tego skryptu mogą być wykonywane bez wyłączania bitlockera.
- 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
Dodatki, istotne zmiany i poprawki błędów:
Ten skrypt dodaje, usuwa i zmienia ustawienia w systemie. Prosimy o zapoznanie się z treścią skryptu przed jego uruchomieniem.
Przeglądarki:
- Przeglądarki będą miały zainstalowane dodatkowe rozszerzenia pomagające w zachowaniu prywatności i bezpieczeństwa.
- Zobacz. here w celu uzyskania dodatkowych informacji.
- Ze względu na DoD STIGs wdrożone dla przeglądarek, zarządzanie rozszerzeniami i inne ustawienia przedsiębiorstwa są ustawione. Aby uzyskać instrukcje, jak zobaczyć te opcje, musisz spojrzeć na instrukcje GPO poniżej.
Moduły Powershell:
- Aby pomóc w automatyzacji aktualizacji systemu Windows, PowerShell. PSWindowsUpdate moduł zostanie dodany do twojego systemu.
Naprawianie konta Microsoft, sklepu lub usług Xbox:
Dzieje się tak, ponieważ blokujemy logowanie na konta microsoftowe. Telemetria Microsoftu i kojarzenie tożsamości są odrzucane. Jednakże, jeśli nadal chcesz korzystać z tych usług zobacz następujące issue tickets dla rozwiązania:
- https://github.com/simeononsecurity/Windows-Optimize-Debloat/issues/1
- https://github.com/simeononsecurity/Windows-Optimize-Harden-Debloat/issues/16
- https://github.com/simeononsecurity/Windows-Optimize-Harden-Debloat/issues/22
Edycja polityk w Local Group Policy po fakcie:
Jeśli potrzebujesz zmodyfikować lub zmienić ustawienie, najprawdopodobniej są one konfigurowalne za pośrednictwem GPO:
-
Zaimportuj definicje ADMX Policy z tego. repo do C:\NPolicyDefinitions na systemie, który próbujesz zmodyfikować.
-
Otwórz
gpedit.msc
w systemie, który próbujesz zmodyfikować.
Lista skryptów i narzędzi, z których korzysta ta kolekcja:
Pierwsza strona:
- .NET-STIG-Script - Automate-Sysmon - FireFox-STIG-Script - JAVA-STIG-Script - Standalone-Windows-STIG-Script - Windows-Defender-STIG-Script - Windows-Optimize-Debloat
Strona trzecia:
- Cyber.mil - Group Policy Objects - Microsoft Security Compliance Toolkit 1.0 - Microsoft Sysinternals - Sysmon
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 Defender Antivirus V2R2 - Windows Firewall V1R7
Dodatkowe konfiguracje były rozważane od:
- BuiltByBel - PrivateZilla - CERT - IE Scripting Engine Memory Corruption - Dirteam - SSL Hardening - MelodysTweaks - Basic Tweaks - Microsoft - Managing Windows 10 Telemetry and Callbacks - Microsoft - Reduce attack surfaces with attack surface reduction rules - Microsoft - Recommended block rules - Microsoft - Recommended driver block rules - Microsoft - Specture and Meltdown Mitigations - Microsoft - Windows 10 Privacy - Microsoft - Windows 10 VDI Recomendations - Microsoft - Windows Defender Application Control - Mirinsoft - SharpApp - Mirinsoft - debotnet - NSACyber - Application Whitelisting Using Microsoft AppLocker - NSACyber - Bitlocker Guidance - NSACyber - Hardware-and-Firmware-Security-Guidance - NSACyber - Windows Secure Host Baseline - UnderGroundWires - Privacy.S**Y - Sycnex - Windows10Debloater - The-Virtual-Desktop-Team - Virtual-Desktop-Optimization-Tool - TheVDIGuys - Windows 10 VDI Optimize - VectorBCO - windows-path-enumerate - W4H4WK - Debloat Windows 10 - Whonix - Disable TCP Timestamps
Jak uruchomić skrypt:
GUI - Guided Install:
Pobierz najnowszą wersję here wybierz żądane opcje i naciśnij execute.
.
Automatyzacja instalacji:
Użyj tego one-linera, aby automatycznie pobrać, rozpakować wszystkie pliki pomocnicze i uruchomić najnowszą wersję skryptu.
iwr -useb 'https://simeononsecurity.com/scripts/windowsoptimizeandharden.ps1'|iex
.
Manual Install:
W przypadku ręcznego pobrania, skrypt należy uruchomić z administracyjnego powershella w katalogu zawierającym wszystkie pliki z GitHub Repository
Skrypt “sos-optimize-windows.ps1” zawiera kilka parametrów, które pozwalają na dostosowanie procesu optymalizacji. Każdy parametr jest wartością logiczną, która domyślnie przyjmuje wartość true, jeśli nie jest określona.
- cleargpos: Czyści ustawienia Group Policy Objects.
- installupdates: Instaluje aktualizacje do systemu.
- adobe: Implementuje STIGs Adobe Acrobat Reader.
- firefox: Implementuje STIG FireFox.
- chrome: Implementuje STIG Google Chrome.
- IE11: Implementuje STIG Internet Explorer 11.
- edge: Implementuje STIG Microsoft Chromium Edge.
- dotnet: Implementuje STIG Dot Net 4.
- office: Implementuje STIGs związane z Microsoft Office.
- onedrive: Implementuje STIGs związane z Onedrive.
- java: Implementuje STIG Oracle Java JRE 8.
- windows: Implementuje STIGs Windows Desktop.
- defender: Implementuje STIG Windows Defender.
- firewall: Implementuje STIG Windows Firewall.
- mitigacje: Implementuje ogólne najlepsze praktyki łagodzące.
- defenderhardening: Implementuje i wzmacnia Windows Defender poza wymaganiami STIG.
- pshardening: Implementuje PowerShell Hardening i Logging.
- sslhardening: Implementuje SSL Hardening.
- smbhardening: Wzmacnia ustawienia klienta i serwera SMB.
- applockerhardening: Instaluje i konfiguruje Applocker (w trybie Audit Only).
- bitlockerhardening: Hartuje implementację Bitlockera.
- removebloatware: Usuwa z systemu niepotrzebne programy i funkcje.
- disabletelemetry: Wyłącza zbieranie danych i telemetrię.
- privacy: Wprowadza zmiany mające na celu poprawę prywatności.
- imagecleanup: Czyści niepotrzebne pliki z systemu.
- nessusPID: Rozwiązuje niecytowane ciągi systemowe w ścieżce.
- sysmon: Instaluje i konfiguruje sysmon, aby poprawić możliwości audytu.
- diskcompression: Kompresuje dysk systemowy.
- emet: Implementuje wymagania STIG i utwardzenie dla EMET na systemach Windows 7.
- updatemanagement: Zmienia sposób zarządzania i poprawiania aktualizacji w systemie.
- deviceguard: Włącza Hardening Device Guard.
- sosbrowsers: Optymalizuje systemowe przeglądarki internetowe.
Przykładem uruchomienia skryptu z określonymi parametrami będzie:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
Get-ChildItem -Recurse *.ps1 | Unblock-File
powershell.exe -ExecutionPolicy ByPass -File .\sos-optimize-windows.ps1 -cleargpos:$false -installupdates:$false