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:

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:

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órzgpedit.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