Forum Discussion
Hardening Windows 10 on an IT Pro's laptop
Hi
I have just bought a new Windows 10 Pro laptop for work as a freelance IT Consultant and I figured this would be good time adopt some of the latest best practices, pertinent to securing my machine. Given, this machine is also for personal use, so I am looking to balance convenience against security and privacy in the event of loss or theft.
I have found some extensive posts on the subject including the one shown below:
https://www.infoworld.com/article/3121994/security/lockdown-harden-windows-10-for-maximum-security.html
I would however, like to hear any comments anyone has: from bitlocker and beyond....
- AnonymousApr 13, 2018
a clean install of Windows 10 is pretty good, that said, I do have the following advice:
- It is important to properly configure User Account Control on all machines; out of the box it is very insecure meaning anything can bypass it to grab admin privileges.
- It is important to make sure that Secure Boot is enabled on all machines.
- BitLocker is an obvious one, enable it on all machines.
- You may want to use Windows Defender Firewall to block all inbound connections on the private and public profiles, its very effective for protecting devices in public places and usually has no negative impact but should be assessed per requirements.
- You should deploy the uBlock Origin browser extension to all browsers, it blocks a significant amount of malware and greatly reduces the bandwidth used by your org; for the record, Chrome and Edge are much more secure than other browsers.
- Also remember to properly patch, if Windows, Defender, or Browser are out of date then you WILL be targeted.
Following the above will significantly benefit you and your users and can be done by anybody without any extra cost; I hope that's useful for you
Edit: oh, and if you're ever able to: I recommend you look into Windows 10 S (soon to be called Windows Pro in S Mode)
yes, it gets a lot of stick for restricting you to Edge and Store apps but that thing is rock solid; even if you never ever use it, it's the best example of Device Guard Code Integrity in action and how powerful it can be when properly configured
Edit: from 1803 Hypervisor enforced Code Integrity (HVCI) will be enabled by default via clean install, you can enable it on previous versions by following these instructions: https://docs.microsoft.com/en-gb/windows/security/threat-protection/enable-virtualization-based-protection-of-code-integrity
HVCI is a feature that helps defend against kernel level malware; I initially didn't mention it because I'm not sure what the real world benefits are and I'm aware that it can cause instability and performance problems, however since Microsoft seems to be pushing for its implementation I felt it was worth adding. (I imagine they may also do the same for DMA Protection in the future)
32 Replies
- I searched through this page and nobody mentioned these so i'm gonna do that now. make sure you turn on these features,
in Windows Defender: Memory Integrity and Core Isolation
in Windows settings: DEP for ALL programs instead of only for Windows services.- Anonymous
core isolation/memory integrity is the HVCI feature i mentioned a while back, though like all things Microsoft there's a lack of consistency and even the link i gave is now broken haha
it can be enabled regardless of third party AV and its actually enabled by default on new/compatible devices so i see no reason to discourage it's usage, it may break some older drivers but only because they are doing things they shouldn't be, potentially worth noting that the feature has also been bypassed so its usefulness is questionable
the DEP setting mentioned is outdated, despite the wording apps do run with DEP enabled by default
one thing to note about third party AV is that most lack support for vital features like AMSI and ELAM which defender has enabled by default, you should check with your AV provider to see if these are implemented and encourage them to do so if they havent
main thing i've not mentioned that i do suggest looking into is "Attack Surface Reduction rules", ASR rules are part of windows defender but they are off by default, they are a collection of features blocking the most common behaviours seen in the wild, they will genuinely save you from spear & phishing attacks that wont be picked up by any AVs for about a week after its too late, they also seem to add a new one with each release of windows 10
you can learn about them here: https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard
to enable the current ones without the hassle of figuring it out i refer to the powershell in my comment here: https://techcommunity.microsoft.com/t5/Windows-10-security/Harden-Windows-10/m-p/4756861. press ctrl+F in this page and type in core isolation. no one else mentioned it before.
2. source for saying DEP is outdated?
3. that other thread you mentioned looks suspicious. created by "deleted" user name profile?
4. i don't know which AVs you've used before but something better than Windows Defender is Kaspersky AV (Internet Security or End point security which is equivalent to the Windows Defender ATP). Kaspersky has Online connection to their threat center. you say week? for them it takes only minutes to few hours to pass over the new malware's database to the other users. Kaspersky was the First and only company that found Stuxnet and blocked it, the world's Most advanced malware ever created by co-operation of U.S and Israel. then other AV companies copy Kaspersky's database and use it on their own system. Kaspersky even got them red handed by intentionally putting a false alarm in their database and then watched a lot of AVs giving the same false alarm. lol don't believe the news saying that Kaspersky is run by Russian government and it will steal your data, it's total BS and propaganda.
5. Microsoft constantly changes things and technet guides because Windows is constantly changing and getting better. it's the duty of system admins to stay up to date.
- Daniel WesterdaleIron Contributor
HotCakeX So glad my original question/post is hanging around 😃. I have a different AV so can I configure the changes you mention in addition to what I have or do I need to have Defender as my only AV?
- I don't know which AV you're using, it may or may not work alongside Windows Defender.
- Anonymoussome new and useful resources here:
https://techcommunity.microsoft.com/t5/Windows-10-security/Hardening-Windows-10/m-p/475686 - Chris JacksonFormer Employee
If you want to go for more than just "kind of secure, unless it's inconvenient" consider leveraging Client Hyper-V to use a hypervisor boundary to protect your sensitive config from your productivity / riskier usage.
We talk about Privileged Access Workstations here: http://aka.ms/cyberpaw - Jian Yan has been working on this model and talk about an updated architecture here: https://blogs.technet.microsoft.com/datacentersecurity/2017/10/13/privileged-access-workstationpaw/
We also document our security baselines here: https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-security-baselines
- Daniel WesterdaleIron Contributor
Yep, I think that' son Deleted security todo list which I am slowly going through , starting with Bitlocker. One thing I did was turn was allowing complex passwords prior to enabling Bitlocker. Oddly I didn't get much feedback regarding Drive C whereas Drive D I got the full progress dialog. Seems to be working well and will test hibernation recovery at some stage.
As for your suggestion, Are there any downsides to this as I want to work seamlessly with PowerShell, Azure, REST calls etc
- Anonymous
When encrypting the C drive it'll ask you to reboot, and the process will start after you next log in. Other drives will start encrypting immediately, that might explain the missing progress dialog.
Chris' suggestion is not something I've mentioned. I've had successful implementation of that sort of model as the level of role, domain, or infrastructure segregation, but as a single user on a single machine it would essentially mean trying to keep all your more "dodgy stuff" to one VM whilst your "sensitive stuff" is in other VMs, potentially a VM for each contract/client/environment. I feel like the concept is aspirational but in reality creates a lot of management overhead, interrupts workflow, and leads to a false sense of security.
That said, I'm glad to see your input Chris and ultimately I may be misunderstanding; I'd love to learn more
- Anonymous
a clean install of Windows 10 is pretty good, that said, I do have the following advice:
- It is important to properly configure User Account Control on all machines; out of the box it is very insecure meaning anything can bypass it to grab admin privileges.
- It is important to make sure that Secure Boot is enabled on all machines.
- BitLocker is an obvious one, enable it on all machines.
- You may want to use Windows Defender Firewall to block all inbound connections on the private and public profiles, its very effective for protecting devices in public places and usually has no negative impact but should be assessed per requirements.
- You should deploy the uBlock Origin browser extension to all browsers, it blocks a significant amount of malware and greatly reduces the bandwidth used by your org; for the record, Chrome and Edge are much more secure than other browsers.
- Also remember to properly patch, if Windows, Defender, or Browser are out of date then you WILL be targeted.
Following the above will significantly benefit you and your users and can be done by anybody without any extra cost; I hope that's useful for you
Edit: oh, and if you're ever able to: I recommend you look into Windows 10 S (soon to be called Windows Pro in S Mode)
yes, it gets a lot of stick for restricting you to Edge and Store apps but that thing is rock solid; even if you never ever use it, it's the best example of Device Guard Code Integrity in action and how powerful it can be when properly configured
Edit: from 1803 Hypervisor enforced Code Integrity (HVCI) will be enabled by default via clean install, you can enable it on previous versions by following these instructions: https://docs.microsoft.com/en-gb/windows/security/threat-protection/enable-virtualization-based-protection-of-code-integrity
HVCI is a feature that helps defend against kernel level malware; I initially didn't mention it because I'm not sure what the real world benefits are and I'm aware that it can cause instability and performance problems, however since Microsoft seems to be pushing for its implementation I felt it was worth adding. (I imagine they may also do the same for DMA Protection in the future)- Anonymous
For reference, here is how User Account Control should be configured if using Local Security Policy
Be aware that if you need to elevate unsigned executables you will have set "Only elevate executables that are signed and validated" to "Disabled", otherwise you will receive the "A referral was returned from the server." error when trying to run unsigned executables
- paper.lanternCopper Contributor
Hardening of your machine should rely on the Least Privilege principle. Use a non admin account for daily use. Disabling un-used programs, services and firewall rules. Minimizing your attack surface and turning off un-used network facing Windows features.
While I applaud MS for improving protection on kernel things, attackers do not have to necessarily touch the kernel to do damage. I have seen damages to Windows Defender and Windows Edge, just as an example. And their improvements rest on having new hardware, which leaves countless older platforms unprotected. Also their new innovations also relies on Windows Server Active Directory, which no home user has.
And sometimes, even when MS has been notified of working exploits, they fail to make changes to their code. Like Google Project Zero's findings on exploitable WPAD ( Auto Proxy Detection ) and javascript bugs.
These MS techs only know to expound on their latest innovations. They are not incident responders. And they do not know how to harden Windows.
- Daniel WesterdaleIron Contributor
Hi
Thanks very much for your feed back - you are very well informed. You have also stuck the balance I was looking for, between security and convenience.
I have just got my laptop from the supplier so other than Office 2016 via The Office 365 Portal it is a clean build. I have a list of tools, utilities, PowerShell modules I want to install but I will hold off until the machine is hardened.
I will look at the Windows Defender Firewall and see how it compares with the Firewall that comes with my current AV ( who were recently in the news for the wrong reasons ;-) ).
Bitlocker - think I won't bother with my boot up (C:) just my data drive so my code (repos) , OneDrives etc unless you think I should do all drives (note will need to verify TPM status with PowerShell beforehand)
I also thought of some anti-theft protection such as https://www.preyproject.com/
In addition, picking a decent VPN when I am working away, such as Express VPN
- Anonymous
nearly all AV firewalls layer on top of the windows filtering engine anyway, it usually doesn't make a difference which you use, I suggest that you use which ever you find most convenient to manage
I highly recommend BitLocker on all drives, Windows will not only accumulate a significant amount of data over time that can be used to identify and break into your devices/drives/accounts, but it also caches file data locally, even if it is stored on encrypted drives; to be absolutely clear: data stored on any drive will leak onto the C: drive
Also, before you enable BitLocker I recommend that you configure the "Require additional authentication at startup" local group policy setting first:- set the policy to "Enabled"
- if your device doesn't have a TPM, tick the "Allow BitLocker without a compatible TPM" checkbox; this enables you to set up BitLocker with a password, preventing the "missing TPM" error
- if your device has a TPM, set the second drop down box to "Require startup PIN with TPM" and set the other three to "Do not allow"; this enables you to set up Bitlocker with a PIN, preventing the insecure "automatic unlock" aka "TPM only" configuration