Download all the required files from the GitHub Repository
Note: This script should work for most, if not all, systems without issue. While @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. Do not run this script if you don't understand what it does. It is your responsibility to review and test the script before running it.
Windows Server 2012, 2016, and 2019 are insecure operating systems out of the box and requires many changes to insure FISMA compliance. Microsoft, Cyber.mil, the Department of Defense, and the National Security Agency have recommended and required configuration changes to lockdown, harden, and secure the operating system and ensure government compliance. These changes cover a wide range of mitigations including blocking telemetry, macros, removing bloatware, and preventing many physical attacks on a system.
Standalone systems are some of the most difficult and annoying systems to secure. When not automated, they require manual changes of each STIG/SRG. Totalling over 1000 configuration changes on a typical deployment and an average of 5 minutes per change equaling 3.5 days worth of work. This script aims to speed up that process significantly.
- This script is designed for operation in Enterprise environments and assumes you have hardware support for all the requirements.
- This script is not designed to bring a system to 100% compliance, rather it should be used as a stepping stone to complete most, if not all, the configuration changes that can be scripted.
- Minus system documentation, this collection should bring you up to about 95% compliance on all the STIGS/SRGs applied.
- Standards for a highly secure windows device.
- Bitlocker must be suspended or turned off prior to implementing this script, it can be enabled again after rebooting.
- Follow-up runs of this script can be run without disabling bitlocker.
- Hardware Requirements
- System Guard Secure Launch
- System Guard Root of Trust
- Hardware-based Isolation
- Memory integrity
- Windows Defender Application Guard
- Windows Defender Credential Guard
- 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
- Internet Explorer 11 V1R19
- Microsoft .Net Framework 4 V1R9
- Windows Defender Antivirus V2R2
- Windows Firewall V1R7
- Windows Server 2012(R2) V3R2
- Windows Server 2016 V2R2
- Windows Server 2019 V2R2
If manually downloaded, the script must be launched from the directory containing all the files from the GitHub Repository
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
Get-ChildItem -Recurse *.ps1 | Unblock-File
.\sos-secure-standalone-server.ps1
The script may be launched from the extracted GitHub download like this:
iex ((New-Object System.Net.WebClient).DownloadString('https://simeononsecurity.ch/scripts/standalonewindowsserver.ps1'))
- Import the ADMX Policy definitions from this repo into C:\windows\PolicyDefinitions on the system you're trying to modify.
- Open
gpedit.msc
on on the system you're trying to modify.